summaryrefslogtreecommitdiff
path: root/deps/v8/src/parsing/parse-info.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/parsing/parse-info.cc')
-rw-r--r--deps/v8/src/parsing/parse-info.cc45
1 files changed, 14 insertions, 31 deletions
diff --git a/deps/v8/src/parsing/parse-info.cc b/deps/v8/src/parsing/parse-info.cc
index f773cd5d41..9c0eee6d00 100644
--- a/deps/v8/src/parsing/parse-info.cc
+++ b/deps/v8/src/parsing/parse-info.cc
@@ -28,19 +28,18 @@ UnoptimizedCompileFlags::UnoptimizedCompileFlags(Isolate* isolate,
function_kind_(FunctionKind::kNormalFunction),
function_syntax_kind_(FunctionSyntaxKind::kDeclaration),
parsing_while_debugging_(ParsingWhileDebugging::kNo) {
- set_collect_type_profile(isolate->is_collecting_type_profile());
set_coverage_enabled(!isolate->is_best_effort_code_coverage());
set_block_coverage_enabled(isolate->is_block_code_coverage());
- set_might_always_turbofan(FLAG_always_turbofan ||
- FLAG_prepare_always_turbofan);
- set_allow_natives_syntax(FLAG_allow_natives_syntax);
+ set_might_always_turbofan(v8_flags.always_turbofan ||
+ v8_flags.prepare_always_turbofan);
+ set_allow_natives_syntax(v8_flags.allow_natives_syntax);
set_allow_lazy_compile(true);
- set_collect_source_positions(!FLAG_enable_lazy_source_positions ||
+ set_collect_source_positions(!v8_flags.enable_lazy_source_positions ||
isolate->NeedsDetailedOptimizedCodeLineInfo());
set_post_parallel_compile_tasks_for_eager_toplevel(
- FLAG_parallel_compile_tasks_for_eager_toplevel);
+ v8_flags.parallel_compile_tasks_for_eager_toplevel);
set_post_parallel_compile_tasks_for_lazy(
- FLAG_parallel_compile_tasks_for_lazy);
+ v8_flags.parallel_compile_tasks_for_lazy);
}
// static
@@ -60,15 +59,6 @@ UnoptimizedCompileFlags UnoptimizedCompileFlags::ForFunctionCompile(
#endif // V8_ENABLE_WEBASSEMBLY
flags.set_is_repl_mode(shared.is_repl_mode());
- // CollectTypeProfile uses its own feedback slots. If we have existing
- // FeedbackMetadata, we can only collect type profile if the feedback vector
- // has the appropriate slots.
- flags.set_collect_type_profile(
- isolate->is_collecting_type_profile() &&
- (shared.HasFeedbackMetadata()
- ? shared.feedback_metadata().HasTypeProfileSlot()
- : script.IsUserJavaScript()));
-
// Do not support re-parsing top-level function of a wrapped script.
DCHECK_IMPLIES(flags.is_toplevel(), !script.is_wrapped());
@@ -82,11 +72,11 @@ UnoptimizedCompileFlags UnoptimizedCompileFlags::ForScriptCompile(
flags.SetFlagsForFunctionFromScript(script);
flags.SetFlagsForToplevelCompile(
- isolate->is_collecting_type_profile(), script.IsUserJavaScript(),
- flags.outer_language_mode(), construct_repl_mode(script.is_repl_mode()),
+ script.IsUserJavaScript(), flags.outer_language_mode(),
+ construct_repl_mode(script.is_repl_mode()),
script.origin_options().IsModule() ? ScriptType::kModule
: ScriptType::kClassic,
- FLAG_lazy);
+ v8_flags.lazy);
if (script.is_wrapped()) {
flags.set_function_syntax_kind(FunctionSyntaxKind::kWrapped);
}
@@ -99,8 +89,7 @@ UnoptimizedCompileFlags UnoptimizedCompileFlags::ForToplevelCompile(
Isolate* isolate, bool is_user_javascript, LanguageMode language_mode,
REPLMode repl_mode, ScriptType type, bool lazy) {
UnoptimizedCompileFlags flags(isolate, isolate->GetNextScriptId());
- flags.SetFlagsForToplevelCompile(isolate->is_collecting_type_profile(),
- is_user_javascript, language_mode, repl_mode,
+ flags.SetFlagsForToplevelCompile(is_user_javascript, language_mode, repl_mode,
type, lazy);
LOG(isolate, ScriptEvent(V8FileLogger::ScriptEventType::kReserveId,
@@ -143,13 +132,11 @@ void UnoptimizedCompileFlags::SetFlagsFromFunction(T function) {
}
void UnoptimizedCompileFlags::SetFlagsForToplevelCompile(
- bool is_collecting_type_profile, bool is_user_javascript,
- LanguageMode language_mode, REPLMode repl_mode, ScriptType type,
- bool lazy) {
+ bool is_user_javascript, LanguageMode language_mode, REPLMode repl_mode,
+ ScriptType type, bool lazy) {
set_is_toplevel(true);
set_allow_lazy_parsing(lazy);
set_allow_lazy_compile(lazy);
- set_collect_type_profile(is_user_javascript && is_collecting_type_profile);
set_outer_language_mode(
stricter_language_mode(outer_language_mode(), language_mode));
set_is_repl_mode((repl_mode == REPLMode::kYes));
@@ -278,8 +265,7 @@ Handle<Script> ParseInfo::CreateScript(
} else if (flags().is_eval()) {
raw_script.set_compilation_type(Script::COMPILATION_TYPE_EVAL);
}
- CheckFlagsForToplevelCompileFromScript(raw_script,
- isolate->is_collecting_type_profile());
+ CheckFlagsForToplevelCompileFromScript(raw_script);
return script;
}
@@ -309,12 +295,9 @@ void ParseInfo::set_character_stream(
character_stream_.swap(character_stream);
}
-void ParseInfo::CheckFlagsForToplevelCompileFromScript(
- Script script, bool is_collecting_type_profile) {
+void ParseInfo::CheckFlagsForToplevelCompileFromScript(Script script) {
CheckFlagsForFunctionFromScript(script);
DCHECK(flags().is_toplevel());
- DCHECK_EQ(flags().collect_type_profile(),
- is_collecting_type_profile && script.IsUserJavaScript());
DCHECK_EQ(flags().is_repl_mode(), script.is_repl_mode());
if (script.is_wrapped()) {