Title
Design, implementation, and evaluation of optimizations in a just-in-time compiler
Abstract
The Java language incurs a runtime overhead for exception checks and object accesses, which are executed without an interior pointer in order to ensure safety. It also requires type inclusion test, dynamic class loading, and dynamic method calls in order to ensure flexibility. A "Just-In-Time" (JIT) compiler generates native code from Java byte code at runtime. It must improve the run- time performance without compromising the safety and flexibility of the Java language. We designed and implemented effective optimizations for a JIT compiler, such as exception check elimination, common subexpression elimination, simple type inclusion test, method inlining, and devirtualization of dynamic method call. We evaluate the performance benefits of these optimizations based on various statistics collected using SPECjvm98, its candidates, and two JavaSoft applications with byte code sizes ranging from 23000 to 280000 bytes. Each optimization contributes to an improvement in the performance of the programs.
Year
DOI
Venue
1999
10.1145/304065.304111
Java Grande
Keywords
Field
DocType
just-in-time compiler,java,just in time compiler,common subexpression elimination,test methods
Inline expansion,Functional compiler,Dynamic compilation,Programming language,Common subexpression elimination,Computer science,Java concurrency,Real time Java,Compiler,Java Modeling Language
Conference
ISBN
Citations 
PageRank 
1-58113-161-5
49
5.12
References 
Authors
16
9
Name
Order
Citations
PageRank
Kazuaki Ishizaki119117.66
Motohiro Kawahito219713.92
Toshiaki Yasue327017.44
Mikio Takeuchi424921.32
Takeshi Ogasawara5495.12
Toshio Suganuma640427.10
Tamiya Onodera718017.13
Hideaki Komatsu841034.00
Toshio Nakatani974156.80