soot.jimple.toolkits.thread.synchronization
Class LockAllocator
java.lang.Object
soot.Transformer
soot.SceneTransformer
soot.jimple.toolkits.thread.synchronization.LockAllocator
public class LockAllocator
- extends SceneTransformer
Method Summary |
void |
assignNamesToTransactions(List<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions)
|
protected void |
findLockableReferences(List<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
PointsToAnalysis pta,
CriticalSectionAwareSideEffectAnalysis tasea,
Map<Value,Integer> lockToLockNum,
List<PointsToSetInternal> lockPTSets)
|
List<soot.jimple.toolkits.thread.synchronization.CriticalSection> |
getCriticalSections()
|
DirectedGraph |
getDeadlockGraph()
|
CriticalSectionInterferenceGraph |
getInterferenceGraph()
|
protected void |
internalTransform(String phaseName,
Map options)
Performs the transformation on the Scene, under the given phaseName and with the given Options. |
static String |
locksetToLockNumString(List<EquivalentValue> lockset,
Map<Value,Integer> lockToLockNum)
|
void |
printGraph(Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
CriticalSectionInterferenceGraph ig,
Map<Value,Integer> lockToLockNum)
|
void |
printGroups(Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
CriticalSectionInterferenceGraph ig)
|
void |
printTable(Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
MhpTester mhp)
|
void |
setFlagsForDynamicAllocations(CriticalSectionInterferenceGraph ig)
|
void |
setFlagsForStaticAllocations(CriticalSectionInterferenceGraph ig)
|
static LockAllocator |
v()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
LockAllocator
public LockAllocator(Singletons.Global g)
v
public static LockAllocator v()
internalTransform
protected void internalTransform(String phaseName,
Map options)
- Description copied from class:
SceneTransformer
- Performs the transformation on the Scene, under the given phaseName and with the given Options.
- Specified by:
internalTransform
in class SceneTransformer
findLockableReferences
protected void findLockableReferences(List<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
PointsToAnalysis pta,
CriticalSectionAwareSideEffectAnalysis tasea,
Map<Value,Integer> lockToLockNum,
List<PointsToSetInternal> lockPTSets)
setFlagsForDynamicAllocations
public void setFlagsForDynamicAllocations(CriticalSectionInterferenceGraph ig)
setFlagsForStaticAllocations
public void setFlagsForStaticAllocations(CriticalSectionInterferenceGraph ig)
locksetToLockNumString
public static String locksetToLockNumString(List<EquivalentValue> lockset,
Map<Value,Integer> lockToLockNum)
assignNamesToTransactions
public void assignNamesToTransactions(List<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions)
printGraph
public void printGraph(Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
CriticalSectionInterferenceGraph ig,
Map<Value,Integer> lockToLockNum)
printTable
public void printTable(Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
MhpTester mhp)
printGroups
public void printGroups(Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions,
CriticalSectionInterferenceGraph ig)
getInterferenceGraph
public CriticalSectionInterferenceGraph getInterferenceGraph()
getDeadlockGraph
public DirectedGraph getDeadlockGraph()
getCriticalSections
public List<soot.jimple.toolkits.thread.synchronization.CriticalSection> getCriticalSections()