| Index: src/mips64/code-stubs-mips64.cc
|
| diff --git a/src/mips64/code-stubs-mips64.cc b/src/mips64/code-stubs-mips64.cc
|
| index 05bf5f152618ee315de6ff246c8654da3e650d55..efb1fd17df696cb387dac989639de554d209e561 100644
|
| --- a/src/mips64/code-stubs-mips64.cc
|
| +++ b/src/mips64/code-stubs-mips64.cc
|
| @@ -3895,12 +3895,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(a4, cell);
|
| __ ld(a2, FieldMemOperand(a0, HeapObject::kMapOffset));
|
| __ ld(a3, FieldMemOperand(a1, HeapObject::kMapOffset));
|
| - __ Branch(&miss, ne, a2, Operand(known_map_));
|
| - __ Branch(&miss, ne, a3, Operand(known_map_));
|
| + __ Branch(&miss, ne, a2, Operand(a4));
|
| + __ Branch(&miss, ne, a3, Operand(a4));
|
|
|
| __ Ret(USE_DELAY_SLOT);
|
| __ dsubu(v0, a0, a1);
|
|
|