Modern JIT compilers often employ multi-level recompilation strategies as a means of ensuring the most used code is also the most highly optimized, balancing optimization costs and expected future performance. Accurate selection of code to compile and level of optimization to apply is thus important to performance. In this paper we investigate the effect of an improved recompilation strategy for a Java virtual machine. Our design makes use of a lightweight, low-level profiling mechanism to detect highlevel, variable length phases in program execution. Phases are then used to guide adaptive recompilation choices, improving performance. We develop both an offline implementation based on trace data and a self-contained online version. Our offl...
This paper describes a portable and efficient sampling-based online measurement system for productio...
Java has been increasingly used in programming for real-time systems. However, some of Java’s featur...
Just-in-Time (JIT) compilation is a key technique for programs written in managed languages, such as...
Modern JIT compilers often employ multi-level recompila-tion strategies as a means of ensuring the m...
AbstractExtant Java Virtual Machines (JVMs) apply dynamic compiler optimizations adaptively, based o...
Java Virtual Machines provide a layer of abstraction supporting any services required for the execut...
Just-in-Time (JIT) compilers for Java can be augmented by making use of runtime profile information ...
Abstract Dynamic or Just-in-Time (JIT) compilation is crucial to achieve acceptable performance for ...
Java virtual machines have historically employed either a “whole-method ” or a “trace ” methodology ...
Java workloads are becoming more and more prominent on various computing devices. Understanding the ...
The paper describes the design and implementation of an adaptive recompilation framework for Rotor, ...
Java programs are deployed in a bytecode format that is executed by a Java virtual machine (JVM). J...
Managed runtime systems, such as a Java virtual machine (JVM), are complex pieces of software with m...
Phase selection is the process of customizing the applied set of compiler optimization phases for in...
In this paper we present a platform independent analysis of the dynamic profiles of Java programs wh...
This paper describes a portable and efficient sampling-based online measurement system for productio...
Java has been increasingly used in programming for real-time systems. However, some of Java’s featur...
Just-in-Time (JIT) compilation is a key technique for programs written in managed languages, such as...
Modern JIT compilers often employ multi-level recompila-tion strategies as a means of ensuring the m...
AbstractExtant Java Virtual Machines (JVMs) apply dynamic compiler optimizations adaptively, based o...
Java Virtual Machines provide a layer of abstraction supporting any services required for the execut...
Just-in-Time (JIT) compilers for Java can be augmented by making use of runtime profile information ...
Abstract Dynamic or Just-in-Time (JIT) compilation is crucial to achieve acceptable performance for ...
Java virtual machines have historically employed either a “whole-method ” or a “trace ” methodology ...
Java workloads are becoming more and more prominent on various computing devices. Understanding the ...
The paper describes the design and implementation of an adaptive recompilation framework for Rotor, ...
Java programs are deployed in a bytecode format that is executed by a Java virtual machine (JVM). J...
Managed runtime systems, such as a Java virtual machine (JVM), are complex pieces of software with m...
Phase selection is the process of customizing the applied set of compiler optimization phases for in...
In this paper we present a platform independent analysis of the dynamic profiles of Java programs wh...
This paper describes a portable and efficient sampling-based online measurement system for productio...
Java has been increasingly used in programming for real-time systems. However, some of Java’s featur...
Just-in-Time (JIT) compilation is a key technique for programs written in managed languages, such as...