| Modifier and Type | Field and Description |
|---|---|
| protected final BasicBlock | |
| protected final T | |
| private final BasicBlock |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public abstract void | applyPreMeetHandler()
Initialize this data flow node to compute the new solution This is done before iteratively calling the MEET operator. |
| public abstract void | |
| public abstract void | |
| public void | |
| public abstract void | compute_MEET(Edge<BasicBlock, CFG.
"MEET" current solution of "IN/OUT" with "OUT/IN(pred)", where "pred" is a predecessor of the current node! |
| public void | |
| public void | |
| public void | |
| public void | |
| public BasicBlock | |
| public CFG | |
| public U | |
| public boolean | |
| public void | init()
Initialize this data flow node for solving the current problem This is done after building dataflow variables for the problem. |
| public void | |
| private void | |
| public abstract boolean |
| basicBlock | back to summary |
|---|---|
| protected final BasicBlock basicBlock | |
| problem | back to summary |
|---|---|
| protected final T problem | |
| rescuer | back to summary |
|---|---|
| private final BasicBlock rescuer | |
| FlowGraphNode | back to summary |
|---|---|
| public FlowGraphNode(T problem, BasicBlock basicBlock) | |
| applyPreMeetHandler | back to summary |
|---|---|
| public abstract void applyPreMeetHandler() Initialize this data flow node to compute the new solution This is done before iteratively calling the MEET operator. | |
| applyTransferFunction | back to summary |
|---|---|
| public abstract void applyTransferFunction(Instr i) Apply transfer function to the instruction | |
| buildDataFlowVars | back to summary |
|---|---|
| public abstract void buildDataFlowVars(Instr i) Builds the data-flow variables (or facts) for a particular instruction. | |
| buildDataFlowVars | back to summary |
|---|---|
| public void buildDataFlowVars() Builds the data-flow variables (or facts) for a particular node. Need only create the DF_Var for them to be added to the problem. Goes over the instructions in this basic block and collect all relevant LOCAL data flow vars for this problem! | |
| compute_MEET | back to summary |
|---|---|
| public abstract void compute_MEET(Edge<BasicBlock, CFG. "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. | |
| computeDataFlowInfo | back to summary |
|---|---|
| public void computeDataFlowInfo(List<U> workList, BitSet bbSet) | |
| computeDataFlowInfoBackward | back to summary |
|---|---|
| public void computeDataFlowInfoBackward(List<U> workList, BitSet bbSet) | |
| computeDataFlowInfoForward | back to summary |
|---|---|
| public void computeDataFlowInfoForward(List<U> workList, BitSet bbSet) | |
| finalizeSolution | back to summary |
|---|---|
| public void finalizeSolution() Any required cleanup of state after applying transfer function | |
| getBB | back to summary |
|---|---|
| public BasicBlock getBB() | |
| getCFG | back to summary |
|---|---|
| public CFG getCFG() Get the control flow graph | |
| getExceptionTargetNode | back to summary |
|---|---|
| public U getExceptionTargetNode() | |
| hasExceptionsRescued | back to summary |
|---|---|
| public boolean hasExceptionsRescued() | |
| init | back to summary |
|---|---|
| public void init() Initialize this data flow node for solving the current problem This is done after building dataflow variables for the problem. | |
| initSolution | back to summary |
|---|---|
| public void initSolution() Any setting up of state/initialization before applying transfer function | |
| processDestBB | back to summary |
|---|---|
| private void processDestBB(List<U> workList, BitSet bbSet, BasicBlock d) | |
| solutionChanged | back to summary |
|---|---|
| public abstract boolean solutionChanged() Did dataflow solution for this node change from last time? | |