OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef VM_FLOW_GRAPH_COMPILER_IA32_H_ | 5 #ifndef VM_FLOW_GRAPH_COMPILER_IA32_H_ |
6 #define VM_FLOW_GRAPH_COMPILER_IA32_H_ | 6 #define VM_FLOW_GRAPH_COMPILER_IA32_H_ |
7 | 7 |
8 #ifndef VM_FLOW_GRAPH_COMPILER_H_ | 8 #ifndef VM_FLOW_GRAPH_COMPILER_H_ |
9 #error Include flow_graph_compiler.h instead of flow_graph_compiler_ia32.h. | 9 #error Include flow_graph_compiler.h instead of flow_graph_compiler_ia32.h. |
10 #endif | 10 #endif |
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
298 public: | 298 public: |
299 DeoptimizationStub(intptr_t deopt_id, | 299 DeoptimizationStub(intptr_t deopt_id, |
300 intptr_t deopt_token_pos, | 300 intptr_t deopt_token_pos, |
301 intptr_t try_index, | 301 intptr_t try_index, |
302 DeoptReasonId reason) | 302 DeoptReasonId reason) |
303 : deopt_id_(deopt_id), | 303 : deopt_id_(deopt_id), |
304 deopt_token_pos_(deopt_token_pos), | 304 deopt_token_pos_(deopt_token_pos), |
305 try_index_(try_index), | 305 try_index_(try_index), |
306 reason_(reason), | 306 reason_(reason), |
307 registers_(2), | 307 registers_(2), |
| 308 deoptimization_env_(NULL), |
308 entry_label_() {} | 309 entry_label_() {} |
309 | 310 |
310 void Push(Register reg) { registers_.Add(reg); } | 311 void Push(Register reg) { registers_.Add(reg); } |
311 Label* entry_label() { return &entry_label_; } | 312 Label* entry_label() { return &entry_label_; } |
312 | 313 |
313 // Implementation is in architecture specific file. | 314 // Implementation is in architecture specific file. |
314 void GenerateCode(FlowGraphCompiler* compiler); | 315 void GenerateCode(FlowGraphCompiler* compiler); |
315 | 316 |
316 private: | 317 private: |
317 const intptr_t deopt_id_; | 318 const intptr_t deopt_id_; |
318 const intptr_t deopt_token_pos_; | 319 const intptr_t deopt_token_pos_; |
319 const intptr_t try_index_; | 320 const intptr_t try_index_; |
320 const DeoptReasonId reason_; | 321 const DeoptReasonId reason_; |
321 GrowableArray<Register> registers_; | 322 GrowableArray<Register> registers_; |
| 323 const Environment* deoptimization_env_; |
322 Label entry_label_; | 324 Label entry_label_; |
323 | 325 |
324 DISALLOW_COPY_AND_ASSIGN(DeoptimizationStub); | 326 DISALLOW_COPY_AND_ASSIGN(DeoptimizationStub); |
325 }; | 327 }; |
326 | 328 |
327 } // namespace dart | 329 } // namespace dart |
328 | 330 |
329 #endif // VM_FLOW_GRAPH_COMPILER_IA32_H_ | 331 #endif // VM_FLOW_GRAPH_COMPILER_IA32_H_ |
OLD | NEW |