| Index: src/code-stub-assembler.cc
 | 
| diff --git a/src/code-stub-assembler.cc b/src/code-stub-assembler.cc
 | 
| index 97f77e22244d1b043c4cadfe483a075a9425b256..0dc8ffd3997515277480124d630071ff6e3c582b 100644
 | 
| --- a/src/code-stub-assembler.cc
 | 
| +++ b/src/code-stub-assembler.cc
 | 
| @@ -1492,8 +1492,7 @@ Node* CodeStubAssembler::BuildAppendJSArray(ElementsKind kind, Node* context,
 | 
|    Node* new_length =
 | 
|        IntPtrOrSmiAdd(WordToParameter(growth, mode), var_length.value(), mode);
 | 
|    GotoUnless(IntPtrOrSmiGreaterThan(new_length, capacity, mode), &fits);
 | 
| -  Node* new_capacity = CalculateNewElementsCapacity(
 | 
| -      IntPtrOrSmiAdd(new_length, IntPtrOrSmiConstant(1, mode), mode), mode);
 | 
| +  Node* new_capacity = CalculateNewElementsCapacity(new_length, mode);
 | 
|    var_elements.Bind(GrowElementsCapacity(array, var_elements.value(), kind,
 | 
|                                           kind, capacity, new_capacity, mode,
 | 
|                                           &pre_bailout));
 | 
| @@ -2351,7 +2350,8 @@ Node* CodeStubAssembler::CalculateNewElementsCapacity(Node* old_capacity,
 | 
|    }
 | 
|    Node* half_old_capacity = WordShr(old_capacity, IntPtrConstant(1));
 | 
|    Node* new_capacity = IntPtrAdd(half_old_capacity, old_capacity);
 | 
| -  Node* unconditioned_result = IntPtrAdd(new_capacity, IntPtrConstant(16));
 | 
| +  Node* unconditioned_result =
 | 
| +      IntPtrAdd(new_capacity, IntPtrOrSmiConstant(16, mode));
 | 
|    if (mode == SMI_PARAMETERS) {
 | 
|      return SmiAnd(BitcastWordToTaggedSigned(unconditioned_result),
 | 
|                    SmiConstant(-1));
 | 
| 
 |