Deoptless: speculation with dispatched on-stack replacement and specialized continuations
Olivier Flückiger, Jan Jecmen, Sebastián Krynski, Jan Vitek
Abstract
Just-in-time compilation provides significant performance improvements for programs written in dynamic languages. These benefits come from the ability of the compiler to speculate about likely cases and generate optimized code for these. Unavoidably, speculations sometimes fail and the optimizations must be reverted. In some pathological cases, this can leave the program stuck with suboptimal code. In this paper we propose deoptless, a technique that replaces deoptimization points with dispatched specialized continuations. The goal of deoptless is to take a step towards providing users with a more transparent performance model in which mysterious slowdowns are less frequent and grave.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 9cfbad4a-9104-41e1-803b-2d8678ab15ceCited by top-tier papers1
Ask how each one uses itBuilds on2
Related papers
- Understanding and Finding JIT Compiler Performance BugsZijian Yi, Cheng Ding, August Shi, Milos GligoricOOPSLA 2026
- Zero-Value Code Specialization via Profile-Guided Control Data Flow AnalysisShaokang Du, Kelun Lei, Xin You, Hailong Yang et al.SC 2025 · 1 citation
- BinRec: dynamic binary lifting and recompilationAnil Altinay, Joseph Nash, Taddeus Kroes, Prabhu Rajasekaran et al.EuroSys 2020 · 51 citations
- Deegen: A JIT-Capable VM Generator for Dynamic LanguagesHaoran Xu, Fredrik KjolstadOOPSLA 2026 · 2 citations
- Stochastic Lazy Knowledge Compilation for Inference in Discrete Probabilistic ProgramsMaddy Bowers, Alexander K. Lew, Joshua B. Tenenbaum, Armando Solar-Lezama et al.PLDI 2025 · 2 citations
