> Ruby code I wrote 10ish years ago is still going strong, for example a whole compiler <https://github.com/WebKit/WebKit/tree/main/Source/JavaScript...>
Neat. How is offlineasm used? (Without going into the details about the background of LLInt, that is—what I mean is, how is the compiler invoked?) Is it just the reference compiler, corresponding to some other machinery inside JSC?
That’s how the interpreter in JavaScriptCore gets compiled. The interpreter is written in a macro assembly dialect I invented and this is the compiler for it.
(I say compiled, not assembled, because it’s higher level than normal assembly. There’s an actual pipeline of transformations that happens. Plus a Turing complete macro language)