All Methods Static Methods Instance Methods Concrete Methods
Modifier and Type |
Method and Description |
protected boolean |
callEdgeInSCC(AssignEdge assignEdge) |
protected DemandCSPointsTo.CallingContextSet |
checkAllocAndContextCache(AllocAndContext allocAndContext,
VarNode targetVar) |
protected PointsToSetInternal |
checkContextsForAllocsCache(DemandCSPointsTo.VarAndContext varAndContext,
AllocAndContextSet ret,
PointsToSetInternal locs) |
protected boolean |
checkP2Set(VarNode v,
HeuristicType heuristic,
Predicate<Set<AllocAndContext>> p2setPred)
check the computed points-to set of a variable against some predicate
|
protected DemandCSPointsTo.CallingContextSet |
checkUpContextCache(DemandCSPointsTo.VarContextAndUp varContextAndUp,
AllocAndContext allocAndContext) |
void |
clearCache()
clears the cache
|
protected void |
clearState() |
protected Set<VarNode> |
computeFlowsTo(AllocNode alloc,
HeuristicType heuristic)
compute a flows-to set for an allocation site.
|
protected PointsToSet |
computeReachingObjects(Local l)
Computes the possibly refined set of reaching objects for l.
|
protected PointsToSet |
computeRefinedReachingObjects(VarNode v)
Computes the refined set of reaching objects for l.
|
protected void |
debugPrint(String str) |
void |
disableCache()
disables caching
|
PointsToSet |
doReachingObjects(Local l) |
protected void |
dumpPathForLoc(VarNode v,
AllocNode badLoc,
String filePrefix) |
void |
enableCache()
enables caching
|
protected Collection<AssignEdge> |
filterAssigns(VarNode v,
ImmutableStack<Integer> callingContext,
boolean forward,
boolean refineVirtCalls) |
protected AllocAndContextSet |
findContextsForAllocs(DemandCSPointsTo.VarAndContext varAndContext,
PointsToSetInternal locs) |
protected DemandCSPointsTo.CallingContextSet |
findUpContextsForVar(AllocAndContext allocAndContext,
DemandCSPointsTo.VarContextAndUp varContextAndUp) |
protected DemandCSPointsTo.CallingContextSet |
findVarContextsFromAlloc(AllocAndContext allocAndContext,
VarNode targetVar) |
protected Set<SootMethod> |
getCallTargets(PointsToSetInternal p2Set,
SootMethod callee,
Type receiverType,
Set<SootMethod> possibleTargets) |
protected Set<SootMethod> |
getCallTargetsForType(Type type,
SootMethod callee,
Type receiverType,
Set<SootMethod> possibleTargets) |
protected Set<VarNode> |
getFlowsToHelper(AllocAndContext allocAndContext) |
HeuristicType |
getHeuristicType() |
protected int |
getMaxPasses() |
PAG |
getPAG() |
protected void |
incrementNodesTraversed() |
protected boolean |
isRecursive(ImmutableStack<Integer> context,
AssignEdge assignEdge) |
protected boolean |
isRecursiveCallSite(Integer callSite) |
boolean |
isRefineCallGraph() |
static DemandCSPointsTo |
makeDefault()
Make a default analysis.
|
static DemandCSPointsTo |
makeWithBudget(int maxTraversal,
int maxPasses,
boolean lazy) |
protected Set<VarNode> |
nodesPropagatedThrough(VarNode source,
PointsToSetInternal allocs) |
protected ImmutableStack<Integer> |
popRecursiveCallSites(ImmutableStack<Integer> context) |
protected void |
processIncomingEdges(DemandCSPointsTo.IncomingEdgeHandler h,
Stack<DemandCSPointsTo.VarAndContext> worklist) |
protected ImmutableStack<Integer> |
pushWithRecursionCheck(ImmutableStack<Integer> context,
AssignEdge assignEdge) |
PointsToSet |
reachingObjects(Context c,
Local l)
Currently not implemented.
|
PointsToSet |
reachingObjects(Context c,
Local l,
SootField f)
Currently not implemented.
|
PointsToSet |
reachingObjects(Local l)
Returns the set of objects pointed to by variable l.
|
PointsToSet |
reachingObjects(Local l,
SootField f)
Currently not implemented.
|
PointsToSet |
reachingObjects(PointsToSet s,
SootField f)
Currently not implemented.
|
PointsToSet |
reachingObjects(SootField f)
Currently not implemented.
|
PointsToSet |
reachingObjectsOfArrayElement(PointsToSet s)
Currently not implemented.
|
protected boolean |
refineAlias(VarNode v1,
VarNode v2,
PointsToSetInternal intersection,
HeuristicType heuristic) |
protected boolean |
refineAliasInternal(VarNode v1,
VarNode v2,
PointsToSetInternal intersection,
HeuristicType heuristic) |
protected Set<SootMethod> |
refineCallSite(Integer callSite,
ImmutableStack<Integer> origContext) |
protected boolean |
refineP2Set(DemandCSPointsTo.VarAndContext varAndContext,
PointsToSetInternal badLocs) |
protected boolean |
refineP2Set(VarNode v,
PointsToSetInternal badLocs,
HeuristicType heuristic) |
void |
setHeuristicType(HeuristicType heuristicType) |
void |
setRefineCallGraph(boolean refineCallGraph) |
boolean |
usesCache() |
protected boolean |
weirdCall(Integer callSite) |