public class LockAllocator extends SceneTransformer
Constructor and Description |
---|
LockAllocator(Singletons.Global g) |
Modifier and Type | Method and Description |
---|---|
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<String,String> 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() |
transform, transform, transform
public LockAllocator(Singletons.Global g)
public static LockAllocator v()
protected void internalTransform(String phaseName, Map<String,String> options)
SceneTransformer
internalTransform
in class SceneTransformer
protected void findLockableReferences(List<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions, PointsToAnalysis pta, CriticalSectionAwareSideEffectAnalysis tasea, Map<Value,Integer> lockToLockNum, List<PointsToSetInternal> lockPTSets)
public void setFlagsForDynamicAllocations(CriticalSectionInterferenceGraph ig)
public void setFlagsForStaticAllocations(CriticalSectionInterferenceGraph ig)
public static String locksetToLockNumString(List<EquivalentValue> lockset, Map<Value,Integer> lockToLockNum)
public void assignNamesToTransactions(List<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions)
public void printGraph(Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions, CriticalSectionInterferenceGraph ig, Map<Value,Integer> lockToLockNum)
public void printTable(Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions, MhpTester mhp)
public void printGroups(Collection<soot.jimple.toolkits.thread.synchronization.CriticalSection> AllTransactions, CriticalSectionInterferenceGraph ig)
public CriticalSectionInterferenceGraph getInterferenceGraph()
public DirectedGraph getDeadlockGraph()
public List<soot.jimple.toolkits.thread.synchronization.CriticalSection> getCriticalSections()
Copyright © 2020 Sable. All rights reserved.