Index: src/full-codegen/s390/full-codegen-s390.cc |
diff --git a/src/full-codegen/s390/full-codegen-s390.cc b/src/full-codegen/s390/full-codegen-s390.cc |
index 3cbcb7b9442aa122136556952b573953e8fa567b..ab10e01791ef0dc5eb704663d0180159b4743fe9 100644 |
--- a/src/full-codegen/s390/full-codegen-s390.cc |
+++ b/src/full-codegen/s390/full-codegen-s390.cc |
@@ -1513,8 +1513,7 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) { |
// Emit code to evaluate all the non-constant subexpressions and to store |
// them into the newly cloned array. |
- int array_index = 0; |
- for (; array_index < length; array_index++) { |
+ for (int array_index = 0; array_index < length; array_index++) { |
Expression* subexpr = subexprs->at(array_index); |
DCHECK(!subexpr->IsSpread()); |
// If the subexpression is a literal or a simple materialized literal it |
@@ -1537,27 +1536,6 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) { |
BailoutState::NO_REGISTERS); |
} |
- // In case the array literal contains spread expressions it has two parts. The |
- // first part is the "static" array which has a literal index is handled |
- // above. The second part is the part after the first spread expression |
- // (inclusive) and these elements gets appended to the array. Note that the |
- // number elements an iterable produces is unknown ahead of time. |
- if (array_index < length && result_saved) { |
- PopOperand(r2); |
- result_saved = false; |
- } |
- for (; array_index < length; array_index++) { |
- Expression* subexpr = subexprs->at(array_index); |
- |
- PushOperand(r2); |
- DCHECK(!subexpr->IsSpread()); |
- VisitForStackValue(subexpr); |
- CallRuntimeWithOperands(Runtime::kAppendElement); |
- |
- PrepareForBailoutForId(expr->GetIdForElement(array_index), |
- BailoutState::NO_REGISTERS); |
- } |
- |
if (result_saved) { |
context()->PlugTOS(); |
} else { |