ACM Home Page
Please provide us with feedback. Feedback
Adaptive inlining and on-stack replacement in the CACAO virtual machine
Full text PdfPdf (381 KB)
Source PPPJ; Vol. 272 archive
Proceedings of the 5th international symposium on Principles and practice of programming in Java table of contents
Lisboa, Portugal
SESSION: Short papers table of contents
Pages: 221 - 226  
Year of Publication: 2007
ISBN:978-1-59593-672-1
Authors
Edwin Steiner  Technische Universitaet Wien, Wien, Austria
Andreas Krall  Technische Universitaet Wien, Wien, Austria
Christian Thalinger  Technische Universitaet Wien, Wien, Austria
Sponsors
ACM: Association for Computing Machinery
: Câmara Municipal de Palmela
: Almada Camara Municipal
: RidgeSoft
: ParaRede Business Upgrade
: AMD 64 Opteron
: FUNDAÇÃO Luso-Americana
: Sun Microsystems
IBM : IBM
: YDreams
: GFI
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 8,   Downloads (12 Months): 32,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1294325.1294356
What is a DOI?

ABSTRACT

Method inlining is a well-known and effective optimization technique for object-oriented programs. In the context of dynamic compilation, method inlining can be used as an adaptive optimization in order to eliminate the overhead of frequently executed calls. This work presents an implementation of method inlining in the CACAO virtual machine. On-stack replacement is used for installing optimized code and for deoptimizing code when optimistic assumptions of the optimizer are broken by dynamic class loading. Three inlining heuristics are compared using empirical results from a set of benchmark programs. The best heuristic eliminates 51.5% up to 99.96% of all executed calls and improves execution time up to 18%.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
2
 
3
4
5
 
6
7
 
8
 
9
 
10
 
11
12
13
 
14
 
15
Andreas Krall and Reinhard Grafl. CACAO --- A 64-bit JavaVM just-in-time compiler. Concurrency: Practice and Experience, 9(11):1017--1030, 1997.
16
 
17
18
19

Collaborative Colleagues:
Edwin Steiner: colleagues
Andreas Krall: colleagues
Christian Thalinger: colleagues