Toward a Dynamic Language Toolkit
summary
A work-in-progress runtime called Zag implemented in Zig targets modern multi-core machines and aims to host Smalltalk and other dynamic languages. It packs 51-bit smallints in 64-bit immediates plus booleans, nil and some closures, uses per-core per-thread copying collectors with private nurseries plus a global non-moving mark-sweep for shared roots, and a single-level near-perfect-hash method table to enable aggressive inlining. Threaded execution via tail-call-based continuations runs the Fibonacci microbenchmark about 4× slower than compiled code; bytecode is ~7× slower.
AI-written summary · about
