Index: src/full-codegen/arm64/full-codegen-arm64.cc |
diff --git a/src/full-codegen/arm64/full-codegen-arm64.cc b/src/full-codegen/arm64/full-codegen-arm64.cc |
index e4141bb65f110cc5d24d8c5fb7d5101dde9db409..d0b85c79622f9c0d4423a6f28e24596a5d55c6f5 100644 |
--- a/src/full-codegen/arm64/full-codegen-arm64.cc |
+++ b/src/full-codegen/arm64/full-codegen-arm64.cc |
@@ -1709,7 +1709,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) { |
int array_index = 0; |
for (; array_index < length; array_index++) { |
Expression* subexpr = subexprs->at(array_index); |
- if (subexpr->IsSpread()) break; |
+ DCHECK(!subexpr->IsSpread()); |
// If the subexpression is a literal or a simple materialized literal it |
// is already set in the cloned array. |
@@ -1744,14 +1744,9 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) { |
Expression* subexpr = subexprs->at(array_index); |
__ Push(x0); |
- if (subexpr->IsSpread()) { |
- VisitForStackValue(subexpr->AsSpread()->expression()); |
- __ InvokeBuiltin(Context::CONCAT_ITERABLE_TO_ARRAY_BUILTIN_INDEX, |
- CALL_FUNCTION); |
- } else { |
- VisitForStackValue(subexpr); |
- __ CallRuntime(Runtime::kAppendElement); |
- } |
+ DCHECK(!subexpr->IsSpread()); |
+ VisitForStackValue(subexpr); |
+ __ CallRuntime(Runtime::kAppendElement); |
PrepareForBailoutForId(expr->GetIdForElement(array_index), NO_REGISTERS); |
} |