| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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_H_ | 5 #ifndef VM_FLOW_GRAPH_H_ |
| 6 #define VM_FLOW_GRAPH_H_ | 6 #define VM_FLOW_GRAPH_H_ |
| 7 | 7 |
| 8 #include "vm/growable_array.h" | 8 #include "vm/growable_array.h" |
| 9 #include "vm/intermediate_language.h" | 9 #include "vm/intermediate_language.h" |
| 10 #include "vm/parser.h" | 10 #include "vm/parser.h" |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 117 void AddToInitialDefinitions(Definition* defn); | 117 void AddToInitialDefinitions(Definition* defn); |
| 118 | 118 |
| 119 void InsertBefore(Instruction* next, | 119 void InsertBefore(Instruction* next, |
| 120 Instruction* instr, | 120 Instruction* instr, |
| 121 Environment* env, | 121 Environment* env, |
| 122 Definition::UseKind use_kind); | 122 Definition::UseKind use_kind); |
| 123 void InsertAfter(Instruction* prev, | 123 void InsertAfter(Instruction* prev, |
| 124 Instruction* instr, | 124 Instruction* instr, |
| 125 Environment* env, | 125 Environment* env, |
| 126 Definition::UseKind use_kind); | 126 Definition::UseKind use_kind); |
| 127 Instruction* AppendTo(Instruction* prev, |
| 128 Instruction* instr, |
| 129 Environment* env, |
| 130 Definition::UseKind use_kind); |
| 127 | 131 |
| 128 // Operations on the flow graph. | 132 // Operations on the flow graph. |
| 129 void ComputeSSA(intptr_t next_virtual_register_number, | 133 void ComputeSSA(intptr_t next_virtual_register_number, |
| 130 ZoneGrowableArray<Definition*>* inlining_parameters); | 134 ZoneGrowableArray<Definition*>* inlining_parameters); |
| 131 | 135 |
| 132 // TODO(zerny): Once the SSA is feature complete this should be removed. | 136 // TODO(zerny): Once the SSA is feature complete this should be removed. |
| 133 void Bailout(const char* reason) const; | 137 void Bailout(const char* reason) const; |
| 134 | 138 |
| 135 #ifdef DEBUG | 139 #ifdef DEBUG |
| 136 // Verification methods for debugging. | 140 // Verification methods for debugging. |
| (...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 358 // Per block sets of available blocks. Block A is available at the block B if | 362 // Per block sets of available blocks. Block A is available at the block B if |
| 359 // and only if A dominates B and all paths from A to B are free of side | 363 // and only if A dominates B and all paths from A to B are free of side |
| 360 // effects. | 364 // effects. |
| 361 GrowableArray<BitVector*> available_at_; | 365 GrowableArray<BitVector*> available_at_; |
| 362 }; | 366 }; |
| 363 | 367 |
| 364 | 368 |
| 365 } // namespace dart | 369 } // namespace dart |
| 366 | 370 |
| 367 #endif // VM_FLOW_GRAPH_H_ | 371 #endif // VM_FLOW_GRAPH_H_ |
| OLD | NEW |