Meta-compilers, JITs & virtual machines
Deegen: A JIT-Capable VM Generator
A meta-compiler that takes a dynamic language's bytecode semantics, written as C++ functions, and generates a high-performance interpreter and a Copy-and-Patch baseline JIT.
The problem
Building a fast virtual machine for a dynamic language means writing an interpreter and one or more JIT tiers by hand, and repeating that effort for every language.
The idea
Specify only the bytecode semantics; let a meta-compiler generate the interpreter and a Copy-and-Patch baseline JIT automatically, producing a competitive two-tier execution engine.
How it fits the group's work
Deegen is the group’s most complete example of a compiler-generating compiler. Where TACO generates kernels for one domain (tensor algebra), Deegen generates an entire execution engine — interpreter plus JIT — from a semantic description. It builds directly on Copy-and-Patch for its fast baseline tier and is validated by reconstructing a competitive Lua virtual machine.