A Pragmatic Approach to Replay Compilation
The result's identifiers
Result code in IS VaVaI
<a href="https://www.isvavai.cz/riv?ss=detail&h=RIV%2F00216208%3A11320%2F25%3A10503596" target="_blank" >RIV/00216208:11320/25:10503596 - isvavai.cz</a>
Result on the web
<a href="https://doi.org/10.4230/OASIcs.Programming.2025.3" target="_blank" >https://doi.org/10.4230/OASIcs.Programming.2025.3</a>
DOI - Digital Object Identifier
<a href="http://dx.doi.org/10.4230/OASIcs.Programming.2025.3" target="_blank" >10.4230/OASIcs.Programming.2025.3</a>
Alternative languages
Result language
angličtina
Original language name
A Pragmatic Approach to Replay Compilation
Original language description
Dynamic compilers generate code based on the information provided by the virtual machine (VM) running the corresponding application. Due to the environment's non-deterministic nature, every compilation result is typically unique. This is a problem when reproducibility is desired, such as when debugging a crash of the JIT compiler or diagnosing performance problems. As a solution, we present a pragmatic approach to replay compilation that is suitable for integration in a production-grade VM. Our approach is based on instrumenting the VM's compiler interface, allowing us to record the compiler's queries and their results to the VM. We serialize them and use them to replicate the compiler's query results in a replayed compilation. Assuming the compiler is deterministic, this approach systematically ensures that the replayed compilation result is equivalent to the recorded one. The dynamic compiler is invoked directly without the need to execute the original application. A compiler developer can replay a compilation with additional diagnostic options or evaluate metrics such as compilation speed. We developed a working prototype for GraalVM, showing that replay compilation can be implemented without requiring extensive compiler or VM changes. We are working with the GraalVM developers to integrate it into the open-source compiler to unlock these benefits and new use cases for the community.
Czech name
—
Czech description
—
Classification
Type
D - Article in proceedings
CEP classification
—
OECD FORD branch
10201 - Computer sciences, information science, bioinformathics (hardware development to be 2.2, social aspect to be 5.8)
Result continuities
Project
—
Continuities
S - Specificky vyzkum na vysokych skolach
Others
Publication year
2025
Confidentiality
S - Úplné a pravdivé údaje o projektu nepodléhají ochraně podle zvláštních právních předpisů
Data specific for result type
Article name in the collection
Companion Proceedings of the 9th International Conference on the Art, Science, and Engineering of Programming (Programming 2025)
ISBN
978-3-95977-382-9
ISSN
2190-6807
e-ISSN
—
Number of pages
4
Pages from-to
1-4
Publisher name
Schloss Dagstuhl, Leibniz-Zentrum für Informatik
Place of publication
Wadern
Event location
Praha
Event date
Jun 2, 2025
Type of event by nationality
WRD - Celosvětová akce
UT code for WoS article
—