Index: runtime/vm/flow_graph_optimizer.h |
diff --git a/runtime/vm/flow_graph_optimizer.h b/runtime/vm/flow_graph_optimizer.h |
index f90b087296291748f259dcc3a7e568ab497b7367..09a0d95b0ff15f0dc8ebe79a1bd442770e48ade2 100644 |
--- a/runtime/vm/flow_graph_optimizer.h |
+++ b/runtime/vm/flow_graph_optimizer.h |
@@ -15,8 +15,9 @@ template <typename T> class DirectChainedHashMap; |
class FlowGraphOptimizer : public FlowGraphVisitor { |
public: |
- explicit FlowGraphOptimizer(const FlowGraph& flow_graph) |
- : FlowGraphVisitor(flow_graph.reverse_postorder()) {} |
+ explicit FlowGraphOptimizer(FlowGraph* flow_graph) |
+ : FlowGraphVisitor(flow_graph->reverse_postorder()), |
+ flow_graph_(flow_graph) { } |
virtual ~FlowGraphOptimizer() {} |
void ApplyICData(); |
@@ -48,6 +49,20 @@ class FlowGraphOptimizer : public FlowGraphVisitor { |
bool TryInlineInstanceMethod(BindInstr* instr, InstanceCallComp* comp); |
+ void AddCheckClass(BindInstr* instr, InstanceCallComp* comp, Value* value); |
+ |
+ BindInstr* InsertBefore(Instruction* instr, |
+ Computation* comp, |
+ Environment* env, |
+ BindInstr::UseKind use_kind); |
+ |
+ BindInstr* InsertAfter(Instruction* instr, |
+ Computation* comp, |
+ Environment* env, |
+ BindInstr::UseKind use_kind); |
+ |
+ FlowGraph* flow_graph_; |
+ |
DISALLOW_COPY_AND_ASSIGN(FlowGraphOptimizer); |
}; |