Chromium Code Reviews| Index: runtime/vm/flow_graph.h |
| diff --git a/runtime/vm/flow_graph.h b/runtime/vm/flow_graph.h |
| index 3d7c51d12e2f90d7b0c58fd43ef695a2fe34d4cb..4f9a2d2bd1efde0bd91d2b708c39fce61903a9ab 100644 |
| --- a/runtime/vm/flow_graph.h |
| +++ b/runtime/vm/flow_graph.h |
| @@ -10,11 +10,14 @@ |
| namespace dart { |
| +class BindInstr; |
| class BlockEntryInstr; |
| +class StaticCallComp; |
| class Definition; |
| class FlowGraphBuilder; |
| class GraphEntryInstr; |
| class PhiInstr; |
| +class ReturnInstr; |
| // Class to incapsulate the construction and manipulation of the flow graph. |
| class FlowGraph: public ZoneAllocated { |
| @@ -60,12 +63,19 @@ class FlowGraph: public ZoneAllocated { |
| return graph_entry_; |
| } |
| + ZoneGrowableArray<ReturnInstr*>* exits() const { return exits_; } |
| + void set_exits(ZoneGrowableArray<ReturnInstr*>* exits) { exits_ = exits; } |
| + |
| intptr_t alloc_ssa_temp_index() { return current_ssa_temp_index_++; } |
| // Operations on the flow graph. |
| - void ComputeSSA(); |
| + void ComputeSSA(intptr_t next_virtual_register_number = 0); |
|
srdjan
2012/09/05 17:40:05
Avoid using default arguments. There is only one c
zerny-google
2012/09/07 14:08:43
Done. (In next CL for inlining monomorphic calls.)
|
| void ComputeUseLists(); |
| + void InlineCall(BindInstr* caller_instr, |
| + StaticCallComp* caller_comp, |
| + FlowGraph* callee_graph); |
| + |
| // TODO(zerny): Once the SSA is feature complete this should be removed. |
| void Bailout(const char* reason) const; |
| @@ -121,6 +131,7 @@ class FlowGraph: public ZoneAllocated { |
| GrowableArray<BlockEntryInstr*> preorder_; |
| GrowableArray<BlockEntryInstr*> postorder_; |
| GrowableArray<BlockEntryInstr*> reverse_postorder_; |
| + ZoneGrowableArray<ReturnInstr*>* exits_; |
| }; |
| } // namespace dart |