| 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 {
|
|
|