Index: src/ppc/builtins-ppc.cc |
diff --git a/src/ppc/builtins-ppc.cc b/src/ppc/builtins-ppc.cc |
index 62845ae5b0252675b06bce6b6de20417ed9bc19a..401ec45f4d5fc13eaabde281acf5973f368154df 100644 |
--- a/src/ppc/builtins-ppc.cc |
+++ b/src/ppc/builtins-ppc.cc |
@@ -1469,13 +1469,12 @@ void CompatibleReceiverCheck(MacroAssembler* masm, Register receiver, |
// Load the next prototype. |
__ bind(&next_prototype); |
- __ LoadP(receiver, FieldMemOperand(map, Map::kPrototypeOffset)); |
- // End if the prototype is null or not hidden. |
- __ JumpIfRoot(receiver, Heap::kNullValueRootIndex, receiver_check_failed); |
- __ LoadP(map, FieldMemOperand(receiver, HeapObject::kMapOffset)); |
__ lwz(scratch, FieldMemOperand(map, Map::kBitField3Offset)); |
- __ DecodeField<Map::IsHiddenPrototype>(scratch, SetRC); |
+ __ DecodeField<Map::HasHiddenPrototype>(scratch, SetRC); |
__ beq(receiver_check_failed, cr0); |
+ |
+ __ LoadP(receiver, FieldMemOperand(map, Map::kPrototypeOffset)); |
+ __ LoadP(map, FieldMemOperand(receiver, HeapObject::kMapOffset)); |
// Iterate. |
__ b(&prototype_loop_start); |