public class ModRef<T extends InstanceKey> extends Object
Modifier and Type | Class and Description |
---|---|
protected static class |
ModRef.ModVisitor<T extends InstanceKey,H extends ExtendedHeapModel> |
protected static class |
ModRef.RefVisitor<T extends InstanceKey,H extends ExtendedHeapModel> |
Modifier | Constructor and Description |
---|---|
protected |
ModRef() |
Modifier and Type | Method and Description |
---|---|
Map<CGNode,OrdinalSet<PointerKey>> |
computeMod(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 transitively
|
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
|
Map<CGNode,OrdinalSet<PointerKey>> |
computeRef(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 transitively
|
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
|
Set<PointerKey> |
getMod(CGNode n,
ExtendedHeapModel h,
PointerAnalysis<T> pa,
SSAInstruction s,
HeapExclusions hexcl)
Compute the set of
PointerKey s that represent pointers that instruction s may write to. |
Set<PointerKey> |
getMod(CGNode n,
ExtendedHeapModel h,
PointerAnalysis<T> pa,
SSAInstruction s,
HeapExclusions hexcl,
boolean ignoreAllocHeapDefs)
Compute the set of
PointerKey s that represent pointers that instruction s may write to. |
Set<PointerKey> |
getRef(CGNode n,
ExtendedHeapModel h,
PointerAnalysis<T> pa,
SSAInstruction s,
HeapExclusions hexcl)
Compute the set of
PointerKey s that represent pointers that instruction s may read. |
static ModRef |
make() |
ExtendedHeapModel |
makeHeapModel(PointerAnalysis<T> pa) |
protected ModRef.ModVisitor |
makeModVisitor(CGNode n,
Collection<PointerKey> result,
PointerAnalysis<T> pa,
ExtendedHeapModel h) |
protected ModRef.ModVisitor |
makeModVisitor(CGNode n,
Collection<PointerKey> result,
PointerAnalysis<T> pa,
ExtendedHeapModel h,
boolean ignoreAllocHeapDefs) |
protected ModRef.RefVisitor |
makeRefVisitor(CGNode n,
Collection<PointerKey> result,
PointerAnalysis<T> pa,
ExtendedHeapModel h) |
public static ModRef make()
public Map<CGNode,OrdinalSet<PointerKey>> computeMod(CallGraph cg, PointerAnalysis<T> pa, HeapExclusions heapExclude)
IllegalArgumentException
- if cg is nullpublic Map<CGNode,OrdinalSet<PointerKey>> computeRef(CallGraph cg, PointerAnalysis<T> pa, HeapExclusions heapExclude)
IllegalArgumentException
- if cg is nullpublic Map<CGNode,OrdinalSet<PointerKey>> computeMod(CallGraph cg, PointerAnalysis<T> pa)
public Map<CGNode,OrdinalSet<PointerKey>> computeRef(CallGraph cg, PointerAnalysis<T> pa)
public ExtendedHeapModel makeHeapModel(PointerAnalysis<T> pa)
protected ModRef.ModVisitor makeModVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h)
protected ModRef.ModVisitor makeModVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h, boolean ignoreAllocHeapDefs)
public Set<PointerKey> getMod(CGNode n, ExtendedHeapModel h, PointerAnalysis<T> pa, SSAInstruction s, HeapExclusions hexcl)
PointerKey
s that represent pointers that instruction s may write to.public Set<PointerKey> getMod(CGNode n, ExtendedHeapModel h, PointerAnalysis<T> pa, SSAInstruction s, HeapExclusions hexcl, boolean ignoreAllocHeapDefs)
PointerKey
s that represent pointers that instruction s may write to.protected ModRef.RefVisitor makeRefVisitor(CGNode n, Collection<PointerKey> result, PointerAnalysis<T> pa, ExtendedHeapModel h)
public Set<PointerKey> getRef(CGNode n, ExtendedHeapModel h, PointerAnalysis<T> pa, SSAInstruction s, HeapExclusions hexcl)
PointerKey
s that represent pointers that instruction s may read.