Truffle
summary
Truffle implements language interpreters as Java ASTs that self‑specialize and undergo partial evaluation to produce compact, primitive‑typed Java IR which is handed to the JVM compiler (Graal/C2) for native code. Nodes rewrite themselves into fast cases (double, int, string, generic), inline caches evolve in the AST, and hot call sites trigger interpreter‑level duplication and inlining so helpers specialize per site. Prototype JavaScript and other languages are already implemented and the framework claims near‑C performance without manual bytecode generators.
AI-written summary · about
chapters (5)
related talks
53mUnveiling the Mysteries of GraalVM's Least Understood Component
01h 00mHow to create a new JVM language
59mSupercompilation, Partial Evaluation, Futamura Projections and How GraalVM Will Save the World
29mAutomatically Generated Supernodes for AST Interpreters Improve Virtual-machine P...
17mAST vs. Bytecode: Interpreters in the Age of Meta-Compilation
31mSimplifying and Optimizing Life on the Edge with Graal
37mGraalVM for Polyglots: Harder, Better, Faster, Stronger?
50mOne VM to Rule Them All
