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. |