|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.compilers.opt.driver.CompilerPhase org.jikesrvm.compilers.opt.bc2ir.OsrPointConstructor
public class OsrPointConstructor
A phase in the OPT compiler for construction OsrPoint instructions after inlining.
Field Summary | |
---|---|
private BranchOptimizations |
branchOpts
Need to run branch optimizations after |
Fields inherited from class org.jikesrvm.compilers.opt.driver.CompilerPhase |
---|
container |
Constructor Summary | |
---|---|
OsrPointConstructor()
Constructor |
Method Summary | |
---|---|
private void |
adjustBCIndex(Instruction barrier)
The OsrBarrier instruction is not in IR, so the bc index was not adjusted in OSR_AdjustBCIndex |
private LinkedList<Instruction> |
collectOsrPoints(IR ir)
Iterates instructions, build a list of OsrPoint instructions. |
private int |
countNonVoidTypes(byte[] typeCodes)
|
private void |
fixupCFGForOsr(LinkedList<Instruction> osrs,
IR ir)
Split each OsrPoint, and connect it to the exit point. |
String |
getName()
|
private boolean |
isBarrierClean(Instruction barrier)
verify barrier is clean by checking the number of valid operands |
CompilerPhase |
newExecution(IR ir)
Return this instance of this phase. |
void |
perform(IR ir)
Goes through each instruction, reconstruct OsrPoint instructions. |
private void |
removeOsrBarriers(IR ir)
remove OsrBarrier instructions. |
private void |
renovateOsrPoints(LinkedList<Instruction> osrs,
IR ir)
For each OsrPoint instruction, traces its OsrBarriers created by inlining. rebuild OsrPoint instruction to hold all necessary information to recover from inlined activation. |
boolean |
shouldPerform(OptOptions options)
This method determines if the phase should be run, based on the Options object it is passed. |
private void |
verifyNoOsrBarriers(IR ir)
|
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 |
---|
private final BranchOptimizations branchOpts
Constructor Detail |
---|
public OsrPointConstructor()
Method Detail |
---|
public final boolean shouldPerform(OptOptions options)
CompilerPhase
shouldPerform
in class CompilerPhase
options
- the compiler options for the compilation
public CompilerPhase newExecution(IR ir)
newExecution
in class CompilerPhase
ir
- not used
public final String getName()
getName
in class CompilerPhase
public void perform(IR ir)
perform
in class CompilerPhase
ir
- the IR on which to apply the phaseprivate LinkedList<Instruction> collectOsrPoints(IR ir)
private void renovateOsrPoints(LinkedList<Instruction> osrs, IR ir)
private void adjustBCIndex(Instruction barrier)
private void removeOsrBarriers(IR ir)
private void verifyNoOsrBarriers(IR ir)
private boolean isBarrierClean(Instruction barrier)
private int countNonVoidTypes(byte[] typeCodes)
private void fixupCFGForOsr(LinkedList<Instruction> osrs, IR ir)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |