Index: src/builtins/builtins-promise.cc |
diff --git a/src/builtins/builtins-promise.cc b/src/builtins/builtins-promise.cc |
index 70f8c056ab7e3f865a60d87d71e57ed794ca4b2d..e2888c3e1b403788e768362cd4e53d1948794778 100644 |
--- a/src/builtins/builtins-promise.cc |
+++ b/src/builtins/builtins-promise.cc |
@@ -378,14 +378,19 @@ void AppendPromiseCallback(CodeStubAssembler* a, int offset, |
Node* delta = a->IntPtrOrSmiConstant(1, mode); |
Node* new_capacity = a->IntPtrAdd(length, delta); |
- ElementsKind kind = FAST_ELEMENTS; |
- Node* new_elements = a->AllocateFixedArray(kind, new_capacity, mode); |
+ const ElementsKind kind = FAST_ELEMENTS; |
+ const WriteBarrierMode barrier_mode = UPDATE_WRITE_BARRIER; |
+ const CodeStubAssembler::AllocationFlags flags = |
+ CodeStubAssembler::kAllowLargeObjectAllocation; |
+ int additional_offset = 0; |
- a->CopyFixedArrayElements(kind, elements, new_elements, length, |
- UPDATE_WRITE_BARRIER, mode); |
- a->StoreFixedArrayElement(new_elements, length, value, UPDATE_WRITE_BARRIER, |
- 0, mode); |
+ Node* new_elements = a->AllocateFixedArray(kind, new_capacity, mode, flags); |
+ |
+ a->CopyFixedArrayElements(kind, elements, new_elements, length, barrier_mode, |
+ mode); |
+ a->StoreFixedArrayElement(new_elements, length, value, barrier_mode, |
+ additional_offset, mode); |
a->StoreObjectField(promise, offset, new_elements); |
} |