Hybrid Execution: Combining Ahead-of-Time and Just-in-Time Compilation
Ahead-of-time (AOT) compilation is a well-known approach to statically compile programs to native code before they are executed. In contrast, just-in-time (JIT) compilation typically starts with executing a slower, less optimized version of the code and compiles frequently executed methods at run time. In doing so, information from static and dynamic analysis is utilized to speculate and help generate highly efficient code. However, generating such an efficient JIT-compiled code is challenging, and this introduces a trade-off between start-up performance and peak performance.
In this paper, we present a novel way to execute programs by bringing together the divergence that existed between AOT and JIT compilation. Instead of having the JIT compiler analyze the program during interpretation to produce optimal code, critical functions are initially executed natively with code produced by the AOT compiler in order to gain a head start. Thus, we avoid the overhead of JIT compilation for natively executed methods and increase the start-up performance. We implemented our approach in GraalVM, which is a multi-language virtual machine based on the Java HotSpot VM. Improvements in start-up performance show a speed-up of up to 1.7x. However, the results depend heavily on how we select which code is run natively and which code is interpreted and JIT compiled.
Mon 23 OctDisplayed time zone: Lisbon change
14:00 - 15:30 | |||
14:00 25mPaper | Debugging Dynamic Language Features in a Multi-Tier Virtual MachineRemote VMIL Anmolpreet Singh Indian Institute of Technology Mandi, Aayush Sharma Indian Institute of Technology Mandi, Meetesh Kalpesh Mehta IIT Bombay, Manas Thakur IIT Bombay | ||
14:25 25mPaper | Array Bytecode Support in MicroJIT VMIL Shubham Verma University of New Brunswick, Harpreet Kaur University of New Brunswick, Kenneth Kent University of New Brunswick, Marius Pirvu IBM | ||
14:50 25mPaper | Hybrid Execution: Combining Ahead-of-Time and Just-in-Time Compilation VMIL Christoph Pichler Johannes Kepler University Linz, Paley Li Oracle, Roland Schatz Johannes Kepler University Linz, Hanspeter Mössenböck JKU Linz | ||
15:15 15mShort-paper | Approximating Type Stability in the Julia JITRemote VMIL Artem Pelenitsyn Purdue University |