org.jikesrvm.adaptive.recompilation.instrumentation
Class LowerInstrumentation

java.lang.Object
  extended by org.jikesrvm.compilers.opt.driver.CompilerPhase
      extended by org.jikesrvm.adaptive.recompilation.instrumentation.LowerInstrumentation

public class LowerInstrumentation
extends CompilerPhase

This phase takes converts "instrumentation instructions" that were inserted by previous instrumentation phases and "lowers" them, converting them to the actual instructions that perform the instrumentation.


Field Summary
(package private) static boolean DEBUG
           
 
Fields inherited from class org.jikesrvm.compilers.opt.driver.CompilerPhase
container
 
Constructor Summary
LowerInstrumentation()
           
 
Method Summary
 String getName()
           
(package private) static void lowerInstrumentation(IR ir)
          Actually perform the lowering
 CompilerPhase newExecution(IR ir)
          Return this instance of this phase.
 void perform(IR ir)
          Finds all instrumented instructions and calls the appropriate code to convert it into the real sequence of instrumentation instructions.
 boolean shouldPerform(OptOptions options)
          This method determines if the phase should be run, based on the Options object it is passed.
 
Methods inherited from class org.jikesrvm.compilers.opt.driver.CompilerPhase
dumpIR, dumpIR, getClassConstructor, getCompilerPhaseConstructor, getCompilerPhaseConstructor, performPhase, printingEnabled, reportAdditionalStats, setContainer, verify
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEBUG

static final boolean DEBUG
See Also:
Constant Field Values
Constructor Detail

LowerInstrumentation

public LowerInstrumentation()
Method Detail

newExecution

public CompilerPhase newExecution(IR ir)
Return this instance of this phase. This phase contains no per-compilation instance fields.

Overrides:
newExecution in class CompilerPhase
Parameters:
ir - not used
Returns:
this

shouldPerform

public final boolean shouldPerform(OptOptions options)
Description copied from class: CompilerPhase
This method determines if the phase should be run, based on the Options object it is passed. By default, phases are always performed. Subclasses should override this method if they only want to be performed conditionally.

Overrides:
shouldPerform in class CompilerPhase
Parameters:
options - the compiler options for the compilation
Returns:
true if the phase should be performed

getName

public final String getName()
Specified by:
getName in class CompilerPhase
Returns:
a String which is the name of the phase.

perform

public final void perform(IR ir)
Finds all instrumented instructions and calls the appropriate code to convert it into the real sequence of instrumentation instructions.

Specified by:
perform in class CompilerPhase
Parameters:
ir - the governing IR

lowerInstrumentation

static void lowerInstrumentation(IR ir)
Actually perform the lowering

Parameters:
ir - the governing IR