| Index: src/compiler/ast-graph-builder.cc
 | 
| diff --git a/src/compiler/ast-graph-builder.cc b/src/compiler/ast-graph-builder.cc
 | 
| index 898f2b3b238836d1d9ba2ae6d22cddf764b403b3..c96ef1b17c2ee40194fe6fb20d6f30dda8f41dbd 100644
 | 
| --- a/src/compiler/ast-graph-builder.cc
 | 
| +++ b/src/compiler/ast-graph-builder.cc
 | 
| @@ -1948,8 +1948,8 @@ void AstGraphBuilder::VisitArrayLiteral(ArrayLiteral* expr) {
 | 
|  
 | 
|    // Create nodes to evaluate all the non-constant subexpressions and to store
 | 
|    // them into the newly cloned array.
 | 
| -  int array_index = 0;
 | 
| -  for (; array_index < expr->values()->length(); array_index++) {
 | 
| +  for (int array_index = 0; array_index < expr->values()->length();
 | 
| +       array_index++) {
 | 
|      Expression* subexpr = expr->values()->at(array_index);
 | 
|      DCHECK(!subexpr->IsSpread());
 | 
|      if (CompileTimeValue::IsCompileTimeValue(subexpr)) continue;
 | 
| @@ -1964,26 +1964,6 @@ void AstGraphBuilder::VisitArrayLiteral(ArrayLiteral* expr) {
 | 
|                        OutputFrameStateCombine::Ignore());
 | 
|    }
 | 
|  
 | 
| -  // 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.
 | 
| -  for (; array_index < expr->values()->length(); array_index++) {
 | 
| -    Expression* subexpr = expr->values()->at(array_index);
 | 
| -    DCHECK(!subexpr->IsSpread());
 | 
| -
 | 
| -    VisitForValue(subexpr);
 | 
| -    {
 | 
| -      Node* value = environment()->Pop();
 | 
| -      Node* array = environment()->Pop();
 | 
| -      const Operator* op = javascript()->CallRuntime(Runtime::kAppendElement);
 | 
| -      Node* result = NewNode(op, array, value);
 | 
| -      PrepareFrameState(result, expr->GetIdForElement(array_index));
 | 
| -      environment()->Push(result);
 | 
| -    }
 | 
| -  }
 | 
| -
 | 
|    ast_context()->ProduceValue(expr, environment()->Pop());
 | 
|  }
 | 
|  
 | 
| 
 |