| Index: src/mips/lithium-codegen-mips.cc
|
| diff --git a/src/mips/lithium-codegen-mips.cc b/src/mips/lithium-codegen-mips.cc
|
| index a2df23fc5a88bcd6278f2a46a3b70fc3944bb6bd..440cfc75789890f289d7a9f90a923a087e8c80a2 100644
|
| --- a/src/mips/lithium-codegen-mips.cc
|
| +++ b/src/mips/lithium-codegen-mips.cc
|
| @@ -2613,10 +2613,10 @@ void LCodeGen::DoInstanceOfKnownGlobal(LInstanceOfKnownGlobal* instr) {
|
| Handle<Cell> cell = factory()->NewCell(factory()->the_hole_value());
|
| __ li(at, Operand(Handle<Object>(cell)));
|
| __ lw(at, FieldMemOperand(at, PropertyCell::kValueOffset));
|
| - __ Branch(&cache_miss, ne, map, Operand(at));
|
| + __ BranchShort(&cache_miss, ne, map, Operand(at));
|
| // We use Factory::the_hole_value() on purpose instead of loading from the
|
| // root array to force relocation to be able to later patch
|
| - // with true or false.
|
| + // with true or false. The distance from map check has to be constant.
|
| __ li(result, Operand(factory()->the_hole_value()), CONSTANT_SIZE);
|
| __ Branch(&done);
|
|
|
| @@ -3755,6 +3755,7 @@ void LCodeGen::DoPower(LPower* instr) {
|
| Label no_deopt;
|
| __ JumpIfSmi(a2, &no_deopt);
|
| __ lw(t3, FieldMemOperand(a2, HeapObject::kMapOffset));
|
| + __ LoadRoot(at, Heap::kHeapNumberMapRootIndex);
|
| DeoptimizeIf(ne, instr->environment(), t3, Operand(at));
|
| __ bind(&no_deopt);
|
| MathPowStub stub(MathPowStub::TAGGED);
|
|
|