| Index: src/compiler/register-allocator-verifier.cc
|
| diff --git a/src/compiler/register-allocator-verifier.cc b/src/compiler/register-allocator-verifier.cc
|
| index 912a4c7d82afcb6f3b9d7f9017ccdfe616a201db..6c337e6118a175657bcd65036c4a32ba8460e172 100644
|
| --- a/src/compiler/register-allocator-verifier.cc
|
| +++ b/src/compiler/register-allocator-verifier.cc
|
| @@ -122,8 +122,11 @@ void RegisterAllocatorVerifier::BuildConstraint(const InstructionOperand* op,
|
| constraint->value_ = ConstantOperand::cast(op)->virtual_register();
|
| constraint->virtual_register_ = constraint->value_;
|
| } else if (op->IsImmediate()) {
|
| + auto imm = ImmediateOperand::cast(op);
|
| + int value = imm->type() == ImmediateOperand::INLINE ? imm->inline_value()
|
| + : imm->indexed_value();
|
| constraint->type_ = kImmediate;
|
| - constraint->value_ = ImmediateOperand::cast(op)->index();
|
| + constraint->value_ = value;
|
| } else {
|
| CHECK(op->IsUnallocated());
|
| const auto* unallocated = UnallocatedOperand::cast(op);
|
| @@ -183,10 +186,15 @@ void RegisterAllocatorVerifier::CheckConstraint(
|
| CHECK_EQ(ConstantOperand::cast(op)->virtual_register(),
|
| constraint->value_);
|
| return;
|
| - case kImmediate:
|
| + case kImmediate: {
|
| CHECK(op->IsImmediate());
|
| - CHECK_EQ(ImmediateOperand::cast(op)->index(), constraint->value_);
|
| + auto imm = ImmediateOperand::cast(op);
|
| + int value = imm->type() == ImmediateOperand::INLINE
|
| + ? imm->inline_value()
|
| + : imm->indexed_value();
|
| + CHECK_EQ(value, constraint->value_);
|
| return;
|
| + }
|
| case kRegister:
|
| CHECK(op->IsRegister());
|
| return;
|
|
|