diff --git a/src/isolate.cc b/src/isolate.cc index a5b8bffd4ebb..fd1f443f8c1c 100644 --- a/src/isolate.cc +++ b/src/isolate.cc @@ -3248,11 +3248,14 @@ bool Isolate::use_optimizer() { !is_precise_count_code_coverage() && !is_block_count_code_coverage(); } +bool Isolate::NeedsDetailedOptimizedCodeLineInfo() const { + return NeedsSourcePositionsForProfiling() || FLAG_detailed_line_info; +} + bool Isolate::NeedsSourcePositionsForProfiling() const { return FLAG_trace_deopt || FLAG_trace_turbo || FLAG_trace_turbo_graph || FLAG_turbo_profiling || FLAG_perf_prof || is_profiling() || - debug_->is_active() || logger_->is_logging() || FLAG_trace_maps || - FLAG_detailed_line_info; + debug_->is_active() || logger_->is_logging() || FLAG_trace_maps; } void Isolate::SetFeedbackVectorsForProfilingTools(Object* value) { diff --git a/src/isolate.h b/src/isolate.h index 2821413ab76f..015c7e8a7a8c 100644 --- a/src/isolate.h +++ b/src/isolate.h @@ -1141,6 +1141,8 @@ class Isolate : private HiddenFactory { bool NeedsSourcePositionsForProfiling() const; + bool NeedsDetailedOptimizedCodeLineInfo() const; + bool is_best_effort_code_coverage() const { return code_coverage_mode() == debug::Coverage::kBestEffort; } diff --git a/src/optimized-compilation-info.cc b/src/optimized-compilation-info.cc index 58f8a30b0a35..f14c3a66615d 100644 --- a/src/optimized-compilation-info.cc +++ b/src/optimized-compilation-info.cc @@ -36,7 +36,7 @@ OptimizedCompilationInfo::OptimizedCompilationInfo( // Collect source positions for optimized code when profiling or if debugger // is active, to be able to get more precise source positions at the price of // more memory consumption. - if (isolate->NeedsSourcePositionsForProfiling()) { + if (isolate->NeedsDetailedOptimizedCodeLineInfo()) { MarkAsSourcePositionsEnabled(); }