public class LoadLocalVarPlacementNode extends FlowGraphNode<LoadLocalVarPlacementProblem,LoadLocalVarPlacementNode>
basicBlock, problem
Constructor and Description |
---|
LoadLocalVarPlacementNode(LoadLocalVarPlacementProblem prob,
BasicBlock n) |
Modifier and Type | Method and Description |
---|---|
void |
addLoads(Map<Operand,Operand> varRenameMap) |
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,
LoadLocalVarPlacementNode 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, hasExceptionsRescued
public LoadLocalVarPlacementNode(LoadLocalVarPlacementProblem prob, BasicBlock n)
public void init()
FlowGraphNode
init
in class FlowGraphNode<LoadLocalVarPlacementProblem,LoadLocalVarPlacementNode>
public void buildDataFlowVars(Instr i)
FlowGraphNode
buildDataFlowVars
in class FlowGraphNode<LoadLocalVarPlacementProblem,LoadLocalVarPlacementNode>
public void applyPreMeetHandler()
FlowGraphNode
applyPreMeetHandler
in class FlowGraphNode<LoadLocalVarPlacementProblem,LoadLocalVarPlacementNode>
public void compute_MEET(org.jruby.dirgra.Edge e, LoadLocalVarPlacementNode pred)
FlowGraphNode
compute_MEET
in class FlowGraphNode<LoadLocalVarPlacementProblem,LoadLocalVarPlacementNode>
public void initSolution()
FlowGraphNode
initSolution
in class FlowGraphNode<LoadLocalVarPlacementProblem,LoadLocalVarPlacementNode>
public void applyTransferFunction(Instr i)
FlowGraphNode
applyTransferFunction
in class FlowGraphNode<LoadLocalVarPlacementProblem,LoadLocalVarPlacementNode>
public boolean solutionChanged()
FlowGraphNode
solutionChanged
in class FlowGraphNode<LoadLocalVarPlacementProblem,LoadLocalVarPlacementNode>
public void finalizeSolution()
FlowGraphNode
finalizeSolution
in class FlowGraphNode<LoadLocalVarPlacementProblem,LoadLocalVarPlacementNode>
Copyright © 2001-2015 JRuby. All Rights Reserved.