Poor instruction cache locality can degrade performance on modern architectures. For example, our simulation results show that elim-inating all instruction cache misses improves performance by as much as 16 % for a modestly sized instruction cache. In this pa-per, we show how to take advantage of dynamic code generation in a Java Virtual Machine (VM) to improve instruction locality at run-time. We develop a dynamic code reordering (DCR) system; a low overhead, online approach for improving instruction locality. DCR has three optimizations: (1) Interprocedural method separa-tion; (2) Intraprocedural code splitting; and (3) Code padding. DCR uses the dynamic call graph and an edge profile that most VMs al-ready collect to separate hot/cold me...
Due to the huge speed gaps in the memory hierarchy of modern computer architectures, it is important...
We describe the effect of a particular form of “noise ” in benchmarking. We investigate the source o...
High instruction fetch bandwidth is essential for high performance in today’s wide-issue out-of-orde...
textAs increases in processor speed continue to outpace increases in cache and memory speed, progra...
As improvements in processor speed continue to outpace improvements in cache and memory speed, poor ...
As improvements in processor speed continue to outpace improvements in cache and memory speed, poor ...
Past activities in optimizing the performance of the HotSpotTM Java Virtual Machine focused on the p...
Modern JIT compilers often employ multi-level recompila-tion strategies as a means of ensuring the m...
An instruction scheduler utilizes code reordering techniques for generating schedules in which instr...
The instruction cache is a popular target for optimizations of microprocessor-based systems because ...
Java applications rely on Just-In-Time (JIT) compilers or adaptive compilers to generate and optimiz...
Java programs are deployed in a bytecode format that is executed by a Java virtual machine (JVM). J...
For dynamic optimization systems, success is limited by two difficult problems arising from instruct...
Recent advances in Virtual Machine\u2019s technology have led to the diffusion of Java execution env...
A dynamic optimizer is a software-based system that performs code modifications at runtime, and seve...
Due to the huge speed gaps in the memory hierarchy of modern computer architectures, it is important...
We describe the effect of a particular form of “noise ” in benchmarking. We investigate the source o...
High instruction fetch bandwidth is essential for high performance in today’s wide-issue out-of-orde...
textAs increases in processor speed continue to outpace increases in cache and memory speed, progra...
As improvements in processor speed continue to outpace improvements in cache and memory speed, poor ...
As improvements in processor speed continue to outpace improvements in cache and memory speed, poor ...
Past activities in optimizing the performance of the HotSpotTM Java Virtual Machine focused on the p...
Modern JIT compilers often employ multi-level recompila-tion strategies as a means of ensuring the m...
An instruction scheduler utilizes code reordering techniques for generating schedules in which instr...
The instruction cache is a popular target for optimizations of microprocessor-based systems because ...
Java applications rely on Just-In-Time (JIT) compilers or adaptive compilers to generate and optimiz...
Java programs are deployed in a bytecode format that is executed by a Java virtual machine (JVM). J...
For dynamic optimization systems, success is limited by two difficult problems arising from instruct...
Recent advances in Virtual Machine\u2019s technology have led to the diffusion of Java execution env...
A dynamic optimizer is a software-based system that performs code modifications at runtime, and seve...
Due to the huge speed gaps in the memory hierarchy of modern computer architectures, it is important...
We describe the effect of a particular form of “noise ” in benchmarking. We investigate the source o...
High instruction fetch bandwidth is essential for high performance in today’s wide-issue out-of-orde...