Deoptless: Speculation with Dispatched On-Stack Replacement and Specialized Continuations
Olivier Fl\"uckiger (1), Jan Je\v{c}men (2), Sebasti\'an Krynski (2),, Jan Vitek (1, 2) ((1) Northeastern University, (2) Czech Technical, University)

TL;DR
Deoptless introduces a technique to replace deoptimization points with specialized continuations, aiming to improve performance transparency and reduce unpredictable slowdowns in JIT-compiled dynamic language programs.
Contribution
The paper presents deoptless, a novel method that replaces deoptimization with dispatched continuations, enhancing performance predictability in JIT compilation.
Findings
Reduces frequency of unpredictable slowdowns
Improves transparency of performance models
Potentially maintains optimized code without deoptimization
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
