Trace-based JIT

From JVMLangSummit
Revision as of 14:12, 17 September 2009 by ChristianWimmer (talk | contribs) (Trace-based JIT)
Jump to navigationJump to search

Trace-based JIT

Christian Wimmer, UC-Irvine

Project
Blog
[1]
Slides
File:TraceCompilation.pdf

Abstract

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.

Background

Current Status

Future

Key Issues for Discussion

(please expand cooperatively)