|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectorg.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 CompilerPhaseoptions - the compiler options for the compilation
public CompilerPhase newExecution(IR ir)
newExecution in class CompilerPhaseir - not used
public final String getName()
getName in class CompilerPhasepublic void perform(IR ir)
perform in class CompilerPhaseir - 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 | ||||||||||