~/talk

Joy of Meta-Tracing Just-in-Time Compilation: More Than Just a VM Generator

Talkat MPLR 2025 · on Tuesday, 2025-10-14· [compilers-and-language-design]
links:none on file
slides:none on file

Meta‑tracing JIT frameworks like RPython and Graal/Truffle generate not just VM compilers but alternate VM behaviors by changing interpreter semantics: the talk shows concrete recipes for method compilation, threaded code generation, inline caching and multi‑tier JIT switching via user‑level profiling. A two‑level Smalltalk subset (base ~16k LOC) is implemented; startup improves ~15% and peak slows only ~5%. For staged code, converting stages to lambda closures lets tracing eliminate indirect calls, matching or beating MetaOCaml (20× speed of naive staging) while avoiding an ~80 ms offline compile step.

AI-written summary · about

  1. 0:00Introduction
  2. 1:05Partial evaluation to meta-tracing JIT
  3. 5:48Meta-JIT frameworks
  4. 8:39RPython’s meta-tracing JIT
  5. 13:28Beyond compilation with meta-tracing
  6. 17:47Method compilation tweaks
  7. 18:50Threaded code generation
  8. 19:55Inline caching optimization
  9. 23:28Multi-tier compilation in RPython
  10. 26:20Smalltalk-like VM with RPython
  11. 28:54Meta-tracing as VM engine
  12. 29:35Meta-tracing for multi-stage programming
  13. 33:32Lambda closures and dynamic JIT
  14. 34:13Summary and future
  15. 35:36Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.