| Index: src/parsing/parser.cc
|
| diff --git a/src/parsing/parser.cc b/src/parsing/parser.cc
|
| index 8e93a5329479360b3133b1d68a1fcd938c4a7ec6..ae33549533c5db76066736d566b8268262282dc4 100644
|
| --- a/src/parsing/parser.cc
|
| +++ b/src/parsing/parser.cc
|
| @@ -615,9 +615,8 @@ Parser::Parser(ParseInfo* info)
|
| set_default_eager_compile_hint(can_compile_lazily
|
| ? FunctionLiteral::kShouldLazyCompile
|
| : FunctionLiteral::kShouldEagerCompile);
|
| - set_allow_lazy(FLAG_lazy && info->allow_lazy_parsing() &&
|
| - !info->is_native() && info->extension() == nullptr &&
|
| - can_compile_lazily);
|
| + allow_lazy_ = FLAG_lazy && info->allow_lazy_parsing() && !info->is_native() &&
|
| + info->extension() == nullptr && can_compile_lazily;
|
| set_allow_natives(FLAG_allow_natives_syntax || info->is_native());
|
| set_allow_tailcalls(FLAG_harmony_tailcalls && !info->is_native() &&
|
| info->isolate()->is_tail_call_elimination_enabled());
|
| @@ -730,7 +729,7 @@ FunctionLiteral* Parser::DoParseProgram(ParseInfo* info) {
|
| DCHECK_NULL(scope_state_);
|
| DCHECK_NULL(target_stack_);
|
|
|
| - ParsingModeScope mode(this, allow_lazy() ? PARSE_LAZILY : PARSE_EAGERLY);
|
| + ParsingModeScope mode(this, allow_lazy_ ? PARSE_LAZILY : PARSE_EAGERLY);
|
|
|
| FunctionLiteral* result = NULL;
|
| {
|
| @@ -2569,7 +2568,7 @@ FunctionLiteral* Parser::ParseFunctionLiteral(
|
| // immediately). bar can be parsed lazily, but we need to parse it in a mode
|
| // that tracks unresolved variables.
|
| DCHECK_IMPLIES(parse_lazily(), FLAG_lazy);
|
| - DCHECK_IMPLIES(parse_lazily(), allow_lazy());
|
| + DCHECK_IMPLIES(parse_lazily(), allow_lazy_);
|
| DCHECK_IMPLIES(parse_lazily(), extension_ == nullptr);
|
|
|
| bool can_preparse = parse_lazily() &&
|
| @@ -2604,7 +2603,7 @@ FunctionLiteral* Parser::ParseFunctionLiteral(
|
| (FLAG_lazy_inner_functions
|
| ? can_preparse
|
| : (is_lazy_top_level_function ||
|
| - (allow_lazy() && function_type == FunctionLiteral::kDeclaration &&
|
| + (allow_lazy_ && function_type == FunctionLiteral::kDeclaration &&
|
| eager_compile_hint == FunctionLiteral::kShouldLazyCompile))) &&
|
| !(FLAG_validate_asm && scope()->IsAsmModule());
|
| bool is_lazy_inner_function =
|
| @@ -2791,7 +2790,6 @@ Parser::LazyParsingResult Parser::SkipFunction(
|
| reusable_preparser_ = new PreParser(zone(), &scanner_, ast_value_factory(),
|
| &pending_error_handler_,
|
| runtime_call_stats_, stack_limit_);
|
| - reusable_preparser_->set_allow_lazy(true);
|
| #define SET_ALLOW(name) reusable_preparser_->set_allow_##name(allow_##name());
|
| SET_ALLOW(natives);
|
| SET_ALLOW(harmony_do_expressions);
|
| @@ -3160,7 +3158,7 @@ ZoneList<Statement*>* Parser::ParseEagerFunctionBody(
|
| const AstRawString* function_name, int pos,
|
| const ParserFormalParameters& parameters, FunctionKind kind,
|
| FunctionLiteral::FunctionType function_type, bool* ok) {
|
| - ParsingModeScope mode(this, allow_lazy() ? PARSE_LAZILY : PARSE_EAGERLY);
|
| + ParsingModeScope mode(this, allow_lazy_ ? PARSE_LAZILY : PARSE_EAGERLY);
|
| ZoneList<Statement*>* result = new(zone()) ZoneList<Statement*>(8, zone());
|
|
|
| static const int kFunctionNameAssignmentIndex = 0;
|
|
|