| Index: src/runtime/runtime-array.cc
|
| diff --git a/src/runtime/runtime-array.cc b/src/runtime/runtime-array.cc
|
| index 3c5e817de9a5e124c7a58827a771b76a3d2b1c36..eee6a8664eb996db6c42749268037fe7053c0118 100644
|
| --- a/src/runtime/runtime-array.cc
|
| +++ b/src/runtime/runtime-array.cc
|
| @@ -374,15 +374,10 @@ RUNTIME_FUNCTION(Runtime_GrowArrayElements) {
|
| uint32_t index = static_cast<uint32_t>(key);
|
|
|
| if (index >= capacity) {
|
| - if (object->map()->is_prototype_map() ||
|
| - object->WouldConvertToSlowElements(index)) {
|
| - // We don't want to allow operations that cause lazy deopt. Return a Smi
|
| - // as a signal that optimized code should eagerly deoptimize.
|
| + uint32_t new_capacity = JSObject::NewElementsCapacity(index + 1);
|
| + if (!object->GetElementsAccessor()->GrowCapacity(object, new_capacity)) {
|
| return Smi::FromInt(0);
|
| }
|
| -
|
| - uint32_t new_capacity = JSObject::NewElementsCapacity(index + 1);
|
| - object->GetElementsAccessor()->GrowCapacityAndConvert(object, new_capacity);
|
| }
|
|
|
| // On success, return the fixed array elements.
|
|
|