DocumentCode
3355082
Title
Design, implementation and evaluation of adaptive recompilation with on-stack replacement
Author
Fink, Stephen J. ; Qian, Feng
Author_Institution
IBM T. J. Watson Res. Center, Yorktown Heights, NY, USA
fYear
2003
fDate
23-26 March 2003
Firstpage
241
Lastpage
252
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.
Keywords
automatic programming; optimising compilers; virtual machines; Jikes RVM; OSR; adaptive recompilation; aggressive optimization; analytic model; automatic online profile-driven deferred compilation; code de-optimization; code space; compile time; compiled code; compiler-independent mechanism; multiple compiled versions; on-stack replacement; on-stack replacement mechanism; speculative optimizations; virtual machines; Computer languages; Computer science; Counting circuits; Java; Optimizing compilers; Power system modeling; Runtime; Virtual machining; Virtual manufacturing; Voice mail;
fLanguage
English
Publisher
ieee
Conference_Titel
Code Generation and Optimization, 2003. CGO 2003. International Symposium on
Print_ISBN
0-7695-1913-X
Type
conf
DOI
10.1109/CGO.2003.1191549
Filename
1191549
Link To Document