|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object joeq.Compiler.Dataflow.Solver joeq.Compiler.Dataflow.WorklistSolver joeq.Compiler.Dataflow.PriorityQueueSolver
public class PriorityQueueSolver
PriorityQueueSolver
Field Summary | |
---|---|
protected Map |
nodesToPriorities
Map from nodes to their (integer) priorities. |
protected jwutil.collections.MaxPriorityQueue |
worklist
Priority-queue implementation of the worklist. |
Fields inherited from class joeq.Compiler.Dataflow.WorklistSolver |
---|
boundaries, graphNavigator |
Fields inherited from class joeq.Compiler.Dataflow.Solver |
---|
dataflowValues, factory, problem |
Constructor Summary | |
---|---|
PriorityQueueSolver()
|
|
PriorityQueueSolver(jwutil.collections.MapFactory f)
|
Method Summary | |
---|---|
Iterator |
allLocations()
Returns an iteration of all graph locations. |
protected boolean |
hasNext()
Returns true if the worklist is not empty, false otherwise. |
void |
initialize(Problem p,
jwutil.graphs.Graph graph)
Initializes the solver to prepare to solve the dataflow problem on the given graph. |
void |
initialize(Problem p,
jwutil.graphs.Graph graph,
List traversalOrder)
Initializes this solver with the given dataflow problem, graph, and traversal order. |
protected void |
initializeTraversalOrder(List order)
|
protected void |
initializeWorklist()
(Re-)initialize the worklist. |
protected Object |
pull()
Pull the next location off of the worklist. |
protected void |
pushAll(Collection c)
Push all of the given locations onto the worklist. |
Methods inherited from class joeq.Compiler.Dataflow.WorklistSolver |
---|
boundaryLocations, getPredecessors, getSuccessors, solve |
Methods inherited from class joeq.Compiler.Dataflow.Solver |
---|
compareResults, direction, dumpResults, getDataflowValue, initializeDataflowValueMap, reset |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Map nodesToPriorities
protected jwutil.collections.MaxPriorityQueue worklist
Constructor Detail |
---|
public PriorityQueueSolver(jwutil.collections.MapFactory f)
public PriorityQueueSolver()
Method Detail |
---|
public void initialize(Problem p, jwutil.graphs.Graph graph)
Solver
initialize
in class WorklistSolver
public void initialize(Problem p, jwutil.graphs.Graph graph, List traversalOrder)
Solver.initialize(joeq.Compiler.Dataflow.Problem, jwutil.graphs.Graph)
protected void initializeTraversalOrder(List order)
public Iterator allLocations()
Solver
allLocations
in class Solver
protected void initializeWorklist()
WorklistSolver
initializeWorklist
in class WorklistSolver
protected boolean hasNext()
WorklistSolver
hasNext
in class WorklistSolver
protected Object pull()
WorklistSolver
pull
in class WorklistSolver
protected void pushAll(Collection c)
WorklistSolver
pushAll
in class WorklistSolver
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |