| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index 1fffa8214768a607c38115e84518d1700c61c081..6e70b9caac7400cf0503a57741311ef017df9dbb 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -3914,7 +3914,11 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_DefineOrRedefineDataProperty) {
|
| // Make sure that we never go back to fast case.
|
| dictionary->set_requires_slow_elements();
|
| PropertyDetails details = PropertyDetails(attr, NORMAL);
|
| - NumberDictionarySet(dictionary, index, obj_value, details);
|
| + Handle<NumberDictionary> extended_dictionary =
|
| + NumberDictionarySet(dictionary, index, obj_value, details);
|
| + if (*extended_dictionary != *dictionary) {
|
| + js_object->set_elements(*extended_dictionary);
|
| + }
|
| return *obj_value;
|
| }
|
|
|
|
|