학술논문

Design, implementation and evaluation of adaptive recompilation with on-stack replacement
Document Type
Conference
Source
International Symposium on Code Generation and Optimization, 2003. CGO 2003. Code generation and optimization Code Generation and Optimization, 2003. CGO 2003. International Symposium on. :241-252 2003
Subject
Computing and Processing
Optimizing compilers
Virtual machining
Voice mail
Java
Virtual manufacturing
Counting circuits
Runtime
Computer science
Power system modeling
Computer languages
Language
Abstract
Modern virtual machines often maintain multiple compiled versions of a method. An on-stack replacement (OSR) mechanism enables a virtual machine to transfer execution between compiled versions, even while a method runs. Relying on this mechanism, the system can exploit powerful techniques to reduce compile time and code space, dynamically de-optimize code, and invalidate speculative optimizations. The paper presents a new, simple, mostly compiler-independent mechanism to transfer execution into compiled code. Additionally, we present enhancements to an analytic model for recompilation to exploit OSR for more aggressive optimization. We have implemented these techniques in Jikes RVM and present a comprehensive evaluation, including a study of fully automatic, online, profile-driven deferred compilation.