| Index: src/x64/ic-x64.cc
|
| diff --git a/src/x64/ic-x64.cc b/src/x64/ic-x64.cc
|
| index 15f410c1345e8bbd4dc7db6a46494fa357763ed6..8ccf7e38fb6e58c2b46e97c78786a40b371c9ab8 100644
|
| --- a/src/x64/ic-x64.cc
|
| +++ b/src/x64/ic-x64.cc
|
| @@ -730,6 +730,11 @@ void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm,
|
| __ testb(FieldOperand(r9, Map::kBitFieldOffset),
|
| Immediate(1 << Map::kIsAccessCheckNeeded));
|
| __ j(not_zero, &slow_with_tagged_index);
|
| + // Check that the receiver is not observed. Observed objects are always
|
| + // handled by the runtime.
|
| + __ testb(FieldOperand(r9, Map::kBitFieldOffset),
|
| + Immediate(1 << Map::kIsObserved));
|
| + __ j(not_zero, &slow_with_tagged_index);
|
| // Check that the key is a smi.
|
| __ JumpIfNotSmi(rcx, &slow_with_tagged_index);
|
| __ SmiToInteger32(rcx, rcx);
|
|
|