Class SynchronizedRegionFinder
- java.lang.Object
-
- soot.toolkits.scalar.AbstractFlowAnalysis<N,A>
-
- soot.toolkits.scalar.FlowAnalysis<N,A>
-
- soot.toolkits.scalar.ForwardFlowAnalysis<Unit,FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>>
-
- soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFinder
-
public class SynchronizedRegionFinder extends ForwardFlowAnalysis<Unit,FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>>
- Author:
- Richard L. Halpert Finds Synchronized Regions and creates a set of CriticalSection objects from them.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class soot.toolkits.scalar.FlowAnalysis
FlowAnalysis.Flow
-
-
Field Summary
Fields Modifier and Type Field Description booleanoptionOpenNestingbooleanoptionPrintDebug-
Fields inherited from class soot.toolkits.scalar.FlowAnalysis
filterUnitToAfterFlow, unitToAfterFlow
-
Fields inherited from class soot.toolkits.scalar.AbstractFlowAnalysis
filterUnitToBeforeFlow, graph, unitToBeforeFlow
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcopy(FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> sourceSet, FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> destSet)Creates a copy of thesourceflow object indest.protected voidflowThrough(FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> in, Unit unit, FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> out)OUT is the same as (IN minus killSet) plus the genSet.protected voidmerge(FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> inSet1, FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> inSet2, FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> outSet)unionprotected FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>newInitialFlow()All INs are initialized to the empty set.-
Methods inherited from class soot.toolkits.scalar.ForwardFlowAnalysis
doAnalysis, isForward
-
Methods inherited from class soot.toolkits.scalar.FlowAnalysis
copyFreshToExisting, getFlow, getFlowAfter, getFlowBefore, omissible
-
Methods inherited from class soot.toolkits.scalar.AbstractFlowAnalysis
entryInitialFlow, merge, mergeInto, treatTrapHandlersAsEntries
-
-
-
-
Method Detail
-
newInitialFlow
protected FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> newInitialFlow()
All INs are initialized to the empty set.- Specified by:
newInitialFlowin classAbstractFlowAnalysis<Unit,FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>>
-
flowThrough
protected void flowThrough(FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> in, Unit unit, FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> out)
OUT is the same as (IN minus killSet) plus the genSet.- Specified by:
flowThroughin classFlowAnalysis<Unit,FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>>- Parameters:
in- the input flowunit- the current nodeout- the returned flow
-
merge
protected void merge(FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> inSet1, FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> inSet2, FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> outSet)
union- Specified by:
mergein classAbstractFlowAnalysis<Unit,FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>>
-
copy
protected void copy(FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> sourceSet, FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair> destSet)
Description copied from class:AbstractFlowAnalysisCreates a copy of thesourceflow object indest.- Specified by:
copyin classAbstractFlowAnalysis<Unit,FlowSet<soot.jimple.toolkits.thread.synchronization.SynchronizedRegionFlowPair>>
-
-