Index: src/ia32/ic-ia32.cc |
diff --git a/src/ia32/ic-ia32.cc b/src/ia32/ic-ia32.cc |
index 0b7c4a828bce881c03ed05d44cfbf3943e103164..dab9dd7a447ae089d87419557feba98cce0c4e43 100644 |
--- a/src/ia32/ic-ia32.cc |
+++ b/src/ia32/ic-ia32.cc |
@@ -874,10 +874,10 @@ void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm, |
__ JumpIfSmi(edx, &slow); |
// Get the map from the receiver. |
__ mov(edi, FieldOperand(edx, 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. |
__ test_b(FieldOperand(edi, Map::kBitFieldOffset), |
- 1 << Map::kIsAccessCheckNeeded); |
+ 1 << Map::kIsAccessCheckNeeded | 1 << Map::kIsObserved); |
__ j(not_zero, &slow); |
// Check that the key is a smi. |
__ JumpIfNotSmi(ecx, &slow); |