Get the latest tech news
Safepoints and Fil-C
g is an underappreciated aspect of modern multithreaded VM/GC tech. It forms the foundation of Fil-C's accurate stack scanning, safe signal handling, and safe forking.
Safepointing is the reason why multiple threads can race on the heap in Fil-C using non-atomic unordered instructions, under any widely used hardware memory model, without breaking the soundness guarantees of the garbage collector. The compiler stack-allocates such a frame, with enough room in lowers to track the high watermark of how many GC pointers are live at any time at any pollcheck. FUGC achieves this using soft handshakes that request that threads reset their local caches (give all of the memory back to the global heap).
Or read this on Hacker News