Index: test/cctest/compiler/test-gap-resolver.cc |
diff --git a/test/cctest/compiler/test-gap-resolver.cc b/test/cctest/compiler/test-gap-resolver.cc |
index 9781aeb5cdb41de4c82303f0f6fc5d48c878af91..0c771251b6e7bca754361563656e160c7812b192 100644 |
--- a/test/cctest/compiler/test-gap-resolver.cc |
+++ b/test/cctest/compiler/test-gap-resolver.cc |
@@ -167,8 +167,10 @@ class ParallelMoveCreator : public HandleAndZoneScope { |
ParallelMove* Create(int size) { |
ParallelMove* parallel_move = new (main_zone()) ParallelMove(main_zone()); |
std::set<InstructionOperand, CompareOperandModuloType> seen; |
+ MachineRepresentation rep = RandomRepresentation(); |
for (int i = 0; i < size; ++i) { |
- MoveOperands mo(CreateRandomOperand(true), CreateRandomOperand(false)); |
+ MoveOperands mo(CreateRandomOperand(true, rep), |
+ CreateRandomOperand(false, rep)); |
if (!mo.IsRedundant() && seen.find(mo.destination()) == seen.end()) { |
parallel_move->AddMove(mo.source(), mo.destination()); |
seen.insert(mo.destination()); |
@@ -179,52 +181,43 @@ class ParallelMoveCreator : public HandleAndZoneScope { |
private: |
MachineRepresentation RandomRepresentation() { |
- int index = rng_->NextInt(3); |
+ int index = rng_->NextInt(5); |
switch (index) { |
case 0: |
return MachineRepresentation::kWord32; |
case 1: |
return MachineRepresentation::kWord64; |
case 2: |
+ return MachineRepresentation::kFloat32; |
+ case 3: |
+ return MachineRepresentation::kFloat64; |
+ case 4: |
return MachineRepresentation::kTagged; |
} |
UNREACHABLE(); |
return MachineRepresentation::kNone; |
} |
- MachineRepresentation RandomDoubleRepresentation() { |
- int index = rng_->NextInt(2); |
- if (index == 0) return MachineRepresentation::kFloat64; |
- return MachineRepresentation::kFloat32; |
- } |
- |
- InstructionOperand CreateRandomOperand(bool is_source) { |
+ InstructionOperand CreateRandomOperand(bool is_source, |
+ MachineRepresentation rep) { |
int index = rng_->NextInt(7); |
// destination can't be Constant. |
- switch (rng_->NextInt(is_source ? 7 : 6)) { |
+ switch (rng_->NextInt(is_source ? 5 : 4)) { |
case 0: |
- return AllocatedOperand(LocationOperand::STACK_SLOT, |
- RandomRepresentation(), index); |
+ return AllocatedOperand(LocationOperand::STACK_SLOT, rep, index); |
case 1: |
- return AllocatedOperand(LocationOperand::STACK_SLOT, |
- RandomDoubleRepresentation(), index); |
+ return AllocatedOperand(LocationOperand::REGISTER, rep, index); |
case 2: |
- return AllocatedOperand(LocationOperand::REGISTER, |
- RandomRepresentation(), index); |
- case 3: |
- return AllocatedOperand(LocationOperand::REGISTER, |
- RandomDoubleRepresentation(), index); |
- case 4: |
return ExplicitOperand( |
- LocationOperand::REGISTER, RandomRepresentation(), |
+ LocationOperand::REGISTER, rep, |
RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
->GetAllocatableGeneralCode(1)); |
- case 5: |
+ case 3: |
return ExplicitOperand( |
- LocationOperand::STACK_SLOT, RandomRepresentation(), |
+ LocationOperand::STACK_SLOT, rep, |
RegisterConfiguration::ArchDefault(RegisterConfiguration::TURBOFAN) |
->GetAllocatableGeneralCode(index)); |
- case 6: |
+ case 4: |
return ConstantOperand(index); |
} |
UNREACHABLE(); |