Method inlining and data flow analysis are two major optimization components for effective program transformations, however they often suffer from the existence of rarely or never executed code contained in the target method. One major problem lies in the assumption that the compilation unit is partitioned at method boundaries. This paper describes the design and implementation of a region-based compilation technique in our dynamic compilation system, in which the compiled regions are selected as code portions without rarely executed code. The key part of this technique is the region selection, partial inlining, and region exit handling. For region selection, we employ both static heuristics and dynamic profiles to identify rare sections of...
The Java Virtual Machine (Standard Edition) normally interprets Java byte code but also compiles Jav...
AbstractIn Java bytecode, intra-method subroutines are employed to represent code in “finally” block...
Abstract Dynamic or Just-in-Time (JIT) compilation is crucial to achieve acceptable performance for ...
The increasing amount of instruction-level parallelism (ILP) required to fully utilize high issue-ra...
Modern compilation systems face the challenge of incrementally reanalyzing a program’s intermediate ...
Java programs are deployed in a bytecode format that is executed by a Java virtual machine (JVM). J...
The traditional framework for back-end compilation is based on the scope of functions, which is a na...
AbstractMethod inlining is one of the most important optimizations in method-based just-in-time (JIT...
Compute intensive programs generally consume significant fraction of execution time in a small amoun...
Region-based memory management offers several important potential advantages over garbage collection...
Just-in-Time (JIT) compilers for Java can be augmented by making use of runtime profile information ...
Procedures have long been the basic units of compilation in conventional optimization frameworks. Ho...
Region-based JIT compilation operates on translation units comprising multiple basic blocks and, pos...
Java uses automatic memory management, usually implemented as a garbage-collected heap. That lifts t...
Recent advances in Virtual Machine\u2019s technology have led to the diffusion of Java execution env...
The Java Virtual Machine (Standard Edition) normally interprets Java byte code but also compiles Jav...
AbstractIn Java bytecode, intra-method subroutines are employed to represent code in “finally” block...
Abstract Dynamic or Just-in-Time (JIT) compilation is crucial to achieve acceptable performance for ...
The increasing amount of instruction-level parallelism (ILP) required to fully utilize high issue-ra...
Modern compilation systems face the challenge of incrementally reanalyzing a program’s intermediate ...
Java programs are deployed in a bytecode format that is executed by a Java virtual machine (JVM). J...
The traditional framework for back-end compilation is based on the scope of functions, which is a na...
AbstractMethod inlining is one of the most important optimizations in method-based just-in-time (JIT...
Compute intensive programs generally consume significant fraction of execution time in a small amoun...
Region-based memory management offers several important potential advantages over garbage collection...
Just-in-Time (JIT) compilers for Java can be augmented by making use of runtime profile information ...
Procedures have long been the basic units of compilation in conventional optimization frameworks. Ho...
Region-based JIT compilation operates on translation units comprising multiple basic blocks and, pos...
Java uses automatic memory management, usually implemented as a garbage-collected heap. That lifts t...
Recent advances in Virtual Machine\u2019s technology have led to the diffusion of Java execution env...
The Java Virtual Machine (Standard Edition) normally interprets Java byte code but also compiles Jav...
AbstractIn Java bytecode, intra-method subroutines are employed to represent code in “finally” block...
Abstract Dynamic or Just-in-Time (JIT) compilation is crucial to achieve acceptable performance for ...