Package org.jruby.ir.dataflow.analyses
Class LoadLocalVarPlacementNode
java.lang.Object
org.jruby.ir.dataflow.FlowGraphNode<LoadLocalVarPlacementProblem,LoadLocalVarPlacementNode>
org.jruby.ir.dataflow.analyses.LoadLocalVarPlacementNode
public class LoadLocalVarPlacementNode
extends FlowGraphNode<LoadLocalVarPlacementProblem,LoadLocalVarPlacementNode>
-
Field Summary
Fields inherited from class org.jruby.ir.dataflow.FlowGraphNode
basicBlock, problem
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
Initialize this data flow node to compute the new solution This is done before iteratively calling the MEET operator.void
Apply transfer function to the instructionvoid
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
Any required cleanup of state after applying transfer functionvoid
init()
Initialize this data flow node for solving the current problem This is done after building dataflow variables for the problem.void
Any setting up of state/initialization before applying transfer functionboolean
Did dataflow solution for this node change from last time?toString()
Methods inherited from class org.jruby.ir.dataflow.FlowGraphNode
buildDataFlowVars, computeDataFlowInfo, computeDataFlowInfoBackward, computeDataFlowInfoForward, getBB, getCFG, getExceptionTargetNode, hasExceptionsRescued
-
Constructor Details
-
LoadLocalVarPlacementNode
-
-
Method Details
-
init
public void init()Description copied from class:FlowGraphNode
Initialize this data flow node for solving the current problem This is done after building dataflow variables for the problem.- Overrides:
init
in classFlowGraphNode<LoadLocalVarPlacementProblem,
LoadLocalVarPlacementNode>
-
buildDataFlowVars
Description copied from class:FlowGraphNode
Builds the data-flow variables (or facts) for a particular instruction.- Specified by:
buildDataFlowVars
in classFlowGraphNode<LoadLocalVarPlacementProblem,
LoadLocalVarPlacementNode>
-
applyPreMeetHandler
public void applyPreMeetHandler()Description copied from class:FlowGraphNode
Initialize this data flow node to compute the new solution This is done before iteratively calling the MEET operator.- Specified by:
applyPreMeetHandler
in classFlowGraphNode<LoadLocalVarPlacementProblem,
LoadLocalVarPlacementNode>
-
compute_MEET
Description copied from class:FlowGraphNode
"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.- Specified by:
compute_MEET
in classFlowGraphNode<LoadLocalVarPlacementProblem,
LoadLocalVarPlacementNode>
-
initSolution
public void initSolution()Description copied from class:FlowGraphNode
Any setting up of state/initialization before applying transfer function- Overrides:
initSolution
in classFlowGraphNode<LoadLocalVarPlacementProblem,
LoadLocalVarPlacementNode>
-
applyTransferFunction
Description copied from class:FlowGraphNode
Apply transfer function to the instruction- Specified by:
applyTransferFunction
in classFlowGraphNode<LoadLocalVarPlacementProblem,
LoadLocalVarPlacementNode>
-
solutionChanged
public boolean solutionChanged()Description copied from class:FlowGraphNode
Did dataflow solution for this node change from last time?- Specified by:
solutionChanged
in classFlowGraphNode<LoadLocalVarPlacementProblem,
LoadLocalVarPlacementNode>
-
finalizeSolution
public void finalizeSolution()Description copied from class:FlowGraphNode
Any required cleanup of state after applying transfer function- Overrides:
finalizeSolution
in classFlowGraphNode<LoadLocalVarPlacementProblem,
LoadLocalVarPlacementNode>
-
toString
-
addLoads
-