Authors: Matthew Arnold, Stephen Fink, David Grove, Michael Hind and Peter F. Sweeney
Citation: IBM Research Report RC23429.
Virtual machines for today's object-oriented programming languages face significant performance challenges, when compared to traditional static optimizers. Most notably, portable program representations force the virtual machine to perform most code generation and optimization at runtime. To manage runtime compilation, high-performance virtual machines have adopted sophisticated on-line adaptive optimization systems to manage runtime execution modes.
We present an architecture and policy framework for adaptive optimization in virtual machines. The architecture supports construction of an extensible adaptive optimization system based on independent components to manage profiling, decision-making, and recompilation. We present a policy framework for decision-making based on an analytic model of costs and benefits. We have implemented the system in the Jikes Research Virtual Machine, and present a detailed empirical evaluation.
PDF
