Baby's Second Garbage Collector

3 days ago (matheusmoreira.com)

TL;DR: Conservative collector. Not where I would have taken things, but valid.

Re forcing a register spill: assuming the GC is invoked via an ABI-compliant function call, you don’t actually need to save all the scalar registers manually, only the callee-save ones (as setjmp does). Alternatively, you can make the compiler do the spilling by inserting a function preserving no registers into the call chain—this is spelled __attribute__((preserve_none)) in sufficiently new Clang or GCC, but you can also accomplish this kind of thing on Watcom with #pragma aux, for example.

I wanted to read this but I couldn’t because of all the allusions in the article that distracted me from the points the author was trying to make.

  • On mobile all the text is about 3 times bigger than it needs to be as well making for an obnoxious amount of scrolling. Unreadable code examples.

    • Thanks for the feedback. That's due to a viewport configuration meta tag which I added recently in an attempt to make it more responsive in portrait mode. I reverted it. Should work just like on desktop now.