Index: src/parsing/parser.cc |
diff --git a/src/parsing/parser.cc b/src/parsing/parser.cc |
index 541557396f070b9c9c7c5388032b149540d6e4c5..11e73f4acabf550f3808bd8c5fc7ef774ec51788 100644 |
--- a/src/parsing/parser.cc |
+++ b/src/parsing/parser.cc |
@@ -2696,13 +2696,23 @@ FunctionLiteral* Parser::ParseFunctionLiteral( |
expected_property_count = function_state.expected_property_count(); |
} |
- if (use_temp_zone || is_lazy_top_level_function) { |
+ DCHECK(use_temp_zone || !is_lazy_top_level_function); |
+ if (use_temp_zone) { |
// If the preconditions are correct the function body should never be |
// accessed, but do this anyway for better behaviour if they're wrong. |
body = nullptr; |
scope->AnalyzePartially(&previous_zone_ast_node_factory); |
} |
+ if (FLAG_trace_preparse) { |
+ PrintF(" [%s]: %i-%i %.*s\n", |
+ is_lazy_top_level_function |
+ ? "Preparse no-resolution" |
+ : (use_temp_zone ? "Preparse resolution" : "Full parse"), |
+ scope->start_position(), scope->end_position(), |
+ function_name->byte_length(), function_name->raw_data()); |
+ } |
+ |
// Parsing the body may change the language mode in our scope. |
language_mode = scope->language_mode(); |