|
|||||||||||
| 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.escape.EscapeTransformations
public class EscapeTransformations
Transformations that use escape analysis.
| Field Summary | |
|---|---|
private static OptimizationPlanElement |
escapeCleanUp
Transforms to clean the IR prior to another round of escape transformations |
| Fields inherited from class org.jikesrvm.compilers.opt.driver.CompilerPhase |
|---|
container |
| Constructor Summary | |
|---|---|
EscapeTransformations()
|
|
| Method Summary | |
|---|---|
private AggregateReplacer |
getAggregateReplacer(Instruction inst,
IR ir)
Generate an object which will perform scalar replacement of an aggregate allocated by a given instruction PRECONDITION: objects returned by this allocation site do NOT escape the current method |
String |
getName()
|
private UnsyncReplacer |
getUnsyncReplacer(Register reg,
Instruction inst,
IR ir)
Generate an object which transforms defs & uses of "synchronized" objects to defs & uses of "unsynchronized" objects PRECONDITION: objects pointed to by reg do NOT escape |
CompilerPhase |
newExecution(IR ir)
Return this instance of this phase. |
void |
perform(IR ir)
Perform the transformations |
boolean |
printingEnabled(OptOptions options,
boolean before)
Returns true if the phase wants the IR dumped before and/or after it runs. |
boolean |
shouldPerform(OptOptions options)
This method determines if the phase should be run, based on the Options object it is passed. |
private static boolean |
synchronizesOn(IR ir,
Register r)
Is there an instruction in this IR which causes synchronization on an object pointed to by a particular register? |
| Methods inherited from class org.jikesrvm.compilers.opt.driver.CompilerPhase |
|---|
dumpIR, dumpIR, getClassConstructor, getCompilerPhaseConstructor, getCompilerPhaseConstructor, performPhase, reportAdditionalStats, setContainer, verify |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static final OptimizationPlanElement escapeCleanUp
| Constructor Detail |
|---|
public EscapeTransformations()
| Method Detail |
|---|
public CompilerPhase newExecution(IR ir)
newExecution in class CompilerPhaseir - not used
public final boolean shouldPerform(OptOptions options)
CompilerPhase
shouldPerform in class CompilerPhaseoptions - the compiler options for the compilation
public final String getName()
getName in class CompilerPhase
public final boolean printingEnabled(OptOptions options,
boolean before)
CompilerPhase
printingEnabled in class CompilerPhaseoptions - the compiler options for the compilationbefore - true when invoked before perform, false otherwise.
public void perform(IR ir)
perform in class CompilerPhaseir - IR for the target method
private UnsyncReplacer getUnsyncReplacer(Register reg,
Instruction inst,
IR ir)
PRECONDITION: objects pointed to by reg do NOT escape
reg - the pointer whose defs and uses should be transformedinst - the allocation siteir - controlling ir
private static boolean synchronizesOn(IR ir,
Register r)
private AggregateReplacer getAggregateReplacer(Instruction inst,
IR ir)
PRECONDITION: objects returned by this allocation site do NOT escape the current method
inst - the allocation siteir - controlling ir
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||