Class SSABuilder
java.lang.Object
com.ibm.wala.analysis.stackMachine.AbstractIntStackMachine
com.ibm.wala.ssa.SSABuilder
- All Implemented Interfaces:
FixedPointConstants
This class constructs an SSA
IR
from a backing ShrikeBT instruction stream.
The basic algorithm here is an abstract interpretation over the Java bytecode to determine types of stack locations and local variables. As a side effect, the flow functions of the abstract interpretation emit instructions, eliminating the stack abstraction and moving to a register-transfer language in SSA form.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.ibm.wala.analysis.stackMachine.AbstractIntStackMachine
AbstractIntStackMachine.BasicStackFlowProvider, AbstractIntStackMachine.FlowProvider, AbstractIntStackMachine.MachineState, AbstractIntStackMachine.Meeter
-
Field Summary
Fields inherited from class com.ibm.wala.analysis.stackMachine.AbstractIntStackMachine
BOTTOM, IGNORE, OPTIMISTIC, TOP, UNANALYZED
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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
build()
Build the IRcom.ibm.wala.ssa.SSABuilder.SSA2LocalMap
protected void
Convenience method ...static SSABuilder
make
(IBytecodeMethod<?> method, SSACFG cfg, ShrikeCFG scfg, SSAInstruction[] instructions, SymbolTable symbolTable, boolean buildLocalMap, SSAPiNodePolicy piNodePolicy) Methods inherited from class com.ibm.wala.analysis.stackMachine.AbstractIntStackMachine
getEntryState, getIn, init, solve
-
Method Details
-
make
public static SSABuilder make(IBytecodeMethod<?> method, SSACFG cfg, ShrikeCFG scfg, SSAInstruction[] instructions, SymbolTable symbolTable, boolean buildLocalMap, SSAPiNodePolicy piNodePolicy) throws IllegalArgumentException - Throws:
IllegalArgumentException
-
initializeVariables
protected void initializeVariables()Description copied from class:AbstractIntStackMachine
Convenience method ... a little ugly .. perhaps delete later.- Overrides:
initializeVariables
in classAbstractIntStackMachine
-
build
public void build()Build the IR -
getLocalMap
public com.ibm.wala.ssa.SSABuilder.SSA2LocalMap getLocalMap() -
getIndirectionData
-