| Index: src/mips/code-stubs-mips.cc
|
| diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc
|
| index 00d9c3c3f23234c9c0e6193f4d54a8a66e600969..b0b3272a19384499bf7287a1bf8c724ebe770e69 100644
|
| --- a/src/mips/code-stubs-mips.cc
|
| +++ b/src/mips/code-stubs-mips.cc
|
| @@ -3856,12 +3856,14 @@ void CompareICStub::GenerateObjects(MacroAssembler* masm) {
|
|
|
| void CompareICStub::GenerateKnownObjects(MacroAssembler* masm) {
|
| Label miss;
|
| + Handle<WeakCell> cell = Map::WeakCellForMap(known_map_);
|
| __ And(a2, a1, a0);
|
| __ JumpIfSmi(a2, &miss);
|
| + __ GetWeakValue(t0, cell);
|
| __ lw(a2, FieldMemOperand(a0, HeapObject::kMapOffset));
|
| __ lw(a3, FieldMemOperand(a1, HeapObject::kMapOffset));
|
| - __ Branch(&miss, ne, a2, Operand(known_map_));
|
| - __ Branch(&miss, ne, a3, Operand(known_map_));
|
| + __ Branch(&miss, ne, a2, Operand(t0));
|
| + __ Branch(&miss, ne, a3, Operand(t0));
|
|
|
| __ Ret(USE_DELAY_SLOT);
|
| __ subu(v0, a0, a1);
|
|
|