Settings

Theme

Deegen: A JIT-Capable VM Generator for Dynamic Languages [pdf]

fredrikbk.com

4 points by gjvc 2 days ago · 2 comments

Reader

Rochus a day ago

There was a version in 2024 on Arxiv. As it seems, it took 1.5 more years to officially publish it. The following seems to have changed since:

- The 2024 version only evaluated Deegen using one language: Lua 5.1 (via LuaJIT Remake). The 2026 version adds a complete implementation and evaluation of a second dynamic language: SOM (Simple Object Machine), which they call DSOM.

- Because of the new language, the 2026 paper features a massive new Section 7 ("Evaluation: A SOM VM"). The authors benchmarked DSOM against five established SOM VMs (SOM++, TruffleSOM AST/BC, PySOM AST/BC, and 2SOM). It introduces complex comparisons of JIT warmup times, peak throughput, and compilation costs.

- The 2026 version heavily expands Section 2 ("The Deegen Approach") to specifically contrast Deegen's "build-time meta-compilation" against Oracle's Truffle and PyPy's RPython frameworks (which rely on runtime partial evaluation/meta-tracing).

- The technical appendices present in the 2024 preprint (Appendix A API reference, Appendix B Life of Add Bytecode) were entirely removed.

Deegen apparently is Haoran Xu's PhD thesis project at Stanford to scale the "Copy-and-Patch" technique into an entire automated meta-compiler framework. The last commit on https://github.com/luajit-remake/luajit-remake was a year ago though. The DSOM repository seems to be here: https://github.com/sillycross/dsom, but the last commit was a year ago as well.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection