public class StoreLocalVarPlacementNode extends FlowGraphNode<StoreLocalVarPlacementProblem,StoreLocalVarPlacementNode>
basicBlock, problem| Constructor and Description |
|---|
StoreLocalVarPlacementNode(StoreLocalVarPlacementProblem prob,
BasicBlock n) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addStores(Map<Operand,Operand> varRenameMap,
Set<LocalVariable> excTargetDirtyVars) |
void |
applyPreMeetHandler()
Initialize this data flow node to compute the new solution
This is done before iteratively calling the MEET operator.
|
void |
applyTransferFunction(Instr i)
Apply transfer function to the instruction
|
void |
buildDataFlowVars(Instr i)
Builds the data-flow variables (or facts) for a particular instruction.
|
void |
compute_MEET(org.jruby.dirgra.Edge e,
StoreLocalVarPlacementNode 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 |
finalizeSolution()
Any required cleanup of state after applying transfer function
|
void |
init()
Initialize this data flow node for solving the current problem
This is done after building dataflow variables for the problem.
|
void |
initSolution()
Any setting up of state/initialization before applying transfer function
|
boolean |
solutionChanged()
Did dataflow solution for this node change from last time?
|
String |
toString() |
buildDataFlowVars, computeDataFlowInfo, computeDataFlowInfoBackward, computeDataFlowInfoForward, getBB, getCFG, getExceptionTargetNode, hasExceptionsRescuedpublic StoreLocalVarPlacementNode(StoreLocalVarPlacementProblem prob, BasicBlock n)
public void init()
FlowGraphNodeinit in class FlowGraphNode<StoreLocalVarPlacementProblem,StoreLocalVarPlacementNode>public void buildDataFlowVars(Instr i)
FlowGraphNodebuildDataFlowVars in class FlowGraphNode<StoreLocalVarPlacementProblem,StoreLocalVarPlacementNode>public void applyPreMeetHandler()
FlowGraphNodeapplyPreMeetHandler in class FlowGraphNode<StoreLocalVarPlacementProblem,StoreLocalVarPlacementNode>public void compute_MEET(org.jruby.dirgra.Edge e,
StoreLocalVarPlacementNode pred)
FlowGraphNodecompute_MEET in class FlowGraphNode<StoreLocalVarPlacementProblem,StoreLocalVarPlacementNode>public void initSolution()
FlowGraphNodeinitSolution in class FlowGraphNode<StoreLocalVarPlacementProblem,StoreLocalVarPlacementNode>public void applyTransferFunction(Instr i)
FlowGraphNodeapplyTransferFunction in class FlowGraphNode<StoreLocalVarPlacementProblem,StoreLocalVarPlacementNode>public boolean solutionChanged()
FlowGraphNodesolutionChanged in class FlowGraphNode<StoreLocalVarPlacementProblem,StoreLocalVarPlacementNode>public void finalizeSolution()
FlowGraphNodefinalizeSolution in class FlowGraphNode<StoreLocalVarPlacementProblem,StoreLocalVarPlacementNode>public boolean addStores(Map<Operand,Operand> varRenameMap, Set<LocalVariable> excTargetDirtyVars)
Copyright © 2001-2016 JRuby. All Rights Reserved.