2006Unpublished venueRequires access

Selective compilation via fast code analysis and bytecode tracing

Giovanni Agosta, Stefano Crespi Reghizzi, P. Palumbo, Martino Sykora

Open publisher page 6 citations

Abstract

Modern Java Virtual Machines (JVM) commonly adopt Just-In-Time (JIT) compilation to speed up the execution of Java Bytecode. However, the effort of compiling a region of code is only worth if the code is frequently executed. Therefore, Selective Compilation is employed so that the JIT compiler is only invoked on those regions of code where most of the computation is performed (hot spots). The core task in Selective Compilation is to correctly identify the hot spots in a program. In our SeleKaffe prototype virtual machine, we introduce two heuristics aimed at detecting hot spots both statically, via bytecode analysis, and dynamically, via profiling information. Experimental results on a representative set of benchmarks show that our method selection strategy is more accurate than known strategies, and not significantly slower.

About this research paper

What this paper is about

Modern Java Virtual Machines (JVM) commonly adopt Just-In-Time (JIT) compilation to speed up the execution of Java Bytecode. However, the effort of compiling a region of code is only worth if the code is frequently executed. Therefore, Selective Compilation is employed so that the JIT compiler is only invoked on those regions of code where most of the computation is performed (hot spots). The core task in Selective Compilation is to correctly identify the hot spots in a program. In our SeleKaffe prototype virtual machine, we introduce two heuristics aimed at detecting hot spots both statically, via bytecode analysis, and dynamically, via profiling information. Experimental results on a representative set of benchmarks show that our method selection strategy is more accurate than known strategies, and not significantly slower.

Why it matters

OpenAlex reports 6 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

Modern Java Virtual Machines (JVM) commonly adopt Just-In-Time (JIT) compilation to speed up the execution of Java Bytecode. However, the effort of compiling a region of code is only worth if the code is frequently executed. Therefore, Selective Compilation is employed so that the JIT compiler is only invoked on those regions of code where most of the computation is performed (hot spots). The core task in Selective Compilation is to correctly identify the hot spots in a program. In our SeleKaffe prototype virtual machine, we introduce two heuristics aimed at detecting hot spots both statically, via bytecode analysis, and dynamically, via profiling information. Experimental results on a representative set of benchmarks show that our method selection strategy is more accurate than known strategies, and not significantly slower.

Key concepts: Bytecode, Computer science, Programming language, Just-in-time compilation, Compiler, Java, Java bytecode, Tracing

Related papers

Back to paper searchBrowse research topicsOriginal source
Selective compilation via fast code analysis and bytecode tracing — Research Paper | ScholarLens