| 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_X64_H_ | 5 #ifndef VM_FLOW_GRAPH_COMPILER_X64_H_ |
| 6 #define VM_FLOW_GRAPH_COMPILER_X64_H_ | 6 #define VM_FLOW_GRAPH_COMPILER_X64_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_x64.h. | 9 #error Include flow_graph_compiler.h instead of flow_graph_compiler_x64.h. |
| 10 #endif | 10 #endif |
| (...skipping 25 matching lines...) Expand all Loading... |
| 36 | 36 |
| 37 // Accessors. | 37 // Accessors. |
| 38 Assembler* assembler() const { return assembler_; } | 38 Assembler* assembler() const { return assembler_; } |
| 39 const ParsedFunction& parsed_function() const { return parsed_function_; } | 39 const ParsedFunction& parsed_function() const { return parsed_function_; } |
| 40 const GrowableArray<BlockEntryInstr*>& block_order() const { | 40 const GrowableArray<BlockEntryInstr*>& block_order() const { |
| 41 return block_order_; | 41 return block_order_; |
| 42 } | 42 } |
| 43 DescriptorList* pc_descriptors_list() const { | 43 DescriptorList* pc_descriptors_list() const { |
| 44 return pc_descriptors_list_; | 44 return pc_descriptors_list_; |
| 45 } | 45 } |
| 46 const GrowableObjectArray& object_table() { | |
| 47 return object_table_; | |
| 48 } | |
| 49 BlockEntryInstr* current_block() const { return current_block_; } | 46 BlockEntryInstr* current_block() const { return current_block_; } |
| 50 void set_current_block(BlockEntryInstr* value) { | 47 void set_current_block(BlockEntryInstr* value) { |
| 51 current_block_ = value; | 48 current_block_ = value; |
| 52 } | 49 } |
| 53 static bool CanOptimize(); | 50 static bool CanOptimize(); |
| 54 bool is_optimizing() const { return is_optimizing_; } | 51 bool is_optimizing() const { return is_optimizing_; } |
| 55 | 52 |
| 56 const GrowableArray<BlockInfo*>& block_info() const { return block_info_; } | 53 const GrowableArray<BlockInfo*>& block_info() const { return block_info_; } |
| 57 ParallelMoveResolver* parallel_move_resolver() { | 54 ParallelMoveResolver* parallel_move_resolver() { |
| 58 return ¶llel_move_resolver_; | 55 return ¶llel_move_resolver_; |
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 302 // Compiler specific per-block state. Indexed by postorder block number | 299 // Compiler specific per-block state. Indexed by postorder block number |
| 303 // for convenience. This is not the block's index in the block order, | 300 // for convenience. This is not the block's index in the block order, |
| 304 // which is reverse postorder. | 301 // which is reverse postorder. |
| 305 BlockEntryInstr* current_block_; | 302 BlockEntryInstr* current_block_; |
| 306 ExceptionHandlerList* exception_handlers_list_; | 303 ExceptionHandlerList* exception_handlers_list_; |
| 307 DescriptorList* pc_descriptors_list_; | 304 DescriptorList* pc_descriptors_list_; |
| 308 StackmapTableBuilder* stackmap_table_builder_; | 305 StackmapTableBuilder* stackmap_table_builder_; |
| 309 GrowableArray<BlockInfo*> block_info_; | 306 GrowableArray<BlockInfo*> block_info_; |
| 310 GrowableArray<CompilerDeoptInfo*> deopt_infos_; | 307 GrowableArray<CompilerDeoptInfo*> deopt_infos_; |
| 311 GrowableArray<SlowPathCode*> slow_path_code_; | 308 GrowableArray<SlowPathCode*> slow_path_code_; |
| 312 const GrowableObjectArray& object_table_; | |
| 313 const bool is_optimizing_; | 309 const bool is_optimizing_; |
| 314 const bool is_dart_leaf_; | 310 const bool is_dart_leaf_; |
| 315 | 311 |
| 316 const Bool& bool_true_; | 312 const Bool& bool_true_; |
| 317 const Bool& bool_false_; | 313 const Bool& bool_false_; |
| 318 const Class& double_class_; | 314 const Class& double_class_; |
| 319 | 315 |
| 320 ParallelMoveResolver parallel_move_resolver_; | 316 ParallelMoveResolver parallel_move_resolver_; |
| 321 | 317 |
| 322 // Currently instructions generate deopt stubs internally by | 318 // Currently instructions generate deopt stubs internally by |
| 323 // calling AddDeoptStub. To communicate deoptimization environment | 319 // calling AddDeoptStub. To communicate deoptimization environment |
| 324 // that should be used when deoptimizing we store it in this variable. | 320 // that should be used when deoptimizing we store it in this variable. |
| 325 // In future AddDeoptStub should be moved out of the instruction template. | 321 // In future AddDeoptStub should be moved out of the instruction template. |
| 326 Environment* pending_deoptimization_env_; | 322 Environment* pending_deoptimization_env_; |
| 327 | 323 |
| 328 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); | 324 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); |
| 329 }; | 325 }; |
| 330 | 326 |
| 331 } // namespace dart | 327 } // namespace dart |
| 332 | 328 |
| 333 #endif // VM_FLOW_GRAPH_COMPILER_X64_H_ | 329 #endif // VM_FLOW_GRAPH_COMPILER_X64_H_ |
| OLD | NEW |