summaryrefslogtreecommitdiff
path: root/deps/v8/src
diff options
context:
space:
mode:
authorYang Guo <yangguo@chromium.org>2018-11-09 15:12:33 +0100
committerRich Trott <rtrott@gmail.com>2018-11-13 22:25:34 -0800
commit715bbb9d04a320b4c1a234e1f9d878c116beb3f4 (patch)
tree970af036aa597d4d1fa83f0592546577aaae1fe9 /deps/v8/src
parentc1d18a0728fc43036af47780414bb519b670a4d5 (diff)
downloadandroid-node-v8-715bbb9d04a320b4c1a234e1f9d878c116beb3f4.tar.gz
android-node-v8-715bbb9d04a320b4c1a234e1f9d878c116beb3f4.tar.bz2
android-node-v8-715bbb9d04a320b4c1a234e1f9d878c116beb3f4.zip
deps: backport 073073b4f1 from upstream V8
Original commit message: [profiler] introduce API to enable detailed source positions This allows Node.js to enable detailed source positions for optimized code early on, without having to pass a flag string. R=petermarshall@chromium.org Change-Id: Ie74ea41f600cf6e31acbe802116df4976ccf1c75 Reviewed-on: https://chromium-review.googlesource.com/c/1319757 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#57380} PR-URL: https://github.com/nodejs/node/pull/24274 Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Peter Marshall <petermarshall@chromium.org> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By: Matheus Marchini <mat@mmarchini.me> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Diffstat (limited to 'deps/v8/src')
-rw-r--r--deps/v8/src/api.cc5
-rw-r--r--deps/v8/src/isolate.cc3
-rw-r--r--deps/v8/src/isolate.h3
3 files changed, 9 insertions, 2 deletions
diff --git a/deps/v8/src/api.cc b/deps/v8/src/api.cc
index c1afe8d93b..8f8aaf7bc6 100644
--- a/deps/v8/src/api.cc
+++ b/deps/v8/src/api.cc
@@ -10132,6 +10132,11 @@ void CpuProfiler::SetIdle(bool is_idle) {
isolate->SetIdle(is_idle);
}
+void CpuProfiler::UseDetailedSourcePositionsForProfiling(Isolate* isolate) {
+ reinterpret_cast<i::Isolate*>(isolate)
+ ->set_detailed_source_positions_for_profiling(true);
+}
+
uintptr_t CodeEvent::GetCodeStartAddress() {
return reinterpret_cast<i::CodeEvent*>(this)->code_start_address;
}
diff --git a/deps/v8/src/isolate.cc b/deps/v8/src/isolate.cc
index 89fecce804..eed52d9c19 100644
--- a/deps/v8/src/isolate.cc
+++ b/deps/v8/src/isolate.cc
@@ -3257,7 +3257,8 @@ bool Isolate::use_optimizer() {
}
bool Isolate::NeedsDetailedOptimizedCodeLineInfo() const {
- return NeedsSourcePositionsForProfiling() || FLAG_detailed_line_info;
+ return NeedsSourcePositionsForProfiling() ||
+ detailed_source_positions_for_profiling();
}
bool Isolate::NeedsSourcePositionsForProfiling() const {
diff --git a/deps/v8/src/isolate.h b/deps/v8/src/isolate.h
index e199a93ec4..efd479c41e 100644
--- a/deps/v8/src/isolate.h
+++ b/deps/v8/src/isolate.h
@@ -553,7 +553,8 @@ typedef std::vector<HeapObject*> DebugObjectCache;
V(int, last_console_context_id, 0) \
V(v8_inspector::V8Inspector*, inspector, nullptr) \
V(bool, next_v8_call_is_safe_for_termination, false) \
- V(bool, only_terminate_in_safe_scope, false)
+ V(bool, only_terminate_in_safe_scope, false) \
+ V(bool, detailed_source_positions_for_profiling, FLAG_detailed_line_info)
#define THREAD_LOCAL_TOP_ACCESSOR(type, name) \
inline void set_##name(type v) { thread_local_top_.name##_ = v; } \