Post #2497434
2026-05-13 18:03 UTC
@zwarich@hachyderm.io one thought i've had is to see how far you could push the "procedures know their transitive frame size" idea. then you could pre-allocate a slab for your network of closures/coroutines/whatever
you can coax arithmetic out of existing linker relocations for cross-object call graphs, so i think the main limitations in doing this would be indirect calls and recursion. the former, maybe the caller provides a slab with the function pointer. the latter, maybe you just require a max depth?
Replies (2)
-
@fanf@mendeddrum.org 2026-05-13 22:41
@joe@f.duriansoftware.com @zwarich@hachyderm.io aren’t rust async / c++ coroutines based on knowing transitive frame sizes?
-
@zwarich@hachyderm.io 2026-05-13 18:11
@joe@f.duriansoftware.com If I'm remembering correctly, I think Zig's old stackless coroutine implementation appeared used something similar to this, backed by a whole-program analysis.