Amalgamating Different JIT Compilations in a Meta-tracing JIT Compiler Framework
summary
Prototype BacCaml is an RPython-like meta-tracing framework reimplemented in MinCaml and OCaml that implements Method JIT by Tracing and a runtime called Stack Hybridization which tags user-stack frames with HS/US to solve return-address mismatch between trace- and method-compiled code. BacCaml produces native code up to 19× faster than the interpreter and is roughly 3× slower than a native compiler on average. Hybrid JIT runs composed benchmarks (sum‑fib, sum‑tak, etc.) up to ~20× faster than tracing JIT and modestly faster than method JIT (ratios reported 1.01–2.18×); strategy selection is manual and in need of automation.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 0:18Hybrid Compilation
- 2:09Idea
- 3:03Customization
- 4:57Stock Hybridization
- 5:51Stock Styles
- 7:18Stack Hybridization
- 9:52Prototype
- 11:02Evaluation
- 11:57Results
- 13:29Summary
related talks
40mJoy of Meta-Tracing Just-in-Time Compilation: More Than Just a VM Generator
30mOn Automating Hybrid Execution of Ahead-of-Time and Just-in-Time Compiled Code
24mFormally Verified Native Code Generation in an Effectful JIT: Turning the CompCe...
39mJIT Compiler for Erlang OTP
25mHybrid Execution: Combining Ahead-of-Time and Just-in-Time Compilation
25mCo-operative JIT Compilation for Resource-Constrained Low-Power Coprocessors
26mAn Analysis of Compiled Code Reusability in Dynamic Compilation
19mReusing Just-in-Time Compiled Code
