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 |
|
|