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

Side by Side Diff: src/parsing/parser-base.h

Issue 2481743003: [parser] add preparse tracing of arrow functions (Closed)
Patch Set: Move to right place Created 4 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_PARSING_PARSER_BASE_H 5 #ifndef V8_PARSING_PARSER_BASE_H
6 #define V8_PARSING_PARSER_BASE_H 6 #define V8_PARSING_PARSER_BASE_H
7 7
8 #include "src/ast/ast.h" 8 #include "src/ast/ast.h"
9 #include "src/ast/scopes.h" 9 #include "src/ast/scopes.h"
10 #include "src/bailout-reason.h" 10 #include "src/bailout-reason.h"
(...skipping 4023 matching lines...) Expand 10 before | Expand all | Expand 10 after
4034 // Validate strict mode. 4034 // Validate strict mode.
4035 if (is_strict(language_mode())) { 4035 if (is_strict(language_mode())) {
4036 CheckStrictOctalLiteral(formal_parameters.scope->start_position(), 4036 CheckStrictOctalLiteral(formal_parameters.scope->start_position(),
4037 scanner()->location().end_pos, CHECK_OK); 4037 scanner()->location().end_pos, CHECK_OK);
4038 } 4038 }
4039 impl()->CheckConflictingVarDeclarations(formal_parameters.scope, CHECK_OK); 4039 impl()->CheckConflictingVarDeclarations(formal_parameters.scope, CHECK_OK);
4040 4040
4041 impl()->RewriteDestructuringAssignments(); 4041 impl()->RewriteDestructuringAssignments();
4042 } 4042 }
4043 4043
4044 if (FLAG_trace_preparse) {
4045 Scope* scope = formal_parameters.scope;
4046 PrintF(" [%s]: %i-%i (arrow function)\n",
4047 is_lazy_top_level_function ? "Preparse no-resolution" : "Full parse",
4048 scope->start_position(), scope->end_position());
4049 }
4044 FunctionLiteralT function_literal = factory()->NewFunctionLiteral( 4050 FunctionLiteralT function_literal = factory()->NewFunctionLiteral(
4045 impl()->EmptyIdentifierString(), formal_parameters.scope, body, 4051 impl()->EmptyIdentifierString(), formal_parameters.scope, body,
4046 materialized_literal_count, expected_property_count, 4052 materialized_literal_count, expected_property_count,
4047 formal_parameters.num_parameters(), formal_parameters.function_length, 4053 formal_parameters.num_parameters(), formal_parameters.function_length,
4048 FunctionLiteral::kNoDuplicateParameters, 4054 FunctionLiteral::kNoDuplicateParameters,
4049 FunctionLiteral::kAnonymousExpression, eager_compile_hint, 4055 FunctionLiteral::kAnonymousExpression, eager_compile_hint,
4050 formal_parameters.scope->start_position()); 4056 formal_parameters.scope->start_position());
4051 4057
4052 function_literal->set_function_token_position( 4058 function_literal->set_function_token_position(
4053 formal_parameters.scope->start_position()); 4059 formal_parameters.scope->start_position());
(...skipping 1408 matching lines...) Expand 10 before | Expand all | Expand 10 after
5462 has_seen_constructor_ = true; 5468 has_seen_constructor_ = true;
5463 return; 5469 return;
5464 } 5470 }
5465 } 5471 }
5466 5472
5467 5473
5468 } // namespace internal 5474 } // namespace internal
5469 } // namespace v8 5475 } // namespace v8
5470 5476
5471 #endif // V8_PARSING_PARSER_BASE_H 5477 #endif // V8_PARSING_PARSER_BASE_H
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698