| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index 5e218e80bde24d323e57cd372099f9147a52d2e9..4227b7f190bc04bb96874e5197dab45e8210d68a 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -15887,7 +15887,9 @@ void PropertyCell::UpdateCell(Handle<GlobalDictionary> dictionary, int entry,
|
| const PropertyDetails original_details = cell->property_details();
|
| // Data accesses could be cached in ics or optimized code.
|
| bool invalidate =
|
| - original_details.kind() == kData && details.kind() == kAccessor;
|
| + (original_details.kind() == kData && details.kind() == kAccessor) ||
|
| + ((original_details.attributes() & READ_ONLY) !=
|
| + (details.attributes() & READ_ONLY));
|
| int index = original_details.dictionary_index();
|
| PropertyCellType old_type = original_details.cell_type();
|
| // Preserve the enumeration index unless the property was deleted or never
|
|
|