Generalized Trace Compilation for Java

Projects > Compiler and JVM Research at JKU

Trace-based compilation is a special form of just-in-time compilation in which frequently executed paths of a program (instead of frequently executed methods) are translated to machine code. Traces can cross method boundaries, so that the method invocation overhead is eliminated in many cases. This increases the peak performance. Furthermore, trace-based compilation can reduce JIT compilation time and may also generate less machine code. Whereas traditional trace compilation usually identifies traces only within loops we also look at traces that start at other program locations.

This work is funded by the Austrian Science Foundation (FWF) under the project number P22493-N18.