~/talk

Invited Talk: A decade of Self-Optimizing Interpreters in GraalVM

Talkat DLS 2022 · on Wednesday, 2022-12-07· [java]
links:none on file
slides:none on file

A decade of work shows interpreters written as self‑optimizing ASTs plus partial evaluation into a Java JIT (Graal) produce real compiler performance; the Truffle framework and an annotation DSL generate specializations and even bytecode interpreters automatically. Key claims: zero-overhead assumption checks let compiled code deopt back to the interpreter, and cross-language calls inline so there is no boxing across languages. Implementations (Sulong for LLVM bitcode, Espresso for Java bytecode, WebAssembly) run in production (Oracle DB, NetSuite) and ongoing work targets snapshotting, sandboxing, and hardware-backed isolation.

AI-written summary · about

  1. 0:00Start
  2. 0:53AST interpreter node specialization
  3. 2:09Dynamic speculation and deoptimization
  4. 4:10Core primitives for the interpreter
  5. 7:46Going polyglot
  6. 8:51Composing languages
  7. 12:46Composing tools
  8. 13:58Asynchronous breakpoint installation
  9. 15:14Language-independent IDE support
  10. 15:59Polyglot live programming
  11. 17:33Static programming languages
  12. 19:13LLVM bytecode interpreter
  13. 21:34From research to production
  14. 25:19Regular expressions
  15. 29:30Operation DSL - what you write
  16. 31:17Towards a secure polyglot sandbox
  17. 33:26Summary
~/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.