org.jikesrvm.compilers.opt.driver
Class OptimizingBootImageCompiler

java.lang.Object
  extended by org.jikesrvm.compilers.common.BootImageCompiler
      extended by org.jikesrvm.compilers.opt.driver.OptimizingBootImageCompiler

public final class OptimizingBootImageCompiler
extends BootImageCompiler

Use optimizing compiler to build virtual machine boot image.


Field Summary
private  String excludePattern
          If excludePattern is null, all methods are opt-compiled (or attempted).
private  OptOptions masterOptions
           
private  Vector<Boolean> optimizationPlanLocks
           
private  Vector<OptimizationPlanElement[]> optimizationPlans
           
private  Vector<OptOptions> options
           
 
Fields inherited from class org.jikesrvm.compilers.common.BootImageCompiler
baseCompiler, compiler, optCompiler
 
Constructor Summary
OptimizingBootImageCompiler()
           
 
Method Summary
private  CompiledMethod baselineCompile(NormalMethod method)
           
protected  CompiledMethod compileMethod(NormalMethod method, TypeReference[] params)
          Compile a method with bytecodes.
private  int getFreeOptimizationPlan()
          Return an optimization plan that isn't in use
protected  void initCompiler(String[] args)
          Initialize boot image compiler.
private  boolean match(RVMMethod method)
           
private  void releaseOptimizationPlan(int plan)
          Release an optimization plan
 
Methods inherited from class org.jikesrvm.compilers.common.BootImageCompiler
compile, compile, compile, init
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

optimizationPlans

private final Vector<OptimizationPlanElement[]> optimizationPlans

optimizationPlanLocks

private final Vector<Boolean> optimizationPlanLocks

options

private final Vector<OptOptions> options

masterOptions

private final OptOptions masterOptions

excludePattern

private String excludePattern
If excludePattern is null, all methods are opt-compiled (or attempted). Otherwise, methods that match the pattern are not opt-compiled. In any case, the class OptSaveVolatile is always opt-compiled.

Constructor Detail

OptimizingBootImageCompiler

public OptimizingBootImageCompiler()
Method Detail

match

private boolean match(RVMMethod method)

initCompiler

protected void initCompiler(String[] args)
Description copied from class: BootImageCompiler
Initialize boot image compiler.

Specified by:
initCompiler in class BootImageCompiler
Parameters:
args - command line arguments to the bootimage compiler

compileMethod

protected CompiledMethod compileMethod(NormalMethod method,
                                       TypeReference[] params)
Description copied from class: BootImageCompiler
Compile a method with bytecodes.

Specified by:
compileMethod in class BootImageCompiler
Parameters:
method - the method to compile
Returns:
the compiled method

baselineCompile

private CompiledMethod baselineCompile(NormalMethod method)

getFreeOptimizationPlan

private int getFreeOptimizationPlan()
Return an optimization plan that isn't in use

Returns:
optimization plan

releaseOptimizationPlan

private void releaseOptimizationPlan(int plan)
Release an optimization plan

Parameters:
plan - an optimization plan