Package com.ibm.wala.ssa
Class SSABuilder
- java.lang.Object
-
- com.ibm.wala.analysis.stackMachine.AbstractIntStackMachine
-
- com.ibm.wala.ssa.SSABuilder
-
- All Implemented Interfaces:
com.ibm.wala.fixpoint.FixedPointConstants
public class SSABuilder extends AbstractIntStackMachine
This class constructs an SSAIR
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
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
build()
Build the IRShrikeIndirectionData
getIndirectionData()
com.ibm.wala.ssa.SSABuilder.SSA2LocalMap
getLocalMap()
protected void
initializeVariables()
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 Detail
-
make
public static SSABuilder make(IBytecodeMethod<?> method, SSACFG cfg, ShrikeCFG scfg, SSAInstruction[] instructions, SymbolTable symbolTable, boolean buildLocalMap, SSAPiNodePolicy piNodePolicy) throws java.lang.IllegalArgumentException
- Throws:
java.lang.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
public ShrikeIndirectionData getIndirectionData()
-
-