soot.toolkits.scalar |
Soot scalar toolkit
A number of scalar optimizations, and the flow analysis framework.
|
Java Source File Name | Type | Comment |
AbstractBoundedFlowSet.java | Class | provides functional code for most of the methods. |
AbstractFlowAnalysis.java | Class | An abstract class providing a metaframework for carrying out
dataflow analysis. |
AbstractFlowSet.java | Class | provides functional code for most of the methods. |
ArrayFlowUniverse.java | Class | Provides an implementation of a flow universe, wrapping arrays. |
ArrayPackedSet.java | Class | Reference implementation for a BoundedFlowSet. |
ArraySparseSet.java | Class | Reference implementation for a FlowSet. |
BackwardFlowAnalysis.java | Class | Abstract class that provides the fixed point iteration functionality
required by all BackwardFlowAnalyses. |
BinaryIdentitySet.java | Class | An optimized kind of
IdentityHashSet that only holds two objects. |
BoundedFlowSet.java | Interface | Represents bounded information for flow analysis. |
BranchedFlowAnalysis.java | Class | Abstract class providing functionality for branched flow analysis.
A branched flow analysis is one which can propagate different
information to the successors of a node. |
CollectionFlowUniverse.java | Class | Provides an implementation of a flow universe, wrapping collections. |
CombinedAnalysis.java | Interface | Analysis that computes live locals, local defs, and local uses all at once. |
CombinedDUAnalysis.java | Class | Analysis that computes live locals, local defs, and local uses all at once. |
FastColorer.java | Class | Provides methods for register coloring. |
FlowAnalysis.java | Class | An abstract class providing a framework for carrying out dataflow analysis.
Subclassing either BackwardFlowAnalysis or ForwardFlowAnalysis and providing
implementations for the abstract methods will allow Soot to compute the
corresponding flow analysis. |
FlowSet.java | Interface | Represents information for flow analysis. |
FlowUniverse.java | Interface | Provides an interface of a flow universe, used by an implementation
of BoundedFlowSet to do complementation. |
ForwardBranchedFlowAnalysis.java | Class | Abstract class providing an engine for branched forward flow analysis. |
ForwardFlowAnalysis.java | Class | Abstract class that provides the fixed point iteration functionality
required by all ForwardFlowAnalyses. |
GuaranteedDefs.java | Class | Find all locals guaranteed to be defined at (just before) a given
program point. |
IdentityPair.java | Class | Just a pair of arbitrary objects. |
InitAnalysis.java | Class | An analysis to check whether or not local variables have been initialised. |
LiveLocals.java | Interface | Provides an interface for querying for the list of Locals that are
live before an after a given unit in a method. |
LocalDefs.java | Interface | Provides an interface for querying for the definitions of a Local
at a given Unit in a method. |
LocalPacker.java | Class | A BodyTransformer that attemps to minimize the number of local variables used in
Body by 'reusing' them when possible. |
LocalSplitter.java | Class | A BodyTransformer that attemps to indentify and separate uses of a local
varible that are independent of each other. |
LocalUnitPair.java | Class | Utility class used to package a Local and a Unit together. |
LocalUses.java | Interface | Provides an interface to find the Units that use
a Local defined at a given Unit. |
ObjectIntMapper.java | Class | gives an injection of Objects to ints. |
Pair.java | Class | Just a pair of arbitrary objects. |
SimpleLiveLocals.java | Class | Analysis that provides an implementation of the LiveLocals interface. |
SimpleLocalDefs.java | Class | Analysis that provides an implementation of the LocalDefs interface. |
SimpleLocalUses.java | Class | Analysis that implements the LocalUses interface. |
SmartLocalDefs.java | Class | Analysis that provides an implementation of the LocalDefs interface. |
UnitValueBoxPair.java | Class | Utility class used to package a Unit and a ValueBox together. |
UnusedLocalEliminator.java | Class | A BodyTransformer that removes all unused local variables from a given Body. |
ValueUnitPair.java | Class | Utility class used to package a Value and a Unit together. |