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

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

Issue 2365393002: Revert of Preparse functions in the scope that was created when parsing of the function was started (Closed)
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 unified diff | Download patch
« no previous file with comments | « src/parsing/parser.cc ('k') | src/parsing/preparser.h » ('j') | 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 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 kInsideValidBlock, 374 kInsideValidBlock,
375 375
376 // Tail call expressions are not allowed in the following blocks. 376 // Tail call expressions are not allowed in the following blocks.
377 kInsideTryBlock, 377 kInsideTryBlock,
378 kInsideForInOfBody, 378 kInsideForInOfBody,
379 }; 379 };
380 380
381 class FunctionState final : public ScopeState { 381 class FunctionState final : public ScopeState {
382 public: 382 public:
383 FunctionState(FunctionState** function_state_stack, 383 FunctionState(FunctionState** function_state_stack,
384 ScopeState** scope_stack, DeclarationScope* scope, 384 ScopeState** scope_stack, Scope* scope, FunctionKind kind);
385 FunctionKind kind);
386 ~FunctionState(); 385 ~FunctionState();
387 386
388 DeclarationScope* scope() const {
389 return ScopeState::scope()->AsDeclarationScope();
390 }
391
392 int NextMaterializedLiteralIndex() { 387 int NextMaterializedLiteralIndex() {
393 return next_materialized_literal_index_++; 388 return next_materialized_literal_index_++;
394 } 389 }
395 int materialized_literal_count() { 390 int materialized_literal_count() {
396 return next_materialized_literal_index_; 391 return next_materialized_literal_index_;
397 } 392 }
398 393
399 void SkipMaterializedLiterals(int count) { 394 void SkipMaterializedLiterals(int count) {
400 next_materialized_literal_index_ += count; 395 next_materialized_literal_index_ += count;
401 } 396 }
(...skipping 1045 matching lines...) Expand 10 before | Expand all | Expand 10 after
1447 bool allow_harmony_restrictive_generators_; 1442 bool allow_harmony_restrictive_generators_;
1448 bool allow_harmony_trailing_commas_; 1443 bool allow_harmony_trailing_commas_;
1449 bool allow_harmony_class_fields_; 1444 bool allow_harmony_class_fields_;
1450 1445
1451 friend class DiscardableZoneScope; 1446 friend class DiscardableZoneScope;
1452 }; 1447 };
1453 1448
1454 template <typename Impl> 1449 template <typename Impl>
1455 ParserBase<Impl>::FunctionState::FunctionState( 1450 ParserBase<Impl>::FunctionState::FunctionState(
1456 FunctionState** function_state_stack, ScopeState** scope_stack, 1451 FunctionState** function_state_stack, ScopeState** scope_stack,
1457 DeclarationScope* scope, FunctionKind kind) 1452 Scope* scope, FunctionKind kind)
1458 : ScopeState(scope_stack, scope), 1453 : ScopeState(scope_stack, scope),
1459 next_materialized_literal_index_(0), 1454 next_materialized_literal_index_(0),
1460 expected_property_count_(0), 1455 expected_property_count_(0),
1461 kind_(kind), 1456 kind_(kind),
1462 generator_object_variable_(nullptr), 1457 generator_object_variable_(nullptr),
1463 promise_variable_(nullptr), 1458 promise_variable_(nullptr),
1464 function_state_stack_(function_state_stack), 1459 function_state_stack_(function_state_stack),
1465 outer_function_state_(*function_state_stack), 1460 outer_function_state_(*function_state_stack),
1466 destructuring_assignments_to_rewrite_(16, scope->zone()), 1461 destructuring_assignments_to_rewrite_(16, scope->zone()),
1467 tail_call_expressions_(scope->zone()), 1462 tail_call_expressions_(scope->zone()),
(...skipping 3858 matching lines...) Expand 10 before | Expand all | Expand 10 after
5326 has_seen_constructor_ = true; 5321 has_seen_constructor_ = true;
5327 return; 5322 return;
5328 } 5323 }
5329 } 5324 }
5330 5325
5331 5326
5332 } // namespace internal 5327 } // namespace internal
5333 } // namespace v8 5328 } // namespace v8
5334 5329
5335 #endif // V8_PARSING_PARSER_BASE_H 5330 #endif // V8_PARSING_PARSER_BASE_H
OLDNEW
« no previous file with comments | « src/parsing/parser.cc ('k') | src/parsing/preparser.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698