| Index: runtime/vm/flow_graph.h
|
| ===================================================================
|
| --- runtime/vm/flow_graph.h (revision 41393)
|
| +++ runtime/vm/flow_graph.h (working copy)
|
| @@ -111,6 +111,15 @@
|
| return num_non_copied_params_;
|
| }
|
|
|
| + LocalVariable* CurrentContextVar() const {
|
| + return parsed_function().current_context_var();
|
| + }
|
| +
|
| + intptr_t CurrentContextEnvIndex() const {
|
| + return parsed_function().current_context_var()->BitIndexIn(
|
| + num_non_copied_params_);
|
| + }
|
| +
|
| // Flow graph orders.
|
| const GrowableArray<BlockEntryInstr*>& preorder() const {
|
| return preorder_;
|
| @@ -159,6 +168,10 @@
|
| return constant_dead_;
|
| }
|
|
|
| + ConstantInstr* constant_empty_context() const {
|
| + return constant_empty_context_;
|
| + }
|
| +
|
| intptr_t alloc_ssa_temp_index() { return current_ssa_temp_index_++; }
|
|
|
| void AllocateSSAIndexes(Definition* def) {
|
| @@ -296,7 +309,8 @@
|
| void InsertPhis(
|
| const GrowableArray<BlockEntryInstr*>& preorder,
|
| const GrowableArray<BitVector*>& assigned_vars,
|
| - const GrowableArray<BitVector*>& dom_frontier);
|
| + const GrowableArray<BitVector*>& dom_frontier,
|
| + GrowableArray<PhiInstr*>* live_phis);
|
|
|
| void RemoveDeadPhis(GrowableArray<PhiInstr*>* live_phis);
|
|
|
| @@ -333,6 +347,7 @@
|
| GrowableArray<BlockEntryInstr*> optimized_block_order_;
|
| ConstantInstr* constant_null_;
|
| ConstantInstr* constant_dead_;
|
| + ConstantInstr* constant_empty_context_;
|
|
|
| BlockEffects* block_effects_;
|
| bool licm_allowed_;
|
|
|