|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jruby.compiler.ir.dataflow.FlowGraphNode
public abstract class FlowGraphNode
| Field Summary | |
|---|---|
protected BasicBlock |
_bb
|
protected DataFlowProblem |
_prob
|
| Constructor Summary | |
|---|---|
FlowGraphNode(DataFlowProblem p,
BasicBlock n)
|
|
| Method Summary | |
|---|---|
abstract boolean |
applyTransferFunction()
Compute "OUT/IN" for the current node! The choice of "IN/OUT" is determined by the direction of data flow. |
void |
buildDataFlowVars()
Builds the data-flow variables (or facts) for a particular node. |
abstract void |
buildDataFlowVars(Instr i)
Builds the data-flow variables (or facts) for a particular instruction. |
abstract void |
compute_MEET(CFG.CFG_Edge edge,
FlowGraphNode pred)
"MEET" current solution of "IN/OUT" with "OUT/IN(pred)", where "pred" is a predecessor of the current node! The choice of "IN/OUT" is determined by the direction of data flow. |
void |
computeDataFlowInfo(java.util.List<FlowGraphNode> workList,
java.util.BitSet bbSet)
|
void |
finalizeSolnForNode()
After meet has been performed, do some more logic. |
BasicBlock |
getBB()
|
void |
init()
Initialize this data flow node for solving the current problem This is done after building dataflow variables for the problem. |
abstract void |
initSolnForNode()
Initialize this data flow node to compute the new solution This is done before iteratively calling the MEET operator. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected DataFlowProblem _prob
protected BasicBlock _bb
| Constructor Detail |
|---|
public FlowGraphNode(DataFlowProblem p,
BasicBlock n)
| Method Detail |
|---|
public abstract void initSolnForNode()
public abstract void compute_MEET(CFG.CFG_Edge edge,
FlowGraphNode pred)
public abstract boolean applyTransferFunction()
public abstract void buildDataFlowVars(Instr i)
public void init()
public void finalizeSolnForNode()
public BasicBlock getBB()
public void buildDataFlowVars()
public void computeDataFlowInfo(java.util.List<FlowGraphNode> workList,
java.util.BitSet bbSet)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||