Practical Validation of Bytecode to Bytecode JIT Compiler Dynamic Deoptimization - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Article Dans Une Revue The Journal of Object Technology Année : 2016

Practical Validation of Bytecode to Bytecode JIT Compiler Dynamic Deoptimization

Résumé

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.
Fichier principal
Vignette du fichier
JOTPracticalValidation.pdf (1.51 Mo) Télécharger le fichier
Origine : Fichiers éditeurs autorisés sur une archive ouverte
Loading...

Dates et versions

hal-01299371 , version 1 (07-04-2016)

Identifiants

Citer

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, 2016, 15 (2), pp.1:1-26. ⟨10.5381/jot.2016.15.2.a1⟩. ⟨hal-01299371⟩
391 Consultations
381 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More