public class DynamicRegion extends java.lang.Object implements Region
Modifier and Type | Field and Description |
---|---|
ArrayExpressions |
arrayOutputs
Holds output expressions to be written into arrays
|
DynamicTable<za.ac.sun.cs.green.expr.Expression> |
constantsTable |
Stmt |
dynStmt
A statement that represents the region after instantiation.
|
RemoveEarlyReturns.ReturnResult |
earlyReturnResult |
int |
endIns
Identifies the End Position that the region is summarizing and which also SPF to resume from.
|
FieldRefTypeTable |
fieldRefTypeTable
An environment table that holds the types of all field variables, referenced by FieldRefVarExpr objects, in the region.
|
DynamicTable |
inputTable
A table that holds inputs to the region.
|
com.ibm.wala.ssa.IR |
ir
This holds the static version of the region that is matching this instantiation.
|
boolean |
isMethodRegion
Identifies if the dynamic region corresponds to a region that starts with a condition, or is it enclosing the summary of the whole method.
|
int |
maxDepth
Holds the total number of IfThenElseStmts present in this static region
|
DynamicOutputTable |
outputTable
An environment able that holds the vars that needs to be populate their summarized output to SPF.
|
FieldSubscriptMap |
psm
Holds path subscript map for field references in the region
|
za.ac.sun.cs.green.expr.Expression |
regionSummary
This holds the region greeen expression after all transformations are done.
|
DynamicTable |
slotParamTable
A table that holds the mapping of vars in the dynamic statement to their corresponding stack slot.
|
SPFCaseList |
spfCaseList
Holds all SPFCases predicates that are not statically summarized and are left for SPF to explore.
|
za.ac.sun.cs.green.expr.Expression |
spfPredicateSummary
This carries the green expression under which partial evaluation will be done with SPF.
|
WalaVarExpr |
stackOutput
Holds the expression that should be written out to the stack
|
long |
totalNumPaths
Holds the total number of execution paths that can be taken through this region
|
static int |
uniqueCounter
unique counter used to maintain uniqueness among vars in case a region was used multiple times, like in a loop.
|
DynamicTable |
varTypeTable
An environment table that holds the types of all Wala vars in the region.
|
Constructor and Description |
---|
DynamicRegion(DynamicRegion oldDynRegion,
Stmt dynStmt,
SPFCaseList spfCaseList,
za.ac.sun.cs.green.expr.Expression regionSummary,
za.ac.sun.cs.green.expr.Expression spfRegionSummary,
RemoveEarlyReturns.ReturnResult earlyReturnResult) |
DynamicRegion(StaticRegion staticRegion,
Stmt dynStmt,
int uniqueNum,
RemoveEarlyReturns.ReturnResult returnResult)
Constructor that is used to create a dynamic region out of a static region.
|
public static int uniqueCounter
public final Stmt dynStmt
public final DynamicTable slotParamTable
public final DynamicTable inputTable
public final DynamicOutputTable outputTable
public final com.ibm.wala.ssa.IR ir
public final DynamicTable varTypeTable
public int maxDepth
public long totalNumPaths
public final FieldRefTypeTable fieldRefTypeTable
public FieldSubscriptMap psm
public final int endIns
public final boolean isMethodRegion
public final SPFCaseList spfCaseList
public final za.ac.sun.cs.green.expr.Expression regionSummary
public final za.ac.sun.cs.green.expr.Expression spfPredicateSummary
public ArrayExpressions arrayOutputs
public DynamicTable<za.ac.sun.cs.green.expr.Expression> constantsTable
public RemoveEarlyReturns.ReturnResult earlyReturnResult
public WalaVarExpr stackOutput
public DynamicRegion(DynamicRegion oldDynRegion, Stmt dynStmt, SPFCaseList spfCaseList, za.ac.sun.cs.green.expr.Expression regionSummary, za.ac.sun.cs.green.expr.Expression spfRegionSummary, RemoveEarlyReturns.ReturnResult earlyReturnResult)
public DynamicRegion(StaticRegion staticRegion, Stmt dynStmt, int uniqueNum, RemoveEarlyReturns.ReturnResult returnResult) throws StaticRegionException, java.lang.CloneNotSupportedException
staticRegion
- dynStmt
- uniqueNum
- StaticRegionException
java.lang.CloneNotSupportedException