Thu 29 Oct 2015 13:30 - 13:52 at Grand Station 1 - 7. Runtime Chair(s): Michael Pradel

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.

Thu 29 Oct

13:30 - 15:00: OOPSLA - 7. Runtime at Grand Station 1
Chair(s): Michael PradelTU Darmstadt, Germany
oopsla201513:30 - 13:52
Yudi ZhengUniversity of Lugano, Lubomír BulejUniversità della Svizzera italiana, Walter BinderUniversity of Lugano
oopsla201513:52 - 14:15
Martin AignerUniversity of Salzburg, Austria, Christoph KirschUniversity of Salzburg, Austria, Michael LippautzUniversity of Salzburg, Austria, Ana SokolovaUniversity of Salzburg, Austria
DOI Pre-print Media Attached
oopsla201514:15 - 14:37
Brett BostonMassachusetts Institute of Technology, USA, Adrian SampsonCornell University & Microsoft Research, Dan GrossmanUniversity of Washington, USA, Luis CezeUniversity of Washington, USA
Pre-print Media Attached
oopsla201514:37 - 15:00
Michael JantzUniversity of Tennessee, USA, Forrest RobinsonUniversity of Kansas, USA, Prasad KulkarniUniversity of Kansas, Kshitij DoshiIntel, USA
DOI Media Attached