Elektrine lite

← Feed

@joe@f.duriansoftware.com

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?

    Open ##2497433

  • @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.

    Open ##2578189