Keynote: YJIT's Three Languages: the Fun of Code that Writes Code
summary
YJIT is a JIT integrated into C Ruby that compiles hot methods to native code after a 30-call threshold, using basic block versioning and a context/intermediate representation to record types and emit fast, guarded machine code with side exits back to the interpreter. Parts of the compiler are written in Rust, it switches synchronously between compile and run (no background thread), and it improves long‑running app speed, supports x86 and ARM, and reduces memory use.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 2:26Why this talk
- 3:27What YJIT is
- 7:24Basic Block Versioning
- 9:30Multiple representations
- 10:54Ruby bytecode role
- 15:48Context structure IR
- 20:40YJIT in action
- 30:54Weaving languages
- 33:24Complex systems explained
- 34:27YJIT state and future
related talks
30mYJIT - Building a new JIT Compiler inside CRuby
49mKeynote: Simple goal. Hard to accomplish
20mEvaluating YJIT’s Performance in a Production Context: A Pragmatic Approach
20mBYOJ: Build your own JIT with Ruby
27mThe design and implementation of ZJIT & the next five years
17mYJIT: A Basic Block Versioning JIT Compiler
36mSome Assembly Required
49mKeynote: Simple goal. Hard to accomplish
