Most code is executed more than once. If not entire programs then
libraries remain unchanged from one run to the next. Just-in-time
compilers expend considerable effort gathering insights about code
they compiled many times, and often end up generating the same binary
over and over again. We explore how to reuse compiled code across
runs of different programs to reduce warm-up costs of dynamic
languages. We propose to use \emph{speculative contextual dispatch}
to select versions of functions from an \emph{off-line curated code
repository}. That repository is a persistent database of previously
compiled functions indexed by the context under which they were
compiled. The repository is curated to remove redundant code and to
optimize dispatch. We assess practicality by extending Ř, a
compiler for the R language, and evaluating its performance. Our
results suggest that the approach improves warmup times while
preserving peak performance.
Thu 26 OctDisplayed time zone: Lisbon change
16:00 - 17:30 | compilation & optimization 2OOPSLA at Room XII Chair(s): Fabian Muehlboeck Australian National University | ||
16:00 18mTalk | Graph IRs for Impure Higher-Order Languages: Making Aggressive Optimizations Affordable with Precise Effect Dependencies OOPSLA Oliver Bračevac Galois, Inc., Guannan Wei Purdue University, Songlin Jia Purdue University, Supun Abeysinghe Purdue University, Yuxuan Jiang Purdue University, Yuyan Bao Augusta University, Tiark Rompf Purdue University DOI Pre-print | ||
16:18 18mTalk | AST vs. Bytecode: Interpreters in the Age of Meta-Compilation OOPSLA Octave Larose University of Kent, Sophie Kaleba University of Kent, Humphrey Burchell University of Kent, Stefan Marr University of Kent DOI Pre-print | ||
16:36 18mTalk | Reusing Just-in-Time Compiled Code OOPSLA Meetesh Kalpesh Mehta IIT Bombay, Sebastián Krynski Czech Technical University in Prague, Hugo Musso Gualandi Czech Technical University in Prague, Manas Thakur IIT Bombay, Jan Vitek Northeastern University DOI | ||
16:54 18mTalk | TASTyTruffle: Just-in-Time Specialization of Parametric Polymorphism OOPSLA Matt D'Souza University of Waterloo, James You University of Waterloo, Ondřej Lhoták University of Waterloo, Aleksandar Prokopec Oracle Labs DOI | ||
17:12 18mTalk | Beacons: An End-to-End Compiler Framework for Predicting and Utilizing Dynamic Loop Characteristics OOPSLA Girish Mururu Georgia Institute of Technology, Sharjeel Khan Georgia Institute of Technology, Bodhisatwa Chatterjee Georgia Institute of Technology, Chao Chen Georgia Institute of Technology, Chris Porter IBM T.J. Watson Research, Ada Gavrilovska Georgia Institute of Technology, Santosh Pande Georgia Institute of Technology DOI |