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 RUNTIME_VM_FLOW_GRAPH_COMPILER_H_ | 5 #ifndef RUNTIME_VM_FLOW_GRAPH_COMPILER_H_ |
6 #define RUNTIME_VM_FLOW_GRAPH_COMPILER_H_ | 6 #define RUNTIME_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 473 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
484 // Returns true if there is a next block after the current one in | 484 // Returns true if there is a next block after the current one in |
485 // the block order and if it is the given block. | 485 // the block order and if it is the given block. |
486 bool CanFallThroughTo(BlockEntryInstr* block_entry) const; | 486 bool CanFallThroughTo(BlockEntryInstr* block_entry) const; |
487 | 487 |
488 // Return true-, false- and fall-through label for a branch instruction. | 488 // Return true-, false- and fall-through label for a branch instruction. |
489 BranchLabels CreateBranchLabels(BranchInstr* branch) const; | 489 BranchLabels CreateBranchLabels(BranchInstr* branch) const; |
490 | 490 |
491 void AddExceptionHandler(intptr_t try_index, | 491 void AddExceptionHandler(intptr_t try_index, |
492 intptr_t outer_try_index, | 492 intptr_t outer_try_index, |
493 intptr_t pc_offset, | 493 intptr_t pc_offset, |
| 494 TokenPosition token_pos, |
| 495 bool is_generated, |
494 const Array& handler_types, | 496 const Array& handler_types, |
495 bool needs_stacktrace); | 497 bool needs_stacktrace); |
496 void SetNeedsStackTrace(intptr_t try_index); | 498 void SetNeedsStackTrace(intptr_t try_index); |
497 void AddCurrentDescriptor(RawPcDescriptors::Kind kind, | 499 void AddCurrentDescriptor(RawPcDescriptors::Kind kind, |
498 intptr_t deopt_id, | 500 intptr_t deopt_id, |
499 TokenPosition token_pos); | 501 TokenPosition token_pos); |
500 void AddDescriptor(RawPcDescriptors::Kind kind, | 502 void AddDescriptor(RawPcDescriptors::Kind kind, |
501 intptr_t pc_offset, | 503 intptr_t pc_offset, |
502 intptr_t deopt_id, | 504 intptr_t deopt_id, |
503 TokenPosition token_pos, | 505 TokenPosition token_pos, |
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
798 ZoneGrowableArray<const ICData*>* deopt_id_to_ic_data_; | 800 ZoneGrowableArray<const ICData*>* deopt_id_to_ic_data_; |
799 | 801 |
800 Array& edge_counters_array_; | 802 Array& edge_counters_array_; |
801 | 803 |
802 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); | 804 DISALLOW_COPY_AND_ASSIGN(FlowGraphCompiler); |
803 }; | 805 }; |
804 | 806 |
805 } // namespace dart | 807 } // namespace dart |
806 | 808 |
807 #endif // RUNTIME_VM_FLOW_GRAPH_COMPILER_H_ | 809 #endif // RUNTIME_VM_FLOW_GRAPH_COMPILER_H_ |
OLD | NEW |