| 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 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 216 | 216 |
| 217 // SSA transformation methods and fields. | 217 // SSA transformation methods and fields. |
| 218 void ComputeDominators(GrowableArray<BitVector*>* dominance_frontier); | 218 void ComputeDominators(GrowableArray<BitVector*>* dominance_frontier); |
| 219 | 219 |
| 220 void CompressPath( | 220 void CompressPath( |
| 221 intptr_t start_index, | 221 intptr_t start_index, |
| 222 intptr_t current_index, | 222 intptr_t current_index, |
| 223 GrowableArray<intptr_t>* parent, | 223 GrowableArray<intptr_t>* parent, |
| 224 GrowableArray<intptr_t>* label); | 224 GrowableArray<intptr_t>* label); |
| 225 | 225 |
| 226 void InitializeOsrLocals(GrowableArray<Definition*>* env); |
| 227 void InitializeOsrLocalRange(GrowableArray<Definition*>* env, |
| 228 RawObject** base, |
| 229 intptr_t count); |
| 230 |
| 226 void Rename(GrowableArray<PhiInstr*>* live_phis, | 231 void Rename(GrowableArray<PhiInstr*>* live_phis, |
| 227 VariableLivenessAnalysis* variable_liveness, | 232 VariableLivenessAnalysis* variable_liveness, |
| 228 ZoneGrowableArray<Definition*>* inlining_parameters); | 233 ZoneGrowableArray<Definition*>* inlining_parameters); |
| 229 void RenameRecursive( | 234 void RenameRecursive( |
| 230 BlockEntryInstr* block_entry, | 235 BlockEntryInstr* block_entry, |
| 231 GrowableArray<Definition*>* env, | 236 GrowableArray<Definition*>* env, |
| 232 GrowableArray<PhiInstr*>* live_phis, | 237 GrowableArray<PhiInstr*>* live_phis, |
| 233 VariableLivenessAnalysis* variable_liveness); | 238 VariableLivenessAnalysis* variable_liveness); |
| 234 | 239 |
| 235 void AttachEnvironment(Instruction* instr, GrowableArray<Definition*>* env); | 240 void AttachEnvironment(Instruction* instr, GrowableArray<Definition*>* env); |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 381 // Per block sets of available blocks. Block A is available at the block B if | 386 // Per block sets of available blocks. Block A is available at the block B if |
| 382 // and only if A dominates B and all paths from A to B are free of side | 387 // and only if A dominates B and all paths from A to B are free of side |
| 383 // effects. | 388 // effects. |
| 384 GrowableArray<BitVector*> available_at_; | 389 GrowableArray<BitVector*> available_at_; |
| 385 }; | 390 }; |
| 386 | 391 |
| 387 | 392 |
| 388 } // namespace dart | 393 } // namespace dart |
| 389 | 394 |
| 390 #endif // VM_FLOW_GRAPH_H_ | 395 #endif // VM_FLOW_GRAPH_H_ |
| OLD | NEW |