A dynamic optimization framework for a Java just-in-time compiler (2001)
| Citations: | 42 - 7 self |
BibTeX
@INPROCEEDINGS{Yasue01adynamic,
author = {Toshiaki Yasue and Motohiro Kawahito and Hideaki Kornatsu and Toshio Nakatani},
title = {A dynamic optimization framework for a Java just-in-time compiler},
booktitle = {},
year = {2001},
pages = {180--195},
publisher = {ACM Press}
}
OpenURL
Abstract
The high performance implementation of Java Virtual Machines (JVM) and Just-In-Time (JIT) compilers is directed toward adaptive compilation optimizations on the basis of online runtime profile in-formation. This paper describes the design and implementation of a dynamic optimization framework in a production-level Java JIT compiler. Our approach is to employ a mixed mode interpreter and a three level optimizing compiler, supporting quick, full, and spe-cial optimization, each of which has a different set of tradeoffs be-tween compilation overhead and execution speed. A lightweight sampling profiler operates continuously during the entire program's execution. When necessary, detailed information on runtime behav-ior is collected by dynamically generating instrumentation code which can be installed to and uninstalled from the specified recom-pilation target code. Value profiling with this instrumentation mechanism allows fully automatic code specialization to be per-formed on the basis of specific parameter values or global data at the highest optimization level. The experimental results show that our approach offers high performance and a low code expansion ra-tio in both program startup and steady state measurements in com-parison to the compile-only approach, and that the code specializa-tion can also contribute modest pertbrmance improvements. 1.







