| 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_H_ | 5 #ifndef VM_FLOW_GRAPH_COMPILER_H_ |
| 6 #define VM_FLOW_GRAPH_COMPILER_H_ | 6 #define VM_FLOW_GRAPH_COMPILER_H_ |
| 7 | 7 |
| 8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
| 9 #include "vm/assembler.h" | 9 #include "vm/assembler.h" |
| 10 #include "vm/code_descriptors.h" | 10 #include "vm/code_descriptors.h" |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 251 | 251 |
| 252 DescriptorList* pc_descriptors_list() const { | 252 DescriptorList* pc_descriptors_list() const { |
| 253 return pc_descriptors_list_; | 253 return pc_descriptors_list_; |
| 254 } | 254 } |
| 255 BlockEntryInstr* current_block() const { return current_block_; } | 255 BlockEntryInstr* current_block() const { return current_block_; } |
| 256 void set_current_block(BlockEntryInstr* value) { | 256 void set_current_block(BlockEntryInstr* value) { |
| 257 current_block_ = value; | 257 current_block_ = value; |
| 258 } | 258 } |
| 259 static bool CanOptimize(); | 259 static bool CanOptimize(); |
| 260 bool CanOptimizeFunction() const; | 260 bool CanOptimizeFunction() const; |
| 261 bool CanOSRFunction() const; |
| 261 bool is_optimizing() const { return is_optimizing_; } | 262 bool is_optimizing() const { return is_optimizing_; } |
| 262 | 263 |
| 263 const GrowableArray<BlockInfo*>& block_info() const { return block_info_; } | 264 const GrowableArray<BlockInfo*>& block_info() const { return block_info_; } |
| 264 ParallelMoveResolver* parallel_move_resolver() { | 265 ParallelMoveResolver* parallel_move_resolver() { |
| 265 return ¶llel_move_resolver_; | 266 return ¶llel_move_resolver_; |
| 266 } | 267 } |
| 267 | 268 |
| 268 // Constructor is lighweight, major initialization work should occur here. | 269 // Constructor is lighweight, major initialization work should occur here. |
| 269 // This makes it easier to measure time spent in the compiler. | 270 // This makes it easier to measure time spent in the compiler. |
| 270 void InitCompiler(); | 271 void InitCompiler(); |
| (...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 590 // that should be used when deoptimizing we store it in this variable. | 591 // that should be used when deoptimizing we store it in this variable. |
| 591 // In future AddDeoptStub should be moved out of the instruction template. | 592 // In future AddDeoptStub should be moved out of the instruction template. |
| 592 Environment* pending_deoptimization_env_; | 593 Environment* pending_deoptimization_env_; |
| 593 | 594 |
| 594 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); | 595 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); |
| 595 }; | 596 }; |
| 596 | 597 |
| 597 } // namespace dart | 598 } // namespace dart |
| 598 | 599 |
| 599 #endif // VM_FLOW_GRAPH_COMPILER_H_ | 600 #endif // VM_FLOW_GRAPH_COMPILER_H_ |
| OLD | NEW |