Generating Interpreter-Specific Tracers for Meta-Tracing JIT Compilers
This program is tentative and subject to change.
The RPython framework’s meta-tracing JIT compiler uses a single generic tracer for all interpreters written in the RPython language, but this genericity causes overhead: the tracer dispatches every operation through an opcode lookup and performs redundant bookkeeping even for pure operations. We propose GenExtension, which specializes the tracer to a given interpreter at translation time, eliminating dynamic dispatch and skipping recording and heap-cache invalidation for pure operations. We implemented a prototype in RPython and applied it to the PyPy interpreter. On 28 benchmarks from the PyPy benchmark suite, GenExtension reduces tracing time by 11% (geometric mean) and resume data generation (the metadata needed to deoptimize back to the interpreter) by 28%, while producing nearly equivalent machine code and leaving total execution time unchanged (0.99×). Extending the specialization to more operation classes to reduce total execution time is future work.
This program is tentative and subject to change.
Tue 30 JunDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
11:00 - 12:30 | |||
11:00 30mTalk | Generating Interpreter-Specific Tracers for Meta-Tracing JIT Compilers MPLR Yusuke Izawa Tokyo Metropolitan University, CF Bolz-Tereick Heinrich-Heine-Universität Düsseldorf, Nico Rittinghaus Heinrich-Heine-Universität Düsseldorf, Hidehiko Masuhara Institute of Science Tokyo | ||
11:30 30mTalk | TrueJIT - Learning and Prediction of Compilation Sequences in a Centralized JIT Compiler MPLR Björn Franke University of Edinburgh, Tom Spink University of St Andrews, Amir Khordadi University of Edinburgh, Kim Stonehouse University of Edinburgh, United Kingdom | ||
12:00 30mTalk | Leveraging Copy-and-Patch JIT for Low-Overhead Dynamic Program Analysis MPLR Matěj Kocourek Charles University, Filip Křikava Czech Technical University in Prague, Pierre Donat-Bouillud Czech Technical University in Prague, Jan Vitek Northeastern University | ||