Compiler Optimization Comparison Chart
This section presents a comparison chart of the Jikes RVM against the following JVMs.
Inlining
Category |
Optimization |
RVM |
IBM JDK v6 r0 |
|---|---|---|---|
Inlining |
Trivial Inlining |
||
|
Call graph inlining |
||
|
Tail recursion elimination |
||
|
Virtual call guard optimizations |
||
|
|
|
|
Local optimizations |
Local data flow analyses and optimization |
||
|
Register usage optimization |
||
|
Simplification of Java idioms |
||
|
|
|
|
Control flow optimizations |
Code reordering, splitting and removal |
||
|
Loop reduction and inversion |
||
|
Loop invariant code motion |
|
|
|
Loop striding |
||
|
Loop unrolling |
|
|
|
Loop peeling |
||
|
Loop versioning |
|
|
|
Loop specialization |
||
|
Exception directed optimization |
||
|
Switch analysis |
||
|
|
|
|
Global optimizations |
Global flow analyses and optimization |
||
|
Partial redundancy elimination |
|
|
|
Escape analysis |
||
|
GC and memory allocation optimizations |
||
|
Synchronization optimizations |
||
|
|
|
|
Native code generation |
Small optimization based on architecture characteristics |