| Index: src/runtime/runtime-array.cc | 
| diff --git a/src/runtime/runtime-array.cc b/src/runtime/runtime-array.cc | 
| index a332e2294662e16646e22259e527a6ffb3fae3a1..3c5e817de9a5e124c7a58827a771b76a3d2b1c36 100644 | 
| --- a/src/runtime/runtime-array.cc | 
| +++ b/src/runtime/runtime-array.cc | 
| @@ -374,7 +374,8 @@ RUNTIME_FUNCTION(Runtime_GrowArrayElements) { | 
| uint32_t index = static_cast<uint32_t>(key); | 
|  | 
| if (index >= capacity) { | 
| -    if (object->WouldConvertToSlowElements(index)) { | 
| +    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. | 
| return Smi::FromInt(0); | 
|  |