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 (disabled)
  Loop striding
  Loop unrolling (disabled)
  Loop peeling
  Loop versioning (disabled)
  Loop specialization
  Exception directed optimization
  Switch analysis
       
Global optimizations Global flow analyses and optimization
  Partial redundancy elimination (disabled)
  Escape analysis
  GC and memory allocation optimizations
  Synchronization optimizations
       
Native code generation Small optimization based on architecture characteristics