protected static class SSAPropagationCallGraphBuilder.ConstraintVisitor extends SSAInstruction.Visitor
| Modifier and Type | Class and Description |
|---|---|
class |
SSAPropagationCallGraphBuilder.ConstraintVisitor.DefaultInvariantComputer |
protected static interface |
SSAPropagationCallGraphBuilder.ConstraintVisitor.InvariantComputer |
| Modifier and Type | Field and Description |
|---|---|
protected ISSABasicBlock |
basicBlock
The basic block currently being processed
|
protected SSAPropagationCallGraphBuilder |
builder
The governing call graph builder.
|
protected DefUse |
du
Def-use information
|
protected IR |
ir
The governing IR
|
protected CGNode |
node
The node whose statements we are currently traversing
|
protected SymbolTable |
symbolTable
Governing symbol table
|
protected PropagationSystem |
system
The governing propagation system, into which constraints are added
|
| Constructor and Description |
|---|
SSAPropagationCallGraphBuilder.ConstraintVisitor(SSAPropagationCallGraphBuilder builder,
CGNode node) |
visitArrayLength, visitBinaryOp, visitComparison, visitConditionalBranch, visitConversion, visitGoto, visitInstanceof, visitMonitor, visitSwitch, visitUnaryOpprotected final SSAPropagationCallGraphBuilder builder
protected final CGNode node
protected final IR ir
protected final PropagationSystem system
protected ISSABasicBlock basicBlock
protected final SymbolTable symbolTable
protected final DefUse du
public SSAPropagationCallGraphBuilder.ConstraintVisitor(SSAPropagationCallGraphBuilder builder, CGNode node)
protected SSAPropagationCallGraphBuilder getBuilder()
protected AnalysisOptions getOptions()
protected AnalysisCache getAnalysisCache()
public PointerKey getPointerKeyForLocal(int valueNumber)
public FilteredPointerKey getFilteredPointerKeyForLocal(int valueNumber, FilteredPointerKey.TypeFilter filter)
public PointerKey getPointerKeyForReturnValue()
public PointerKey getPointerKeyForExceptionalReturnValue()
public PointerKey getPointerKeyForStaticField(IField f)
public PointerKey getPointerKeyForInstanceField(InstanceKey I, IField f)
public PointerKey getPointerKeyForArrayContents(InstanceKey I)
public InstanceKey getInstanceKeyForAllocation(NewSiteReference allocation)
public InstanceKey getInstanceKeyForMultiNewArray(NewSiteReference allocation, int dim)
public <T> InstanceKey getInstanceKeyForConstant(T S)
public InstanceKey getInstanceKeyForPEI(ProgramCounter instr, TypeReference type)
public InstanceKey getInstanceKeyForClassObject(Object obj, TypeReference type)
public CGNode getTargetForCall(CGNode caller, CallSiteReference site, IClass recv, InstanceKey[] iKey)
protected boolean contentsAreInvariant(SymbolTable symbolTable, DefUse du, int valueNumber)
protected boolean contentsAreInvariant(SymbolTable symbolTable, DefUse du, int[] valueNumber)
protected InstanceKey[] getInvariantContents(int valueNumber)
protected InstanceKey[] getInvariantContents(SymbolTable symbolTable, DefUse du, CGNode node, int valueNumber)
protected IClassHierarchy getClassHierarchy()
protected boolean hasNoInterestingUses(int vn)
protected boolean isRootType(IClass klass)
public void visitArrayLoad(SSAArrayLoadInstruction instruction)
visitArrayLoad in interface SSAInstruction.IVisitorvisitArrayLoad in class SSAInstruction.Visitorprotected void doVisitArrayLoad(int def,
int arrayRef)
public void doVisitArrayStore(int arrayRef,
int value)
public void visitArrayStore(SSAArrayStoreInstruction instruction)
visitArrayStore in interface SSAInstruction.IVisitorvisitArrayStore in class SSAInstruction.Visitorpublic void visitCheckCast(SSACheckCastInstruction instruction)
visitCheckCast in interface SSAInstruction.IVisitorvisitCheckCast in class SSAInstruction.Visitorpublic void visitReturn(SSAReturnInstruction instruction)
visitReturn in interface SSAInstruction.IVisitorvisitReturn in class SSAInstruction.Visitorpublic void visitGet(SSAGetInstruction instruction)
visitGet in interface SSAInstruction.IVisitorvisitGet in class SSAInstruction.Visitorprotected void visitGetInternal(int lval,
int ref,
boolean isStatic,
FieldReference field)
public void visitPut(SSAPutInstruction instruction)
visitPut in interface SSAInstruction.IVisitorvisitPut in class SSAInstruction.Visitorpublic void visitPutInternal(int rval,
int ref,
boolean isStatic,
FieldReference field)
public void visitInvoke(SSAInvokeInstruction instruction)
visitInvoke in interface SSAInstruction.IVisitorvisitInvoke in class SSAInstruction.Visitorprotected void visitInvokeInternal(SSAAbstractInvokeInstruction instruction, SSAPropagationCallGraphBuilder.ConstraintVisitor.InvariantComputer invs)
public void visitNew(SSANewInstruction instruction)
visitNew in interface SSAInstruction.IVisitorvisitNew in class SSAInstruction.Visitorpublic void visitThrow(SSAThrowInstruction instruction)
visitThrow in interface SSAInstruction.IVisitorvisitThrow in class SSAInstruction.Visitorpublic void visitGetCaughtException(SSAGetCaughtExceptionInstruction instruction)
visitGetCaughtException in interface SSAInstruction.IVisitorvisitGetCaughtException in class SSAInstruction.Visitorpublic void visitPhi(SSAPhiInstruction instruction)
visitPhi in interface SSAInstruction.IVisitorvisitPhi in class SSAInstruction.Visitorpublic void visitPi(SSAPiInstruction instruction)
visitPi in interface SSAInstruction.IVisitorvisitPi in class SSAInstruction.Visitorpublic ISSABasicBlock getBasicBlock()
public void setBasicBlock(ISSABasicBlock block)
public void visitLoadMetadata(SSALoadMetadataInstruction instruction)
visitLoadMetadata in interface SSAInstruction.IVisitorvisitLoadMetadata in class SSAInstruction.VisitorCopyright © 2015. All rights reserved.