diff options
author | Peter Marshall <p.s.marshall0@gmail.com> | 2018-09-04 15:48:15 +0200 |
---|---|---|
committer | Michaƫl Zasso <targos@protonmail.com> | 2018-09-07 21:07:22 +0200 |
commit | 3771c9abc852d73748dde22866e71cd552ec8214 (patch) | |
tree | 785a55b1423cd7dd64b17ad347b21d39bfea863c /deps | |
parent | a3f258c7693fd76fc26edc8c9d5b67f260eb755d (diff) | |
download | node-new-3771c9abc852d73748dde22866e71cd552ec8214.tar.gz |
deps: backport detailed line info for CPU profiler
[cpu-profiler] Add flag to always generate accurate line info.
https://chromium.googlesource.com/v8/v8/+/
56baf56790de439b3f69e887e94beb3b301ed77c
[cpu-profiler] Turn on detailed line info for optimized code
https://chromium.googlesource.com/v8/v8/+/
84894ce6d2af7feb9e1f5574409355120887326c
[cpu-profiler] Separate the flags for generating extra line information
https://chromium.googlesource.com/v8/v8/+/
30ff6719db441cc7ef220d449970cc169067e256
PR-URL: https://github.com/nodejs/node/pull/22688
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Diffstat (limited to 'deps')
-rw-r--r-- | deps/v8/src/flag-definitions.h | 3 | ||||
-rw-r--r-- | deps/v8/src/isolate.cc | 4 | ||||
-rw-r--r-- | deps/v8/src/isolate.h | 2 | ||||
-rw-r--r-- | deps/v8/src/optimized-compilation-info.cc | 2 |
4 files changed, 10 insertions, 1 deletions
diff --git a/deps/v8/src/flag-definitions.h b/deps/v8/src/flag-definitions.h index 052869f308..4d5aa6f885 100644 --- a/deps/v8/src/flag-definitions.h +++ b/deps/v8/src/flag-definitions.h @@ -1243,6 +1243,9 @@ DEFINE_BOOL(log_function_events, false, DEFINE_BOOL(prof, false, "Log statistical profiling information (implies --log-code).") +DEFINE_BOOL(detailed_line_info, true, + "Always generate detailed line information for CPU profiling.") + #if defined(ANDROID) // Phones and tablets have processors that are much slower than desktop // and laptop computers for which current heuristics are tuned. diff --git a/deps/v8/src/isolate.cc b/deps/v8/src/isolate.cc index b0a970305e..b33b713672 100644 --- a/deps/v8/src/isolate.cc +++ b/deps/v8/src/isolate.cc @@ -3247,6 +3247,10 @@ 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() || diff --git a/deps/v8/src/isolate.h b/deps/v8/src/isolate.h index 09aaf99684..d94c0fde14 100644 --- a/deps/v8/src/isolate.h +++ b/deps/v8/src/isolate.h @@ -1044,6 +1044,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/deps/v8/src/optimized-compilation-info.cc b/deps/v8/src/optimized-compilation-info.cc index 09b8a0edea..77730919f1 100644 --- a/deps/v8/src/optimized-compilation-info.cc +++ b/deps/v8/src/optimized-compilation-info.cc @@ -38,7 +38,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(); } |