Index: src/parser.cc |
diff --git a/src/parser.cc b/src/parser.cc |
index a961f9140386b67cf84dbfb26b62341d37685dab..75bfbe25ab84611b2a14a95be4f098cd17073728 100644 |
--- a/src/parser.cc |
+++ b/src/parser.cc |
@@ -4104,6 +4104,7 @@ void Parser::SkipLazyFunctionBody(int* materialized_literal_count, |
*expected_property_count = entry.property_count(); |
scope_->SetLanguageMode(entry.language_mode()); |
if (entry.uses_super_property()) scope_->RecordSuperPropertyUsage(); |
+ if (entry.calls_eval()) scope_->RecordEvalCall(); |
return; |
} |
cached_parse_data_->Reject(); |
@@ -4138,16 +4139,19 @@ void Parser::SkipLazyFunctionBody(int* materialized_literal_count, |
*materialized_literal_count = logger.literals(); |
*expected_property_count = logger.properties(); |
scope_->SetLanguageMode(logger.language_mode()); |
- if (logger.scope_uses_super_property()) { |
+ if (logger.uses_super_property()) { |
scope_->RecordSuperPropertyUsage(); |
} |
+ if (logger.calls_eval()) { |
+ scope_->RecordEvalCall(); |
+ } |
if (produce_cached_parse_data()) { |
DCHECK(log_); |
// Position right after terminal '}'. |
int body_end = scanner()->location().end_pos; |
log_->LogFunction(function_block_pos, body_end, *materialized_literal_count, |
*expected_property_count, scope_->language_mode(), |
- scope_->uses_super_property()); |
+ scope_->uses_super_property(), scope_->calls_eval()); |
} |
} |