Service interruption on Monday 11 July from 12:30 to 13:00: all the sites of the CCSD (HAL, EpiSciences, SciencesConf, AureHAL) will be inaccessible (network hardware connection).
Skip to Main content Skip to Navigation
Journal articles

Practical Validation of Bytecode to Bytecode JIT Compiler Dynamic Deoptimization

Clément Bera 1 Eliot Miranda 2 Marcus Denker 1 Stéphane Ducasse 1 
1 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
Inria Lille - Nord Europe, CRIStAL - Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189
Abstract : Speculative inlining in just-in-time compilers enables many performance optimizations. However, it also introduces significant complexity. The compiler optimizations themselves, as well as the deoptimization mechanism are complex and error prone. To stabilize our bytecode to bytecode just-in-time compiler, we designed a new approach to validate the correctness of dynamic deoptimization. The approach consists of the symbolic execution of an optimized and an unop-timized bytecode compiled method side by side, deoptimizing the abstract stack at each deoptimization point (where dynamic deoptimization is possible) and comparing the deoptimized and unoptimized abstract stack to detect bugs. The implementation of our approach generated tests for several hundred thousands of methods, which are now available to be run automatically after each commit.
Document type :
Journal articles
Complete list of metadata

Cited literature [33 references]  Display  Hide  Download
Contributor : Lse Lse Connect in order to contact the contributor
Submitted on : Thursday, April 7, 2016 - 3:35:59 PM
Last modification on : Wednesday, March 23, 2022 - 3:51:21 PM
Long-term archiving on: : Monday, November 14, 2016 - 9:09:57 PM


Publisher files allowed on an open archive



Clément Bera, Eliot Miranda, Marcus Denker, Stéphane Ducasse. Practical Validation of Bytecode to Bytecode JIT Compiler Dynamic Deoptimization. The Journal of Object Technology, Chair of Software Engineering, 2016, 15 (2), pp.1:1-26. ⟨10.5381/jot.2016.15.2.a1⟩. ⟨hal-01299371⟩



Record views


Files downloads