Title
Accurate profiling in the presence of dynamic compilation
Abstract
Many profilers based on bytecode instrumentation yield wrong results in the presence of an optimizing dynamic compiler, either due to not being aware of optimizations such as stack allocation and method inlining, or due to the inserted code disrupting such optimizations. To avoid such perturbations, we present a novel technique to make any profiler implemented at the bytecode level aware of optimizations performed by the dynamic compiler. We implement our approach in a state-of-the-art Java virtual machine and demonstrate its significance with concrete profilers. We quantify the impact of escape analysis on allocation profiling, object life-time analysis, and the impact of method inlining on callsite profiling. We illustrate how our approach enables new kinds of profilers, such as a profiler for non-inlined callsites, and a testing framework for locating performance bugs in dynamic compiler implementations.
Year
DOI
Venue
2015
10.1145/2814270.2814281
Conference on Object-Oriented Programming Systems, Languages, and Applications
Keywords
Field
DocType
Dynamic compilers,bytecode instrumentation,profiling
Bytecode instrumentation,Dynamic compilation,Programming language,Escape analysis,Profiling (computer programming),Computer science,Parallel computing,Implementation,Compiler,Bytecode,Java virtual machine
Conference
Volume
Issue
ISSN
50
10
0362-1340
ISBN
Citations 
PageRank 
978-1-4503-3689-5
3
0.47
References 
Authors
27
3
Name
Order
Citations
PageRank
Yudi Zheng113314.24
Lubomír Bulej216520.20
Walter Binder3107792.58