|
|||||||||||
| 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.FieldAnalysis
public final class FieldAnalysis
Flow-insensitive, context-insensitive, interprocedural analysis of fields.
| Field Summary | |
|---|---|
private static FieldDatabase |
db
The backing store |
private static boolean |
DEBUG
|
| Fields inherited from class org.jikesrvm.compilers.opt.driver.CompilerPhase |
|---|
container |
| Constructor Summary | |
|---|---|
FieldAnalysis()
|
|
| Method Summary | |
|---|---|
static TypeReference |
getConcreteType(RVMField f)
Have we determined a single concrete type for a field? |
String |
getName()
|
private static boolean |
isCandidate(TypeReference tref)
Is a type a candidate for type analysis? |
private static boolean |
isTrouble(RVMField f)
For some special classes, the flow-insensitive summaries are INCORRECT due to using the wrong implementation during boot image writing. |
CompilerPhase |
newExecution(IR ir)
Return this instance of this phase. |
void |
perform(IR ir)
Record field analysis information for an IR. |
private static void |
recordBottom(RVMMethod m,
RVMField f)
Record that a method writes an unknown concrete type to a field. |
private static void |
recordConcreteType(RVMMethod m,
RVMField f,
TypeReference t)
Record that a method stores an object of a particular concrete type to a field. |
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 |
|---|
private static final boolean DEBUG
private static final FieldDatabase db
| Constructor Detail |
|---|
public FieldAnalysis()
| Method Detail |
|---|
public CompilerPhase newExecution(IR ir)
newExecution in class CompilerPhaseir - not used
public boolean shouldPerform(OptOptions options)
CompilerPhase
shouldPerform in class CompilerPhaseoptions - the compiler options for the compilation
public String getName()
getName in class CompilerPhaseprivate static boolean isCandidate(TypeReference tref)
NO iff:
public static TypeReference getConcreteType(RVMField f)
public void perform(IR ir)
perform in class CompilerPhaseir - the governing IR
private static void recordBottom(RVMMethod m,
RVMField f)
private static void recordConcreteType(RVMMethod m,
RVMField f,
TypeReference t)
private static boolean isTrouble(RVMField f)
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||