Index: src/mips64/builtins-mips64.cc |
diff --git a/src/mips64/builtins-mips64.cc b/src/mips64/builtins-mips64.cc |
index cf9d747166bac0ce902acb3646ddac0102c19a02..6a2924cdb910fe07b49528147af76de1ab97a585 100644 |
--- a/src/mips64/builtins-mips64.cc |
+++ b/src/mips64/builtins-mips64.cc |
@@ -1463,13 +1463,12 @@ static void CompatibleReceiverCheck(MacroAssembler* masm, Register receiver, |
// Load the next prototype. |
__ bind(&next_prototype); |
- __ ld(receiver, FieldMemOperand(map, Map::kPrototypeOffset)); |
- // End if the prototype is null or not hidden. |
- __ JumpIfRoot(receiver, Heap::kNullValueRootIndex, receiver_check_failed); |
- __ ld(map, FieldMemOperand(receiver, HeapObject::kMapOffset)); |
__ lwu(scratch, FieldMemOperand(map, Map::kBitField3Offset)); |
- __ DecodeField<Map::IsHiddenPrototype>(scratch); |
+ __ DecodeField<Map::HasHiddenPrototype>(scratch); |
__ Branch(receiver_check_failed, eq, scratch, Operand(zero_reg)); |
+ |
+ __ ld(receiver, FieldMemOperand(map, Map::kPrototypeOffset)); |
+ __ ld(map, FieldMemOperand(receiver, HeapObject::kMapOffset)); |
// Iterate. |
__ Branch(&prototype_loop_start); |