Index: src/mips/ic-mips.cc |
diff --git a/src/mips/ic-mips.cc b/src/mips/ic-mips.cc |
index 0fe044a6c5a02dfc66fa51b02748672122a61eba..c7e1a2ada602392c952118d8f36162a37e67682b 100644 |
--- a/src/mips/ic-mips.cc |
+++ b/src/mips/ic-mips.cc |
@@ -1354,10 +1354,11 @@ void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm, |
__ JumpIfSmi(receiver, &slow); |
// Get the map of the object. |
__ lw(receiver_map, FieldMemOperand(receiver, HeapObject::kMapOffset)); |
- // Check that the receiver does not require access checks. We need |
- // to do this because this generic stub does not perform map checks. |
+ // Check that the receiver does not require access checks and is not observed. |
+ // The generic stub does not perform map checks or handle observed objects. |
__ lbu(t0, FieldMemOperand(receiver_map, Map::kBitFieldOffset)); |
- __ And(t0, t0, Operand(1 << Map::kIsAccessCheckNeeded)); |
+ __ And(t0, t0, Operand(1 << Map::kIsAccessCheckNeeded | |
+ 1 << Map::kIsObserved)); |
__ Branch(&slow, ne, t0, Operand(zero_reg)); |
// Check if the object is a JS array or not. |
__ lbu(t0, FieldMemOperand(receiver_map, Map::kInstanceTypeOffset)); |