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)); |