| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // TODO(jochen): Remove this after the setting is turned on globally. | 5 // TODO(jochen): Remove this after the setting is turned on globally. |
| 6 #define V8_IMMINENT_DEPRECATION_WARNINGS | 6 #define V8_IMMINENT_DEPRECATION_WARNINGS |
| 7 | 7 |
| 8 #include "src/compiler/gap-resolver.h" | 8 #include "src/compiler/gap-resolver.h" |
| 9 | 9 |
| 10 #include "src/base/utils/random-number-generator.h" | 10 #include "src/base/utils/random-number-generator.h" |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 | 129 |
| 130 OperandMap values_; | 130 OperandMap values_; |
| 131 }; | 131 }; |
| 132 | 132 |
| 133 | 133 |
| 134 // An abstract interpreter for moves, swaps and parallel moves. | 134 // An abstract interpreter for moves, swaps and parallel moves. |
| 135 class MoveInterpreter : public GapResolver::Assembler { | 135 class MoveInterpreter : public GapResolver::Assembler { |
| 136 public: | 136 public: |
| 137 explicit MoveInterpreter(Zone* zone) : zone_(zone) {} | 137 explicit MoveInterpreter(Zone* zone) : zone_(zone) {} |
| 138 | 138 |
| 139 virtual void AssembleMove(InstructionOperand* source, | 139 void AssembleMove(InstructionOperand* source, |
| 140 InstructionOperand* destination) override { | 140 InstructionOperand* destination) override { |
| 141 ParallelMove* moves = new (zone_) ParallelMove(zone_); | 141 ParallelMove* moves = new (zone_) ParallelMove(zone_); |
| 142 moves->AddMove(*source, *destination); | 142 moves->AddMove(*source, *destination); |
| 143 state_.ExecuteInParallel(moves); | 143 state_.ExecuteInParallel(moves); |
| 144 } | 144 } |
| 145 | 145 |
| 146 virtual void AssembleSwap(InstructionOperand* source, | 146 void AssembleSwap(InstructionOperand* source, |
| 147 InstructionOperand* destination) override { | 147 InstructionOperand* destination) override { |
| 148 ParallelMove* moves = new (zone_) ParallelMove(zone_); | 148 ParallelMove* moves = new (zone_) ParallelMove(zone_); |
| 149 moves->AddMove(*source, *destination); | 149 moves->AddMove(*source, *destination); |
| 150 moves->AddMove(*destination, *source); | 150 moves->AddMove(*destination, *source); |
| 151 state_.ExecuteInParallel(moves); | 151 state_.ExecuteInParallel(moves); |
| 152 } | 152 } |
| 153 | 153 |
| 154 void AssembleParallelMove(const ParallelMove* moves) { | 154 void AssembleParallelMove(const ParallelMove* moves) { |
| 155 state_.ExecuteInParallel(moves); | 155 state_.ExecuteInParallel(moves); |
| 156 } | 156 } |
| 157 | 157 |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 253 resolver.Resolve(pm); | 253 resolver.Resolve(pm); |
| 254 | 254 |
| 255 CHECK(mi1.state() == mi2.state()); | 255 CHECK(mi1.state() == mi2.state()); |
| 256 } | 256 } |
| 257 } | 257 } |
| 258 } | 258 } |
| 259 | 259 |
| 260 } // namespace compiler | 260 } // namespace compiler |
| 261 } // namespace internal | 261 } // namespace internal |
| 262 } // namespace v8 | 262 } // namespace v8 |
| OLD | NEW |