soot.jimple.toolkits.thread.synchronization
Class LockAllocationBodyTransformer
java.lang.Object
soot.Transformer
soot.BodyTransformer
soot.jimple.toolkits.thread.synchronization.LockAllocationBodyTransformer
public class LockAllocationBodyTransformer
- extends BodyTransformer
Method Summary |
static Value |
getLockFor(EquivalentValue lockEqVal)
|
protected void |
internalTransform(Body b,
FlowSet fs,
List<soot.jimple.toolkits.thread.synchronization.CriticalSectionGroup> groups,
boolean[] insertedGlobalLock)
|
protected void |
internalTransform(Body b,
String phase,
Map opts)
This method is called to perform the transformation itself. |
InstanceFieldRef |
reconstruct(Body b,
PatchingChain<Unit> units,
InstanceFieldRef lock,
Stmt insertBefore,
boolean redirect)
|
void |
redirectTraps(Body b,
Unit oldUnit,
Unit newUnit)
|
static LockAllocationBodyTransformer |
v()
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
v
public static LockAllocationBodyTransformer v()
internalTransform
protected void internalTransform(Body b,
String phase,
Map opts)
- Description copied from class:
BodyTransformer
- This method is called to perform the transformation itself. It is declared
abstract; subclasses must implement this method by making it the entry point
to their actual Body transformation.
- Specified by:
internalTransform
in class BodyTransformer
- Parameters:
b
- the body on which to apply the transformationphase
- the phasename for this transform; not typically used by implementations.opts
- the actual computed options; a combination of default options and Scene specified options.
internalTransform
protected void internalTransform(Body b,
FlowSet fs,
List<soot.jimple.toolkits.thread.synchronization.CriticalSectionGroup> groups,
boolean[] insertedGlobalLock)
reconstruct
public InstanceFieldRef reconstruct(Body b,
PatchingChain<Unit> units,
InstanceFieldRef lock,
Stmt insertBefore,
boolean redirect)
getLockFor
public static Value getLockFor(EquivalentValue lockEqVal)
redirectTraps
public void redirectTraps(Body b,
Unit oldUnit,
Unit newUnit)