| Index: runtime/vm/flow_graph_compiler_ia32.h
|
| diff --git a/runtime/vm/flow_graph_compiler_ia32.h b/runtime/vm/flow_graph_compiler_ia32.h
|
| index 0577647532844c80853ff7b61ef75a90853f0ac0..d7622543219900685c55cae5f993bde277f13ce0 100644
|
| --- a/runtime/vm/flow_graph_compiler_ia32.h
|
| +++ b/runtime/vm/flow_graph_compiler_ia32.h
|
| @@ -29,6 +29,7 @@ class FlowGraphCompiler : public ValueObject {
|
| const ParsedFunction& parsed_function,
|
| const GrowableArray<BlockEntryInstr*>& block_order,
|
| bool is_optimizing,
|
| + bool is_ssa,
|
| bool is_leaf);
|
|
|
| ~FlowGraphCompiler();
|
| @@ -282,6 +283,7 @@ class FlowGraphCompiler : public ValueObject {
|
| GrowableArray<BlockInfo*> block_info_;
|
| GrowableArray<DeoptimizationStub*> deopt_stubs_;
|
| const bool is_optimizing_;
|
| + const bool is_ssa_;
|
| const bool is_dart_leaf_;
|
|
|
| const Bool& bool_true_;
|
| @@ -289,39 +291,15 @@ class FlowGraphCompiler : public ValueObject {
|
| const Class& double_class_;
|
|
|
| FrameRegisterAllocator frame_register_allocator_;
|
| + ParallelMoveResolver parallel_move_resolver_;
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler);
|
| -};
|
| + // Currently instructions generate deopt stubs internally by
|
| + // calling AddDeoptStub. To communicate deoptimization environment
|
| + // that should be used when deoptimizing we store it in this variable.
|
| + // In future AddDeoptStub should be moved out of the instruction template.
|
| + Environment* pending_deoptimization_env_;
|
|
|
| -
|
| -class DeoptimizationStub : public ZoneAllocated {
|
| - public:
|
| - DeoptimizationStub(intptr_t deopt_id,
|
| - intptr_t deopt_token_pos,
|
| - intptr_t try_index,
|
| - DeoptReasonId reason)
|
| - : deopt_id_(deopt_id),
|
| - deopt_token_pos_(deopt_token_pos),
|
| - try_index_(try_index),
|
| - reason_(reason),
|
| - registers_(2),
|
| - entry_label_() {}
|
| -
|
| - void Push(Register reg) { registers_.Add(reg); }
|
| - Label* entry_label() { return &entry_label_; }
|
| -
|
| - // Implementation is in architecture specific file.
|
| - void GenerateCode(FlowGraphCompiler* compiler);
|
| -
|
| - private:
|
| - const intptr_t deopt_id_;
|
| - const intptr_t deopt_token_pos_;
|
| - const intptr_t try_index_;
|
| - const DeoptReasonId reason_;
|
| - GrowableArray<Register> registers_;
|
| - Label entry_label_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(DeoptimizationStub);
|
| + DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler);
|
| };
|
|
|
| } // namespace dart
|
|
|