Effective dynamic virtual-machine optimization depends on quickly finding and optimizing frequently-executed code regions. Such regions are naturally represented with a trace-cache, a collection of long, frequently-executed sequences of instructions. An ideal trace-cache is small and captures the majority of the program's execution stream, yet consists of traces large enough to allow for useful inter-bytecode optimizations and improve instruction-fetch performance. This thesis describes an efficient dynamic technique for finding and constructing such traces.Our trace caching algorithm relies on three innovative techniques: profiling data is managed with the Branch Implication Graph(BI-Graph) data structure, decomposing the program ...
Event tracing of applications under dynamic execution is crucial for performance modeling, optimizat...
The processor-memory gap is widening every year with no prospect of reprieve. More and more latency ...
The objective of this paper is to improve the use of the hardware resources of the trace cache mecha...
Java virtual machines have historically employed either a “whole-method ” or a “trace ” methodology ...
We explore the use of compiler optimizations, which optimize the layout of instructions in memory. T...
AbstractThe exploitation of parallelism among traces, i.e. hot paths of execution in programs, is a ...
We present a novel automatic parallelization approach that uses traces. Our approach uses a binary r...
Value specialization is a technique which can improve a program’s performance when its code frequent...
As the instruction issue width of superscalar proces-sors increases, instruction fetch bandwidth req...
Trace caches are used to help dynamic branch prediction make multiple predictions in a cycle by embe...
Trace cache, an instruction fetch technique that reduces taken branch penalties by storing and fetch...
The trace cache is a recently proposed solution to achieving high instruction fetch bandwidth by buf...
We propose two new approaches that automatically parallelize Java programs at runtime. These approac...
AbstractMethod inlining is one of the most important optimizations in method-based just-in-time (JIT...
A dynamic optimizer is a software-based system that performs code modifications at runtime, and seve...
Event tracing of applications under dynamic execution is crucial for performance modeling, optimizat...
The processor-memory gap is widening every year with no prospect of reprieve. More and more latency ...
The objective of this paper is to improve the use of the hardware resources of the trace cache mecha...
Java virtual machines have historically employed either a “whole-method ” or a “trace ” methodology ...
We explore the use of compiler optimizations, which optimize the layout of instructions in memory. T...
AbstractThe exploitation of parallelism among traces, i.e. hot paths of execution in programs, is a ...
We present a novel automatic parallelization approach that uses traces. Our approach uses a binary r...
Value specialization is a technique which can improve a program’s performance when its code frequent...
As the instruction issue width of superscalar proces-sors increases, instruction fetch bandwidth req...
Trace caches are used to help dynamic branch prediction make multiple predictions in a cycle by embe...
Trace cache, an instruction fetch technique that reduces taken branch penalties by storing and fetch...
The trace cache is a recently proposed solution to achieving high instruction fetch bandwidth by buf...
We propose two new approaches that automatically parallelize Java programs at runtime. These approac...
AbstractMethod inlining is one of the most important optimizations in method-based just-in-time (JIT...
A dynamic optimizer is a software-based system that performs code modifications at runtime, and seve...
Event tracing of applications under dynamic execution is crucial for performance modeling, optimizat...
The processor-memory gap is widening every year with no prospect of reprieve. More and more latency ...
The objective of this paper is to improve the use of the hardware resources of the trace cache mecha...