Talks and Poster Presentations (with Proceedings-Entry):
E. Steiner, A. Krall, C. Thalinger:
"Adaptive Inlining and On-Stack Replacement in the CACAO Virtual Machine";
Talk: PPPJ - International Symposium on Principles and Practice of Programming in Java,
Monte de Caparica, Lisbon, Portugal;
- 2007-09-07; in: "Proceedings of the 5th International Symposium on Principles and Practice of Programming in Java",
L. Veiga (ed.);
ACM International Conference Proceeding Series,
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%.
"Official" electronic version of the publication (accessed through its Digital Object Identifier - DOI)
Created from the Publication Database of the Vienna University of Technology.