Package soot.toolkits.scalar

A number of scalar optimizations, and the flow analysis framework.

See:
          Description

Interface Summary
BoundedFlowSet Represents bounded information for flow analysis.
CombinedAnalysis Analysis that computes live locals, local defs, and local uses all at once.
FlowSet Represents information for flow analysis.
FlowUniverse<E> Provides an interface of a flow universe, used by an implementation of BoundedFlowSet to do complementation.
LiveLocals Provides an interface for querying for the list of Locals that are live before an after a given unit in a method.
LocalDefs Provides an interface for querying for the definitions of a Local at a given Unit in a method.
LocalUses Provides an interface to find the Units that use a Local defined at a given Unit.
 

Class Summary
AbstractBoundedFlowSet provides functional code for most of the methods.
AbstractFlowAnalysis<N,A> An abstract class providing a metaframework for carrying out dataflow analysis.
AbstractFlowSet provides functional code for most of the methods.
ArrayFlowUniverse<E> Provides an implementation of a flow universe, wrapping arrays.
ArrayPackedSet Reference implementation for a BoundedFlowSet.
ArraySparseSet Reference implementation for a FlowSet.
BackwardFlowAnalysis<N,A> Abstract class that provides the fixed point iteration functionality required by all BackwardFlowAnalyses.
BinaryIdentitySet<T> An optimized kind of IdentityHashSet that only holds two objects.
BranchedFlowAnalysis<N extends Unit,A> Abstract class providing functionality for branched flow analysis.
CollectionFlowUniverse<E> Provides an implementation of a flow universe, wrapping collections.
CombinedDUAnalysis Analysis that computes live locals, local defs, and local uses all at once.
FastColorer Provides methods for register coloring.
FastColorer.UnitInterferenceGraph Implementation of a unit interference graph.
FlowAnalysis<N,A> An abstract class providing a framework for carrying out dataflow analysis.
ForwardBranchedFlowAnalysis<A> Abstract class providing an engine for branched forward flow analysis.
ForwardFlowAnalysis<N,A> Abstract class that provides the fixed point iteration functionality required by all ForwardFlowAnalyses.
GuaranteedDefs Find all locals guaranteed to be defined at (just before) a given program point.
IdentityPair<T,U> Just a pair of arbitrary objects.
InitAnalysis An analysis to check whether or not local variables have been initialised.
LocalPacker A BodyTransformer that attemps to minimize the number of local variables used in Body by 'reusing' them when possible.
LocalSplitter A BodyTransformer that attemps to indentify and separate uses of a local varible that are independent of each other.
LocalUnitPair Utility class used to package a Local and a Unit together.
ObjectIntMapper<E> gives an injection of Objects to ints.
Pair<T,U> Just a pair of arbitrary objects.
SimpleLiveLocals Analysis that provides an implementation of the LiveLocals interface.
SimpleLocalDefs Analysis that provides an implementation of the LocalDefs interface.
SimpleLocalUses Analysis that implements the LocalUses interface.
SmartLocalDefs Analysis that provides an implementation of the LocalDefs interface.
UnitValueBoxPair Utility class used to package a Unit and a ValueBox together.
UnusedLocalEliminator A BodyTransformer that removes all unused local variables from a given Body.
ValueUnitPair Utility class used to package a Value and a Unit together.
 

Package soot.toolkits.scalar Description

A number of scalar optimizations, and the flow analysis framework.