Hacker News new | ask | show | jobs
by hinkley 2803 days ago
IBM did a JVM (J9?) that used stack checkpointing and interrupts for some of its GC tasks. GC pauses were nearly instantaneous instead of instantaneous, because all threads have to run to a safe point before the mark phase happens.

Various real time systems have used amortization strategies to spread out GC overhead (eg, each memory allocation will GC up to 10 objects).

There are options available.

1 comments

That's sort of orthogonal to what I'm talking about. The issue is that wasm doesn't yet give you the tools to implement those techniques (namely the ability to do brain surgery on a running stack).
My point is that there are other things you can do that don't involve modifying the stack (or at least, except via inlined code).
I just don't understand how you implement stack checkpointing without access to the stack.