Class ModRef<T extends InstanceKey>
java.lang.Object
com.ibm.wala.ipa.modref.ModRef<T>
- Direct Known Subclasses:
AstModRef
Mod-ref analysis for heap locations.
For each call graph node, what heap locations (as determined by a heap model) may it read or write, including it's callees transitively
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
ModRef.ModVisitor<T extends InstanceKey,
H extends ExtendedHeapModel> static class
ModRef.RefVisitor<T extends InstanceKey,
H extends ExtendedHeapModel> -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncomputeMod
(CallGraph cg, PointerAnalysis<T> pa) For each call graph node, what heap locations (as determined by a heap model) may it write, including its callees transitivelycomputeMod
(CallGraph cg, PointerAnalysis<T> pa, HeapExclusions heapExclude) For each call graph node, what heap locations (as determined by a heap model) may it write, including its callees transitivelycomputeRef
(CallGraph cg, PointerAnalysis<T> pa) For each call graph node, what heap locations (as determined by a heap model) may it read, including its callees transitivelycomputeRef
(CallGraph cg, PointerAnalysis<T> pa, HeapExclusions heapExclude) For each call graph node, what heap locations (as determined by a heap model) may it read, including its callees transitivelygetMod
(CGNode n, ExtendedHeapModel h, PointerAnalysis<T> pa, SSAInstruction s, HeapExclusions hexcl) Compute the set ofPointerKey
s that represent pointers that instruction s may write to.getMod
(CGNode n, ExtendedHeapModel h, PointerAnalysis<T> pa, SSAInstruction s, HeapExclusions hexcl, boolean ignoreAllocHeapDefs) Compute the set ofPointerKey
s that represent pointers that instruction s may write to.getRef
(CGNode n, ExtendedHeapModel h, PointerAnalysis<T> pa, SSAInstruction s, HeapExclusions hexcl) Compute the set ofPointerKey
s that represent pointers that instruction s may read.static <U extends InstanceKey>
ModRef<U> make()
protected ModRef.ModVisitor
<T, ?> makeModVisitor
(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h) protected ModRef.ModVisitor
<T, ?> makeModVisitor
(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h, boolean ignoreAllocHeapDefs) protected ModRef.RefVisitor
<T, ? extends ExtendedHeapModel> makeRefVisitor
(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h)
-
Constructor Details
-
ModRef
public ModRef()
-
-
Method Details
-
make
-
computeMod
public Map<CGNode,OrdinalSet<PointerKey>> computeMod(CallGraph cg, PointerAnalysis<T> pa, HeapExclusions heapExclude) For each call graph node, what heap locations (as determined by a heap model) may it write, including its callees transitively- Throws:
IllegalArgumentException
- if cg is null
-
computeRef
public Map<CGNode,OrdinalSet<PointerKey>> computeRef(CallGraph cg, PointerAnalysis<T> pa, HeapExclusions heapExclude) For each call graph node, what heap locations (as determined by a heap model) may it read, including its callees transitively- Throws:
IllegalArgumentException
- if cg is null
-
computeMod
For each call graph node, what heap locations (as determined by a heap model) may it write, including its callees transitively -
computeRef
For each call graph node, what heap locations (as determined by a heap model) may it read, including its callees transitively -
makeHeapModel
-
makeModVisitor
protected ModRef.ModVisitor<T,?> makeModVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h) -
makeModVisitor
protected ModRef.ModVisitor<T,?> makeModVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h, boolean ignoreAllocHeapDefs) -
getMod
public Set<PointerKey> getMod(CGNode n, ExtendedHeapModel h, PointerAnalysis<T> pa, SSAInstruction s, HeapExclusions hexcl) Compute the set ofPointerKey
s that represent pointers that instruction s may write to. -
getMod
public Set<PointerKey> getMod(CGNode n, ExtendedHeapModel h, PointerAnalysis<T> pa, SSAInstruction s, HeapExclusions hexcl, boolean ignoreAllocHeapDefs) Compute the set ofPointerKey
s that represent pointers that instruction s may write to. -
makeRefVisitor
protected ModRef.RefVisitor<T,? extends ExtendedHeapModel> makeRefVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h) -
getRef
public Set<PointerKey> getRef(CGNode n, ExtendedHeapModel h, PointerAnalysis<T> pa, SSAInstruction s, HeapExclusions hexcl) Compute the set ofPointerKey
s that represent pointers that instruction s may read.
-