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()); |
} |