Just-in-time (JIT) compilers leverage type feedback to optimize dynamic languages by recording runtime observations during interpretation and using them to generate specialized code. However, this recording process introduces significant execution time overhead to program warmup. This paper presents a characterization study of how feedback information is utilized by JIT compilers, providing motivation for future work on reducing recording overhead. We instrument the Ř compiler for the R language to track feedback slot usage throughout compilation, analyzing well-known benchmarks and real-world programs. Our measurements reveal that recording adds overhead to the interpreter up to 1.6×(mean 1.2×), yet at least 59% of non-empty slots are not used by the compiler. A large fraction of these unused slots can be attributed to dead code that the compiler eliminated. Most of the remaining slots are type-stable—meaning the inferred type matches the observed type—making speculation futile. To quantify the potential for improvement, we evaluate two oracle-based configurations that establish upper bounds on achievable reduction: a conservative set approach that preserves optimization quality while improving warmup, and an optimistic set approach that sacrifices some compiled code performance for faster interpretation.
Thu 2 JulDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
14:00 - 15:30 | Compilers, Interpreters & Runtime SystemsTechnical Papers at I.2.03 Chair(s): Christian Hammer University of Passau | ||
14:00 22mTalk | Eliminate Branches by Melding IR Instructions Technical Papers Yuze Li Virginia Tech, Srinivasan Ramachandra Sharma Virginia Tech, Charitha Saumya Intel, Ali R. Butt Virginia Tech, Kirshanthan Sundararajah Virginia Tech | ||
14:22 22mTalk | Characterizing Type Feedback in Just-in-Time Compilation Technical Papers Sebastián Krynski Czech Technical University in Prague, Filip Riha Czech Technical University, Filip Křikava Czech Technical University in Prague, Jan Vitek Northeastern University | ||
14:45 22mTalk | Optimizing Record/Replay through Relaxed Total Ordering and Multi-Version eXecution Technical Papers | ||
15:07 22mTalk | The Virtual Recency Abstraction (Strong Updates for Abstract Interpreters with Shared State) Technical Papers Sven Keidel Fraunhofer SIT | ATHENE, Raphaël Monat Inria and University of Lille, Sebastian Erdweg KIT Link to publication | ||