Leveraging Copy-and-Patch JIT for Low-Overhead Dynamic Program Analysis
This program is tentative and subject to change.
Copy-and-patch compilation is an approach for building baseline just-in-time compilers from AST or bytecode interpreters. It features very fast compilation times while generating good quality code. It has been used as a baseline tier for a number of languages including Lua, Python, and R. In this paper, we explore copy-and-patch as a foundation for dynamic program analysis, and implement four analyses on top of an existing copy-and-patch JIT for R: code instrumentation, code coverage, performance profiling, and native debugging.
Two properties make copy-and-patch particularly well-suited for this purpose. First, since stencils are compiled by a standard C compiler, DWARF debug information is available as a by-product. This lets us reuse native tooling for profiling and debugging directly, with R and native code appearing in a single unified view. Second, analyses that operate at the bytecode level reduce to injecting stencils into the bytecode stream at copy-and-patch compile time, incurring minimal overhead. Our prototype evaluation yields instrumentation with no measurable overhead; code coverage that is roughly $2\times$ faster than the existing solution; and profiling that remains, on average, faster than vanilla R.
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 | ||