Deoptless: Speculation with Dispatched On-Stack Replacement and Specialized Continuations
summary
Deoptless claims to avoid costly deoptimizations by compiling specialized continuations at OSR points and using context dispatch to pick among them, so execution never falls back to the interpreter. Prototype implements OSR-out, OSR-in and dispatch in a JIT for R (about 300 lines of code, uses LLVM codegen), evaluates on real and synthetic suites including a stress test that injects failures 1 in 10,000, and shows up to 1–10x faster recovery from mis-speculation while keeping steady-state performance.
AI-written summary · about
chapters (4)
related talks
15mLightweight On-Stack Replacement in Languages with Unstructured Loops
14mOn-Stack Replacement for Program Generators and Source-to-Source Compilers
16mContextual Dispatch for Function Specialization
23mFormally Verified Speculation and Deoptimization in a JIT Compiler
50mA new general dispatch mechanism to speed up various slow Raku constructs
01h 21mNon-local compiler transformations in the presence of dynamic dispatch
29mPredicate Dispatch
21mVirtualizing Continuations
