public final class ExpandRuntimeServices extends CompilerPhase
Modifier and Type | Field and Description |
---|---|
private Simple |
_os
Cache of simple optimizations if used to tidy up
|
private BranchOptimizations |
branchOpts
Cache of branch optimizations if used to tidy up
|
private static Constructor<CompilerPhase> |
constructor
Constructor for this compiler phase
|
private boolean |
didSomething
Did we expand something?
|
private Instruction |
next
Pointer for next instruction during perform()
|
container
Constructor and Description |
---|
ExpandRuntimeServices() |
Modifier and Type | Method and Description |
---|---|
Constructor<CompilerPhase> |
getClassConstructor()
Get a constructor object for this compiler phase
|
String |
getName() |
private void |
inline(Instruction inst,
IR ir) |
private void |
inline(Instruction inst,
IR ir,
boolean noCalleeExceptions) |
void |
perform(IR ir)
Given an HIR, expand operators that are implemented as calls to
runtime service methods.
|
private void |
primitiveArrayStoreHelper(RVMMethod target,
Instruction inst,
IR ir)
Helper method to generate call to primitive arrayStore write barrier
|
private void |
primitiveObjectFieldStoreHelper(RVMMethod target,
Instruction inst,
IR ir,
FieldReference fieldRef)
Helper method to generate call to primitive putfield write barrier
|
void |
reportAdditionalStats()
Called when printing a measure compilation report to enable a phase
to report additional phase-specific statistics.
|
boolean |
shouldPerform(OptOptions options)
This method determines if the phase should be run, based on the
Options object it is passed.
|
dumpIR, dumpIR, getCompilerPhaseConstructor, getCompilerPhaseConstructor, newExecution, performPhase, printingEnabled, setContainer, verify
private BranchOptimizations branchOpts
private boolean didSomething
private Instruction next
private static final Constructor<CompilerPhase> constructor
public ExpandRuntimeServices()
public Constructor<CompilerPhase> getClassConstructor()
getClassConstructor
in class CompilerPhase
public boolean shouldPerform(OptOptions options)
CompilerPhase
shouldPerform
in class CompilerPhase
options
- the compiler options for the compilationpublic String getName()
getName
in class CompilerPhase
public void reportAdditionalStats()
CompilerPhase
reportAdditionalStats
in class CompilerPhase
public void perform(IR ir)
perform
in class CompilerPhase
ir
- The HIR to expandprivate void inline(Instruction inst, IR ir)
private void inline(Instruction inst, IR ir, boolean noCalleeExceptions)
private void primitiveArrayStoreHelper(RVMMethod target, Instruction inst, IR ir)
target
- entry point for write barrier methodinst
- the current instructionir
- the IRprivate void primitiveObjectFieldStoreHelper(RVMMethod target, Instruction inst, IR ir, FieldReference fieldRef)
target
- entry point for write barrier methodinst
- the current instructionir
- the IRfieldRef
- the field that needs the barrier