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 RUNTIME_VM_FLOW_GRAPH_H_ | 5 #ifndef RUNTIME_VM_FLOW_GRAPH_H_ |
6 #define RUNTIME_VM_FLOW_GRAPH_H_ | 6 #define RUNTIME_VM_FLOW_GRAPH_H_ |
7 | 7 |
8 #include "vm/bit_vector.h" | 8 #include "vm/bit_vector.h" |
9 #include "vm/growable_array.h" | 9 #include "vm/growable_array.h" |
10 #include "vm/hash_map.h" | 10 #include "vm/hash_map.h" |
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
344 void ComputeIsReceiverRecursive(PhiInstr* phi, | 344 void ComputeIsReceiverRecursive(PhiInstr* phi, |
345 GrowableArray<PhiInstr*>* unmark) const; | 345 GrowableArray<PhiInstr*>* unmark) const; |
346 | 346 |
347 void OptimizeLeftShiftBitAndSmiOp( | 347 void OptimizeLeftShiftBitAndSmiOp( |
348 ForwardInstructionIterator* current_iterator, | 348 ForwardInstructionIterator* current_iterator, |
349 Definition* bit_and_instr, | 349 Definition* bit_and_instr, |
350 Definition* left_instr, | 350 Definition* left_instr, |
351 Definition* right_instr); | 351 Definition* right_instr); |
352 | 352 |
353 void TryMergeTruncDivMod(GrowableArray<BinarySmiOpInstr*>* merge_candidates); | 353 void TryMergeTruncDivMod(GrowableArray<BinarySmiOpInstr*>* merge_candidates); |
354 void TryMergeMathUnary( | |
355 GrowableArray<InvokeMathCFunctionInstr*>* merge_candidates); | |
356 | 354 |
357 void AppendExtractNthOutputForMerged(Definition* instr, | 355 void AppendExtractNthOutputForMerged(Definition* instr, |
358 intptr_t ix, | 356 intptr_t ix, |
359 Representation rep, | 357 Representation rep, |
360 intptr_t cid); | 358 intptr_t cid); |
361 | 359 |
362 Thread* thread_; | 360 Thread* thread_; |
363 | 361 |
364 // DiscoverBlocks computes parent_ and assigned_vars_ which are then used | 362 // DiscoverBlocks computes parent_ and assigned_vars_ which are then used |
365 // if/when computing SSA. | 363 // if/when computing SSA. |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
535 | 533 |
536 private: | 534 private: |
537 GrowableArray<Definition*> defs_; | 535 GrowableArray<Definition*> defs_; |
538 BitVector* contains_vector_; | 536 BitVector* contains_vector_; |
539 }; | 537 }; |
540 | 538 |
541 | 539 |
542 } // namespace dart | 540 } // namespace dart |
543 | 541 |
544 #endif // RUNTIME_VM_FLOW_GRAPH_H_ | 542 #endif // RUNTIME_VM_FLOW_GRAPH_H_ |
OLD | NEW |