Title
Design and evaluation of dynamic optimizations for a Java just-in-time compiler
Abstract
The high performance implementation of Java Virtual Machines (JVM) and Just-In-Time (JIT) compilers is directed toward employing a dynamic compilation system on the basis of online runtime profile information. The trade-off between the compilation overhead and performance benefit is a crucial issue for such a system. This article describes the design and implementation of a dynamic optimization framework in a production-level Java JIT compiler, together with two techniques for profile-directed optimizations: method inlining and code specialization. Our approach is to employ a mixed mode interpreter and a three-level optimizing compiler, supporting level-1 to level-3 optimizations, each of which has a different set of trade-offs between compilation overhead and execution speed. A lightweight sampling profiler operates continuously during the entire period while applications are running to monitor the programs' hot spots. Detailed information on runtime behavior can be collected by dynamically generating instrumentation code that is installed to and uninstalled from the specified recompilation target code. Value profiling with this instrumentation mechanism allows fully automatic profile-directed method inlining and code specialization to be performed on the basis of call site information or specific parameter values at the higher optimization levels. The experimental results show that our approach offers high performance and low compilation overhead in both program startup and steady state measurements in comparison to the previous systems. The two profile-directed optimization techniques contribute significant portions of the improvements.
Year
DOI
Venue
2005
10.1145/1075382.1075386
ACM Trans. Program. Lang. Syst.
Keywords
Field
DocType
profile-directed method inlining,detailed information,dynamic optimizations,compilation overhead,dynamic optimization framework,low compilation overhead,java just-in-time compiler,jit compiler,dynamic compilation,code specialization,automatic profile-directed method inlining,recompilation,specified recompilation target code,dynamically generating instrumentation code,call site information,adaptive optimization,dynamic compilation system,just in time compiler,hot spot,optimizing compiler,steady state,direct method,difference set
Dead code elimination,Profile-guided optimization,Program optimization,Dynamic compilation,Programming language,Computer science,Optimizing compiler,Compiler,Single Compilation Unit,Just-in-time compilation
Journal
Volume
Issue
ISSN
27
4
0164-0925
Citations 
PageRank 
References 
18
0.95
42
Authors
5
Name
Order
Citations
PageRank
Toshio Suganuma140427.10
Toshiaki Yasue227017.44
Motohiro Kawahito319713.92
Hideaki Komatsu441034.00
Toshio Nakatani574156.80