Deegen: A JIT-Capable VM Generator for Dynamic Languages

Haoran Xu introduces Deegen, a meta-compiler that simplifies the creation of high-performance JIT-capable VMs for dynamic languages, minimizing the time, cost, and expertise typically required. Deegen automatically generates a two-tier VM execution engine with an interpreter and baseline JIT, showcasing optimizations such as bytecode specialization, register pinning, and JIT hot-cold code splitting. Through implementing LuaJIT Remake (LJR), the results demonstrate impressive performance improvements compared to traditional Lua interpreters, surpassing LuaJIT in some cases. Deegen’s ability to rival expertly hand-written code in state-of-the-art VMs sets it apart as a groundbreaking tool for language implementers.

https://arxiv.org/abs/2411.11469

To top