public class LockAllocator extends SceneTransformer
| Constructor and Description |
|---|
LockAllocator(Singletons.Global g) |
| Modifier and Type | Method and Description |
|---|---|
void |
assignNamesToTransactions(java.util.List<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions) |
protected void |
findLockableReferences(java.util.List<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
PointsToAnalysis pta,
CriticalSectionAwareSideEffectAnalysis tasea,
java.util.Map<Value,java.lang.Integer> lockToLockNum,
java.util.List<PointsToSetInternal> lockPTSets) |
java.util.List<soot.jimple.toolkits.thread.synchronization.CriticalSection> |
getCriticalSections() |
DirectedGraph |
getDeadlockGraph() |
CriticalSectionInterferenceGraph |
getInterferenceGraph() |
protected void |
internalTransform(java.lang.String phaseName,
java.util.Map<java.lang.String,java.lang.String> options)
Performs the transformation on the Scene, under the given phaseName and with the given Options.
|
static java.lang.String |
locksetToLockNumString(java.util.List<EquivalentValue> lockset,
java.util.Map<Value,java.lang.Integer> lockToLockNum) |
void |
printGraph(java.util.Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
CriticalSectionInterferenceGraph ig,
java.util.Map<Value,java.lang.Integer> lockToLockNum) |
void |
printGroups(java.util.Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
CriticalSectionInterferenceGraph ig) |
void |
printTable(java.util.Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
MhpTester mhp) |
void |
setFlagsForDynamicAllocations(CriticalSectionInterferenceGraph ig) |
void |
setFlagsForStaticAllocations(CriticalSectionInterferenceGraph ig) |
static LockAllocator |
v() |
transform, transform, transformpublic static LockAllocator v()
protected void internalTransform(java.lang.String phaseName,
java.util.Map<java.lang.String,java.lang.String> options)
SceneTransformerinternalTransform in class SceneTransformerprotected void findLockableReferences(java.util.List<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
PointsToAnalysis pta,
CriticalSectionAwareSideEffectAnalysis tasea,
java.util.Map<Value,java.lang.Integer> lockToLockNum,
java.util.List<PointsToSetInternal> lockPTSets)
public void setFlagsForDynamicAllocations(CriticalSectionInterferenceGraph ig)
public void setFlagsForStaticAllocations(CriticalSectionInterferenceGraph ig)
public static java.lang.String locksetToLockNumString(java.util.List<EquivalentValue> lockset, java.util.Map<Value,java.lang.Integer> lockToLockNum)
public void assignNamesToTransactions(java.util.List<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions)
public void printGraph(java.util.Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
CriticalSectionInterferenceGraph ig,
java.util.Map<Value,java.lang.Integer> lockToLockNum)
public void printTable(java.util.Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
MhpTester mhp)
public void printGroups(java.util.Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
CriticalSectionInterferenceGraph ig)
public CriticalSectionInterferenceGraph getInterferenceGraph()
public DirectedGraph getDeadlockGraph()
public java.util.List<soot.jimple.toolkits.thread.synchronization.CriticalSection> getCriticalSections()