| Index: src/arm/builtins-arm.cc
|
| diff --git a/src/arm/builtins-arm.cc b/src/arm/builtins-arm.cc
|
| index 4b25aa74248a1b4bcec5120fba03e73f8c6eb221..3e4eb085521013fcdd65f717f3b007ad585faa1a 100644
|
| --- a/src/arm/builtins-arm.cc
|
| +++ b/src/arm/builtins-arm.cc
|
| @@ -1465,14 +1465,11 @@ static void CompatibleReceiverCheck(MacroAssembler* masm, Register receiver,
|
|
|
| // Load the next prototype.
|
| __ bind(&next_prototype);
|
| - __ ldr(receiver, FieldMemOperand(map, Map::kPrototypeOffset));
|
| - // End if the prototype is null or not hidden.
|
| - __ CompareRoot(receiver, Heap::kNullValueRootIndex);
|
| - __ b(eq, receiver_check_failed);
|
| - __ ldr(map, FieldMemOperand(receiver, HeapObject::kMapOffset));
|
| __ ldr(ip, FieldMemOperand(map, Map::kBitField3Offset));
|
| - __ tst(ip, Operand(Map::IsHiddenPrototype::kMask));
|
| + __ tst(ip, Operand(Map::HasHiddenPrototype::kMask));
|
| __ b(eq, receiver_check_failed);
|
| + __ ldr(receiver, FieldMemOperand(map, Map::kPrototypeOffset));
|
| + __ ldr(map, FieldMemOperand(receiver, HeapObject::kMapOffset));
|
| // Iterate.
|
| __ b(&prototype_loop_start);
|
|
|
|
|