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 7dade3df33a5d821a71f6a2acab2d57e37149f1b..b5feb1d461e3de3ead7b1b6869f3f26db4b7997d 100644 |
--- a/test/cctest/compiler/test-gap-resolver.cc |
+++ b/test/cctest/compiler/test-gap-resolver.cc |
@@ -32,13 +32,17 @@ class InterpreterState { |
private: |
struct Key { |
bool is_constant; |
- AllocatedOperand::AllocatedKind kind; |
+ bool is_float; |
+ AllocatedOperand::LocationKind kind; |
int index; |
bool operator<(const Key& other) const { |
if (this->is_constant != other.is_constant) { |
return this->is_constant; |
} |
+ if (this->is_float != other.is_float) { |
+ return this->is_float; |
+ } |
if (this->kind != other.kind) { |
return this->kind < other.kind; |
} |
@@ -70,22 +74,24 @@ class InterpreterState { |
static Key KeyFor(const InstructionOperand& op) { |
bool is_constant = op.IsConstant(); |
- AllocatedOperand::AllocatedKind kind; |
+ bool is_float = false; |
+ AllocatedOperand::LocationKind kind; |
int index; |
if (!is_constant) { |
if (op.IsRegister()) { |
- index = AllocatedOperand::cast(op).GetRegister().code(); |
+ index = LocationOperand::cast(op).GetRegister().code(); |
} else if (op.IsDoubleRegister()) { |
- index = AllocatedOperand::cast(op).GetDoubleRegister().code(); |
+ index = LocationOperand::cast(op).GetDoubleRegister().code(); |
} else { |
- index = AllocatedOperand::cast(op).index(); |
+ index = LocationOperand::cast(op).index(); |
} |
- kind = AllocatedOperand::cast(op).allocated_kind(); |
+ is_float = IsFloatingPoint(AllocatedOperand::cast(op).machine_type()); |
+ kind = AllocatedOperand::cast(op).location_kind(); |
} else { |
index = ConstantOperand::cast(op).virtual_register(); |
kind = AllocatedOperand::REGISTER; |
} |
- Key key = {is_constant, kind, index}; |
+ Key key = {is_constant, is_float, kind, index}; |
return key; |
} |
@@ -194,13 +200,16 @@ class ParallelMoveCreator : public HandleAndZoneScope { |
// destination can't be Constant. |
switch (rng_->NextInt(is_source ? 5 : 4)) { |
case 0: |
- return StackSlotOperand(RandomType(), index); |
+ return AllocatedOperand(LocationOperand::STACK_SLOT, RandomType(), |
+ index); |
case 1: |
- return DoubleStackSlotOperand(RandomDoubleType(), index); |
+ return AllocatedOperand(LocationOperand::STACK_SLOT, RandomDoubleType(), |
+ index); |
case 2: |
- return RegisterOperand(RandomType(), index); |
+ return AllocatedOperand(LocationOperand::REGISTER, RandomType(), index); |
case 3: |
- return DoubleRegisterOperand(RandomDoubleType(), index); |
+ return AllocatedOperand(LocationOperand::REGISTER, RandomDoubleType(), |
+ index); |
case 4: |
return ConstantOperand(index); |
} |