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, transform
public static LockAllocator v()
protected void internalTransform(java.lang.String phaseName, java.util.Map<java.lang.String,java.lang.String> options)
SceneTransformer
internalTransform
in class SceneTransformer
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)
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()