Index: src/builtins.cc |
diff --git a/src/builtins.cc b/src/builtins.cc |
index d9f8d15411ad91be9dd141cfe9d4534eeb9782ea..18325588c9a7d54b3414f376e80fb4b8083935cd 100644 |
--- a/src/builtins.cc |
+++ b/src/builtins.cc |
@@ -1220,13 +1220,14 @@ BUILTIN(ArrayConcat) { |
int j = 0; |
FixedArrayBase* storage = result_array->elements(); |
+ ElementsAccessor* accessor = ElementsAccessor::ForKind(elements_kind); |
for (int i = 0; i < n_arguments; i++) { |
JSArray* array = JSArray::cast(args[i]); |
int len = Smi::cast(array->length())->value(); |
+ ElementsKind from_kind = array->GetElementsKind(); |
if (len > 0) { |
- ElementsAccessor* accessor = array->GetElementsAccessor(); |
MaybeObject* maybe_failure = |
- accessor->CopyElements(array, 0, storage, elements_kind, j, len); |
+ accessor->CopyElements(array, 0, storage, from_kind, j, len); |
if (maybe_failure->IsFailure()) return maybe_failure; |
j += len; |
} |