2001 · 137 citations · 34 references
EngineeringCompiler TechnologyComputer ArchitectureSoftware EngineeringSoftware AnalysisDynamic Optimization FrameworkSystems EngineeringCompilersParallel ComputingDynamic CompilationRuntime BehaviorProfiling ToolCompiler SupportComputer EngineeringHigh Performance ImplementationComputer ScienceOptimizing CompilerMixed Mode InterpreterProgram AnalysisSoftware TestingFormal MethodsParallel Programming
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 information. 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 special optimization, each of which has a different set of tradeoffs between compilation overhead and execution speed. a lightweight sampling profiler operates continuously during the entire program's exectuion. When necessary, detailed information on runtime behavior is collected by dynmiacally generating instrumentation code which can be installed to and uninstalled from the specified recompilation target code. Value profiling with this instrumentation mechanism allows fully automatic code specialization to be performed 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 ratio in both program startup and steady state measurements in comparison to the compile-only approach, and that the code specialization can also contribute modest performance improvement
34
Vasanth Bala, Evelyn Duesterwald, Sanjeev Banerjia · ACM SIGPLAN Notices · 2011 · 728 citations
Vasanth Bala, Evelyn Duesterwald, Sanjeev Banerjia · 2000 · 532 citations
The Jalapeño dynamic optimizing compiler for Java
Michael Burke, Jong-Deok Choi, Stephen J. Fink et al. · 1999 · 273 citations
The java hotspot TM server compiler
Michael Paleczny, Christopher A. Vick, Cliff Click · 2001 · 264 citations