Title :
A trace-based Java JIT compiler retrofitted from a method-based compiler
Author :
Inoue, Hiroshi ; Hayashizaki, Hiroshige ; Wu, Peng ; Nakatani, Toshio
Author_Institution :
IBM Res. - Tokyo, Tokyo, Japan
Abstract :
This paper describes our trace-based JIT compiler (trace-JIT) for Java developed from a production-quality method-based JIT compiler (method-JIT). We first describe the design and implementation of our trace-JIT with emphasis on how we retrofitted a method-JIT as a trace-based compiler. Then we show that the trace-JIT often produces better quality code than the method-JIT by extending the compilation scope. Forming longer traces that span multiple methods turns out to be more powerful than method inlining in extending the compilation scope. It reduces method-invocation overhead and also offers more compiler optimization opportunities. However, the trace-JIT incurs additional runtime overhead compared to the method-JIT that may be offset by gains from the improved code quality. Overall, our trace-JIT achieved performance roughly comparable to the baseline method-JIT. We also discuss the issues in trace-based compilation from the viewpoint of compiler optimizations. Our results show the potentials of trace-based compilation as an alternative or complementary approach to compiling languages with mature method-based compilers.
Keywords :
Java; just-in-time; optimisation; program compilers; compiler optimization; compiling languages; production-quality method-based JIT compiler; trace-based Java JIT compiler; Generators; Java; Magnetic heads; Optimization; Radiation detectors; Redundancy; Runtime; JIT; Java; trace-based compilation;
Conference_Titel :
Code Generation and Optimization (CGO), 2011 9th Annual IEEE/ACM International Symposium on
Conference_Location :
Chamonix
Print_ISBN :
978-1-61284-356-8
Electronic_ISBN :
978-1-61284-358-2
DOI :
10.1109/CGO.2011.5764692