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 VM_INTERMEDIATE_LANGUAGE_H_ | 5 #ifndef VM_INTERMEDIATE_LANGUAGE_H_ |
6 #define VM_INTERMEDIATE_LANGUAGE_H_ | 6 #define VM_INTERMEDIATE_LANGUAGE_H_ |
7 | 7 |
8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
9 #include "vm/ast.h" | 9 #include "vm/ast.h" |
10 #include "vm/growable_array.h" | 10 #include "vm/growable_array.h" |
(...skipping 2426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2437 }; | 2437 }; |
2438 | 2438 |
2439 | 2439 |
2440 class ParallelMoveInstr : public Instruction { | 2440 class ParallelMoveInstr : public Instruction { |
2441 public: | 2441 public: |
2442 explicit ParallelMoveInstr() : moves_(4) { | 2442 explicit ParallelMoveInstr() : moves_(4) { |
2443 } | 2443 } |
2444 | 2444 |
2445 DECLARE_INSTRUCTION(ParallelMove) | 2445 DECLARE_INSTRUCTION(ParallelMove) |
2446 | 2446 |
2447 void AddMove(Location dest, Location src) { | 2447 MoveOperands* AddMove(Location dest, Location src) { |
2448 moves_.Add(new MoveOperands(dest, src)); | 2448 MoveOperands* move = new MoveOperands(dest, src); |
| 2449 moves_.Add(move); |
| 2450 return move; |
2449 } | 2451 } |
2450 | 2452 |
2451 MoveOperands* MoveOperandsAt(intptr_t index) const { return moves_[index]; } | 2453 MoveOperands* MoveOperandsAt(intptr_t index) const { return moves_[index]; } |
2452 | 2454 |
2453 void SetSrcSlotAt(intptr_t index, const Location& loc); | 2455 void SetSrcSlotAt(intptr_t index, const Location& loc); |
2454 void SetDestSlotAt(intptr_t index, const Location& loc); | 2456 void SetDestSlotAt(intptr_t index, const Location& loc); |
2455 | 2457 |
2456 intptr_t NumMoves() const { return moves_.length(); } | 2458 intptr_t NumMoves() const { return moves_.length(); } |
2457 | 2459 |
2458 private: | 2460 private: |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2526 const GrowableArray<BlockEntryInstr*>& block_order_; | 2528 const GrowableArray<BlockEntryInstr*>& block_order_; |
2527 | 2529 |
2528 private: | 2530 private: |
2529 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); | 2531 DISALLOW_COPY_AND_ASSIGN(FlowGraphVisitor); |
2530 }; | 2532 }; |
2531 | 2533 |
2532 | 2534 |
2533 } // namespace dart | 2535 } // namespace dart |
2534 | 2536 |
2535 #endif // VM_INTERMEDIATE_LANGUAGE_H_ | 2537 #endif // VM_INTERMEDIATE_LANGUAGE_H_ |
OLD | NEW |