| 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 | |
| 231 void Rename(GrowableArray<PhiInstr*>* live_phis, | 226 void Rename(GrowableArray<PhiInstr*>* live_phis, |
| 232 VariableLivenessAnalysis* variable_liveness, | 227 VariableLivenessAnalysis* variable_liveness, |
| 233 ZoneGrowableArray<Definition*>* inlining_parameters); | 228 ZoneGrowableArray<Definition*>* inlining_parameters); |
| 234 void RenameRecursive( | 229 void RenameRecursive( |
| 235 BlockEntryInstr* block_entry, | 230 BlockEntryInstr* block_entry, |
| 236 GrowableArray<Definition*>* env, | 231 GrowableArray<Definition*>* env, |
| 237 GrowableArray<PhiInstr*>* live_phis, | 232 GrowableArray<PhiInstr*>* live_phis, |
| 238 VariableLivenessAnalysis* variable_liveness); | 233 VariableLivenessAnalysis* variable_liveness); |
| 239 | 234 |
| 240 void AttachEnvironment(Instruction* instr, GrowableArray<Definition*>* env); | 235 void AttachEnvironment(Instruction* instr, GrowableArray<Definition*>* env); |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 386 // Per block sets of available blocks. Block A is available at the block B if | 381 // Per block sets of available blocks. Block A is available at the block B if |
| 387 // and only if A dominates B and all paths from A to B are free of side | 382 // and only if A dominates B and all paths from A to B are free of side |
| 388 // effects. | 383 // effects. |
| 389 GrowableArray<BitVector*> available_at_; | 384 GrowableArray<BitVector*> available_at_; |
| 390 }; | 385 }; |
| 391 | 386 |
| 392 | 387 |
| 393 } // namespace dart | 388 } // namespace dart |
| 394 | 389 |
| 395 #endif // VM_FLOW_GRAPH_H_ | 390 #endif // VM_FLOW_GRAPH_H_ |
| OLD | NEW |