Christian Wimmer, University of California, Irvine
- Dynamic feedback-oriented optimizations in Java VMs
Trace-Based Just-in-Time Compilation — Christian Wimmer
The execution model of Java is ideally suited for dynamic optimizations at run time. This allows novel feedback-directed optimizations that are not possible in traditional static compilers. However, current just-in-time compilers still inherit their basic structure from static compilers: the granularity of compilation are methods. Switching between the interpreter and compiled code is still mostly done when methods are called. In contrast, trace-based compilation focuses only on code that has shown to be frequently executed. The compiler operates on execution traces recorded at run time. It not only allows more aggressive optimizations of Java code, but is also well suited for dynamic languages because it simplifies the integration of type information gathered at run time. This talk introduces trace compilation, presents our recent advances, and presents optimizations that are based on this compilation approach.
Commercial #1 Tailcalls: http://wikis.sun.com/display/HotSpotInternals/Publications+JKU#PublicationsJKU-TailCalls
Commercial #2 Visualizer: https://c1visualizer.dev.java.net/
Key Issues for Discussion
(please expand cooperatively)