public class UnboxableOpsAnalysisNode extends FlowGraphNode<UnboxableOpsAnalysisProblem,UnboxableOpsAnalysisNode>
basicBlock, problem| Constructor and Description |
|---|
UnboxableOpsAnalysisNode(UnboxableOpsAnalysisProblem prob,
BasicBlock n) |
| Modifier and Type | Method and Description |
|---|---|
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 |
boxVar(org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.UnboxState state,
Class reqdType,
Map<Variable,TemporaryLocalVariable> unboxMap,
Variable v,
List<Instr> newInstrs) |
void |
buildDataFlowVars(Instr i)
Builds the data-flow variables (or facts) for a particular instruction.
|
void |
compute_MEET(org.jruby.dirgra.Edge e,
UnboxableOpsAnalysisNode 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() |
void |
unbox(Map<Variable,TemporaryLocalVariable> unboxMap) |
void |
unboxVar(org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.UnboxState state,
Class reqdType,
Map<Variable,TemporaryLocalVariable> unboxMap,
Variable v,
List<Instr> newInstrs) |
buildDataFlowVars, computeDataFlowInfo, computeDataFlowInfoBackward, computeDataFlowInfoForward, getBB, getCFG, getExceptionTargetNode, hasExceptionsRescuedpublic UnboxableOpsAnalysisNode(UnboxableOpsAnalysisProblem prob, BasicBlock n)
public void init()
FlowGraphNodeinit in class FlowGraphNode<UnboxableOpsAnalysisProblem,UnboxableOpsAnalysisNode>public void buildDataFlowVars(Instr i)
FlowGraphNodebuildDataFlowVars in class FlowGraphNode<UnboxableOpsAnalysisProblem,UnboxableOpsAnalysisNode>public void applyPreMeetHandler()
FlowGraphNodeapplyPreMeetHandler in class FlowGraphNode<UnboxableOpsAnalysisProblem,UnboxableOpsAnalysisNode>public void compute_MEET(org.jruby.dirgra.Edge e,
UnboxableOpsAnalysisNode pred)
FlowGraphNodecompute_MEET in class FlowGraphNode<UnboxableOpsAnalysisProblem,UnboxableOpsAnalysisNode>public void initSolution()
FlowGraphNodeinitSolution in class FlowGraphNode<UnboxableOpsAnalysisProblem,UnboxableOpsAnalysisNode>public void applyTransferFunction(Instr i)
FlowGraphNodeapplyTransferFunction in class FlowGraphNode<UnboxableOpsAnalysisProblem,UnboxableOpsAnalysisNode>public boolean solutionChanged()
FlowGraphNodesolutionChanged in class FlowGraphNode<UnboxableOpsAnalysisProblem,UnboxableOpsAnalysisNode>public void finalizeSolution()
FlowGraphNodefinalizeSolution in class FlowGraphNode<UnboxableOpsAnalysisProblem,UnboxableOpsAnalysisNode>public void boxVar(org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.UnboxState state,
Class reqdType,
Map<Variable,TemporaryLocalVariable> unboxMap,
Variable v,
List<Instr> newInstrs)
public void unboxVar(org.jruby.ir.dataflow.analyses.UnboxableOpsAnalysisNode.UnboxState state,
Class reqdType,
Map<Variable,TemporaryLocalVariable> unboxMap,
Variable v,
List<Instr> newInstrs)
public void unbox(Map<Variable,TemporaryLocalVariable> unboxMap)
Copyright © 2001-2016 JRuby. All Rights Reserved.