T
- type of node in the supergraphP
- type of a procedure (like a box in an RSM)F
- type of factoids propagated when solving this problempublic class PartiallyBalancedTabulationSolver<T,P,F> extends TabulationSolver<T,P,F>
TabulationSolver.Result, TabulationSolver.Worklist
DEBUG_LEVEL, flowFunctionMap, PERIODIC_WIPE_SOFT_CACHES, progressMonitor, summaryEdges, supergraph, verbose
Modifier | Constructor and Description |
---|---|
protected |
PartiallyBalancedTabulationSolver(PartiallyBalancedTabulationProblem<T,P,F> p,
MonitorUtil.IProgressMonitor monitor) |
Modifier and Type | Method and Description |
---|---|
void |
addSeed(PathEdge<T> seed)
Restart tabulation from a particular path edge.
|
static <T,P,F> PartiallyBalancedTabulationSolver<T,P,F> |
createPartiallyBalancedTabulationSolver(PartiallyBalancedTabulationProblem<T,P,F> p,
MonitorUtil.IProgressMonitor monitor) |
protected boolean |
propagate(T s_p,
int i,
T n,
int j)
Propagate the fact
|
addToWorkList, computeBinaryFlow, computeFlow, computeInverseFlow, findOrCreateCallFlowEdges, findOrCreateLocalPathEdges, findOrCreateLocalSummaryEdges, getCurPathEdge, getCurSummaryEdge, getInversePathEdges, getLocalPathEdges, getProblem, getProgressMonitor, getResult, getSeeds, getSummarySources, getSupergraph, initialize, make, makeWorklist, performVerboseAction, popFromWorkList, processCall, processExit, processParticularCallee, recordCall, solve, tendToSoftCaches
protected PartiallyBalancedTabulationSolver(PartiallyBalancedTabulationProblem<T,P,F> p, MonitorUtil.IProgressMonitor monitor)
public static <T,P,F> PartiallyBalancedTabulationSolver<T,P,F> createPartiallyBalancedTabulationSolver(PartiallyBalancedTabulationProblem<T,P,F> p, MonitorUtil.IProgressMonitor monitor)
protected boolean propagate(T s_p, int i, T n, int j)
TabulationSolver
true
iff the path edge was not previously
observed.propagate
in class TabulationSolver<T,P,F>
s_p
- entry blocki
- dataflow fact on entryn
- reached blockj
- dataflow fact reachedpublic void addSeed(PathEdge<T> seed)
TabulationSolver
addSeed
in class TabulationSolver<T,P,F>