Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1350)

Unified Diff: src/parsing/pattern-rewriter.cc

Issue 2452403003: Changed statement ZoneList to a ZoneChunkList
Patch Set: Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/parsing/parser-base.h ('k') | src/parsing/preparser.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/parsing/pattern-rewriter.cc
diff --git a/src/parsing/pattern-rewriter.cc b/src/parsing/pattern-rewriter.cc
index 21b1cec69655c092b3c4e822ed3d14dd6987ccb6..f8e38f2d8bc396cc49fe4780ddc6c7824bbdce9c 100644
--- a/src/parsing/pattern-rewriter.cc
+++ b/src/parsing/pattern-rewriter.cc
@@ -114,9 +114,8 @@ void Parser::PatternRewriter::VisitVariableProxy(VariableProxy* pattern) {
// In an assignment context, simply perform the assignment
Assignment* assignment = factory()->NewAssignment(
Token::ASSIGN, pattern, value, pattern->position());
- block_->statements()->Add(
- factory()->NewExpressionStatement(assignment, pattern->position()),
- zone());
+ block_->statements()->push_back(
+ factory()->NewExpressionStatement(assignment, pattern->position()));
return;
}
@@ -209,9 +208,8 @@ void Parser::PatternRewriter::VisitVariableProxy(VariableProxy* pattern) {
CallRuntime* initialize = factory()->NewCallRuntime(
Runtime::kInitializeVarGlobal, arguments, value->position());
- block_->statements()->Add(
- factory()->NewExpressionStatement(initialize, initialize->position()),
- zone());
+ block_->statements()->push_back(
+ factory()->NewExpressionStatement(initialize, initialize->position()));
} else {
// For 'let' and 'const' declared variables the initialization always
// assigns to the declared variable.
@@ -226,8 +224,8 @@ void Parser::PatternRewriter::VisitVariableProxy(VariableProxy* pattern) {
int pos = IsSubPattern() ? pattern->position() : value->position();
Assignment* assignment =
factory()->NewAssignment(Token::INIT, proxy, value, pos);
- block_->statements()->Add(
- factory()->NewExpressionStatement(assignment, pos), zone());
+ block_->statements()->push_back(
+ factory()->NewExpressionStatement(assignment, pos));
}
}
@@ -239,9 +237,8 @@ Variable* Parser::PatternRewriter::CreateTempVar(Expression* value) {
Token::ASSIGN, factory()->NewVariableProxy(temp), value,
kNoSourcePosition);
- block_->statements()->Add(
- factory()->NewExpressionStatement(assignment, kNoSourcePosition),
- zone());
+ block_->statements()->push_back(
+ factory()->NewExpressionStatement(assignment, kNoSourcePosition));
}
return temp;
}
@@ -286,7 +283,7 @@ void Parser::PatternRewriter::VisitRewritableExpression(
PatternContext old_context = SetAssignmentContextIfNeeded(initializer);
int pos = assign->position();
Block* old_block = block_;
- block_ = factory()->NewBlock(nullptr, 8, true, pos);
+ block_ = factory()->NewBlock(nullptr, true, pos);
Variable* temp = nullptr;
Expression* pattern = assign->target();
Expression* old_value = current_value_;
@@ -303,8 +300,8 @@ void Parser::PatternRewriter::VisitRewritableExpression(
node->Rewrite(expr);
block_ = old_block;
if (block_) {
- block_->statements()->Add(factory()->NewExpressionStatement(expr, pos),
- zone());
+ block_->statements()->push_back(
+ factory()->NewExpressionStatement(expr, pos));
}
return set_context(old_context);
}
@@ -329,7 +326,7 @@ void Parser::PatternRewriter::VisitObjectLiteral(ObjectLiteral* pattern,
Variable** temp_var) {
auto temp = *temp_var = CreateTempVar(current_value_);
- block_->statements()->Add(parser_->BuildAssertIsCoercible(temp), zone());
+ block_->statements()->push_back(parser_->BuildAssertIsCoercible(temp));
for (ObjectLiteralProperty* property : *pattern->properties()) {
PatternContext context = SetInitializerContextIfNeeded(property->value());
@@ -373,7 +370,7 @@ void Parser::PatternRewriter::VisitArrayLiteral(ArrayLiteral* node,
// wrap this new block in a try-finally statement, restore block_ to its
// original value, and add the try-finally statement to block_.
auto target = block_;
- block_ = factory()->NewBlock(nullptr, 8, true, nopos);
+ block_ = factory()->NewBlock(nullptr, true, nopos);
Spread* spread = nullptr;
for (Expression* value : *node->values()) {
@@ -420,35 +417,28 @@ void Parser::PatternRewriter::VisitArrayLiteral(ArrayLiteral* node,
factory()->NewBooleanLiteral(false, kNoSourcePosition),
kNoSourcePosition);
- auto inner_else =
- factory()->NewBlock(nullptr, 2, true, kNoSourcePosition);
- inner_else->statements()->Add(
- factory()->NewExpressionStatement(assign_value, nopos), zone());
- inner_else->statements()->Add(
- factory()->NewExpressionStatement(unset_done, nopos), zone());
+ auto inner_else = factory()->NewBlock(nullptr, true, kNoSourcePosition);
+ inner_else->statements()->push_back(
+ factory()->NewExpressionStatement(assign_value, nopos));
+ inner_else->statements()->push_back(
+ factory()->NewExpressionStatement(unset_done, nopos));
auto inner_if = factory()->NewIfStatement(
result_done,
factory()->NewExpressionStatement(assign_undefined, nopos),
inner_else, nopos);
- auto next_block =
- factory()->NewBlock(nullptr, 3, true, kNoSourcePosition);
- next_block->statements()->Add(
- factory()->NewExpressionStatement(
- factory()->NewAssignment(
- Token::ASSIGN, factory()->NewVariableProxy(done),
- factory()->NewBooleanLiteral(true, nopos), nopos),
- nopos),
- zone());
- next_block->statements()->Add(
- factory()->NewExpressionStatement(
- parser_->BuildIteratorNextResult(
- factory()->NewVariableProxy(iterator), result,
- kNoSourcePosition),
- kNoSourcePosition),
- zone());
- next_block->statements()->Add(inner_if, zone());
+ auto next_block = factory()->NewBlock(nullptr, true, kNoSourcePosition);
+ next_block->statements()->push_back(factory()->NewExpressionStatement(
+ factory()->NewAssignment(
+ Token::ASSIGN, factory()->NewVariableProxy(done),
+ factory()->NewBooleanLiteral(true, nopos), nopos),
+ nopos));
+ next_block->statements()->push_back(factory()->NewExpressionStatement(
+ parser_->BuildIteratorNextResult(
+ factory()->NewVariableProxy(iterator), result, kNoSourcePosition),
+ kNoSourcePosition));
+ next_block->statements()->push_back(inner_if);
if_not_done = factory()->NewIfStatement(
factory()->NewUnaryOperation(
@@ -456,7 +446,7 @@ void Parser::PatternRewriter::VisitArrayLiteral(ArrayLiteral* node,
next_block, factory()->NewEmptyStatement(kNoSourcePosition),
kNoSourcePosition);
}
- block_->statements()->Add(if_not_done, zone());
+ block_->statements()->push_back(if_not_done);
if (!(value->IsLiteral() && value->AsLiteral()->raw_value()->IsTheHole())) {
{
@@ -465,8 +455,8 @@ void Parser::PatternRewriter::VisitArrayLiteral(ArrayLiteral* node,
Expression* assignment = factory()->NewAssignment(
Token::ASSIGN, proxy,
factory()->NewSmiLiteral(kAbruptCompletion, nopos), nopos);
- block_->statements()->Add(
- factory()->NewExpressionStatement(assignment, nopos), zone());
+ block_->statements()->push_back(
+ factory()->NewExpressionStatement(assignment, nopos));
}
RecurseIntoSubpattern(value, factory()->NewVariableProxy(v));
@@ -477,8 +467,8 @@ void Parser::PatternRewriter::VisitArrayLiteral(ArrayLiteral* node,
Expression* assignment = factory()->NewAssignment(
Token::ASSIGN, proxy,
factory()->NewSmiLiteral(kNormalCompletion, nopos), nopos);
- block_->statements()->Add(
- factory()->NewExpressionStatement(assignment, nopos), zone());
+ block_->statements()->push_back(
+ factory()->NewExpressionStatement(assignment, nopos));
}
}
set_context(context);
@@ -554,9 +544,9 @@ void Parser::PatternRewriter::VisitArrayLiteral(ArrayLiteral* node,
ast_value_factory()->done_string(), nopos),
nopos);
- Block* then = factory()->NewBlock(nullptr, 2, true, nopos);
- then->statements()->Add(append_element, zone());
- then->statements()->Add(unset_done, zone());
+ Block* then = factory()->NewBlock(nullptr, true, nopos);
+ then->statements()->push_back(append_element);
+ then->statements()->push_back(unset_done);
maybe_append_and_unset_done = factory()->NewIfStatement(
factory()->NewUnaryOperation(Token::NOT, result_done, nopos), then,
@@ -572,14 +562,14 @@ void Parser::PatternRewriter::VisitArrayLiteral(ArrayLiteral* node,
{
Expression* condition = factory()->NewUnaryOperation(
Token::NOT, factory()->NewVariableProxy(done), nopos);
- Block* body = factory()->NewBlock(nullptr, 3, true, nopos);
- body->statements()->Add(set_done, zone());
- body->statements()->Add(get_next, zone());
- body->statements()->Add(maybe_append_and_unset_done, zone());
+ Block* body = factory()->NewBlock(nullptr, true, nopos);
+ body->statements()->push_back(set_done);
+ body->statements()->push_back(get_next);
+ body->statements()->push_back(maybe_append_and_unset_done);
loop->Initialize(condition, body);
}
- block_->statements()->Add(loop, zone());
+ block_->statements()->push_back(loop);
RecurseIntoSubpattern(spread->expression(),
factory()->NewVariableProxy(array));
}
@@ -636,8 +626,8 @@ void Parser::PatternRewriter::VisitProperty(v8::internal::Property* node) {
Assignment* assignment =
factory()->NewAssignment(Token::ASSIGN, node, value, node->position());
- block_->statements()->Add(
- factory()->NewExpressionStatement(assignment, kNoSourcePosition), zone());
+ block_->statements()->push_back(
+ factory()->NewExpressionStatement(assignment, kNoSourcePosition));
}
« no previous file with comments | « src/parsing/parser-base.h ('k') | src/parsing/preparser.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698