Class AbstractIntStackMachine
java.lang.Object
com.ibm.wala.analysis.stackMachine.AbstractIntStackMachine
- All Implemented Interfaces:
FixedPointConstants
- Direct Known Subclasses:
SSABuilder
Skeleton of functionality to propagate information through the Java bytecode stack machine using
ShrikeBT.
This class computes properties the Java operand stack and of the local variables at the beginning of each basic block.
In this implementation, each dataflow variable value is an integer, and the "meeter" object provides the meets
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
This gives some basic facilities for shoving things around on the stack.static interface
Interface which defines a flow function for a basic blockclass
Representation of the state of the JVM stack machine at some program point.protected static interface
A Meeter object provides the dataflow logic needed to meet the abstract machine state for a dataflow meet. -
Field Summary
Modifier and TypeFieldDescriptionstatic final int
static final int
static final boolean
Should uninitialized variables be considered TOP (optimistic) or BOTTOM (pessimistic);static final int
static final int
Fields inherited from interface com.ibm.wala.fixpoint.FixedPointConstants
CHANGED, CHANGED_AND_FIXED, CHANGED_MASK, FIXED_MASK, NOT_CHANGED, NOT_CHANGED_AND_FIXED, SIDE_EFFECT_MASK
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
protected void
Convenience method ...boolean
solve()
-
Field Details
-
TOP
public static final int TOP- See Also:
-
BOTTOM
public static final int BOTTOM- See Also:
-
UNANALYZED
public static final int UNANALYZED- See Also:
-
IGNORE
public static final int IGNORE- See Also:
-
OPTIMISTIC
public static final boolean OPTIMISTICShould uninitialized variables be considered TOP (optimistic) or BOTTOM (pessimistic);- See Also:
-
-
Constructor Details
-
AbstractIntStackMachine
-
-
Method Details
-
init
protected void init(AbstractIntStackMachine.Meeter meeter, AbstractIntStackMachine.FlowProvider flow) -
solve
public boolean solve() -
initializeVariables
protected void initializeVariables()Convenience method ... a little ugly .. perhaps delete later. -
getEntryState
-
getIn
- Returns:
- the state at the entry to a given block
-