Ehud Altman, Kenneth R. Brown, et al.
PRX Quantum
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. © 2011 IEEE.
Ehud Altman, Kenneth R. Brown, et al.
PRX Quantum
R.B. Morris, Y. Tsuji, et al.
International Journal for Numerical Methods in Engineering
Imran Nasim, Michael E. Henderson
Mathematics
Jianke Yang, Robin Walters, et al.
ICML 2023