summaryrefslogtreecommitdiff
path: root/deps
diff options
context:
space:
mode:
authorAli Ijaz Sheikh <ofrobots@google.com>2017-10-18 15:19:43 -0700
committerAli Ijaz Sheikh <ofrobots@google.com>2017-10-29 09:38:30 -0700
commitc08750275882f1472f7ff2a98916f857a0857dc6 (patch)
tree7a0b7869bbf5291456f4ea74ad84761131a6d2fe /deps
parent88fb359c578b5d1a58885f3afcf6e542a9f07843 (diff)
downloadnode-new-c08750275882f1472f7ff2a98916f857a0857dc6.tar.gz
deps: V8: backport b1cd96e from upstream
Original commit message: [inspector] added V8InspectorClient::maxAsyncCallStackDepthChanged R=dgozman@chromium.org Bug: none Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: I0fa10978266feb3c3907ce1f3386ae7a34a33582 Reviewed-on: https://chromium-review.googlesource.com/726490 Reviewed-by: Dmitry Gozman <dgozman@chromium.org> Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org> Cr-Commit-Position: refs/heads/master@{#48705} PR-URL: https://github.com/nodejs/node/pull/16308 Refs: https://github.com/v8/v8/commit/b1cd96ec4b836348bcffba357cd29076ab3ae48b Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Timothy Gu <timothygu99@gmail.com>
Diffstat (limited to 'deps')
-rw-r--r--deps/v8/include/v8-inspector.h2
-rw-r--r--deps/v8/src/inspector/v8-debugger.cc2
-rw-r--r--deps/v8/test/inspector/debugger/max-async-call-stack-depth-changed-expected.txt5
-rw-r--r--deps/v8/test/inspector/debugger/max-async-call-stack-depth-changed.js16
-rw-r--r--deps/v8/test/inspector/inspector-test.cc15
-rw-r--r--deps/v8/test/inspector/isolate-data.cc9
-rw-r--r--deps/v8/test/inspector/isolate-data.h3
7 files changed, 52 insertions, 0 deletions
diff --git a/deps/v8/include/v8-inspector.h b/deps/v8/include/v8-inspector.h
index 43bf3b4f60..d0bb9b47fe 100644
--- a/deps/v8/include/v8-inspector.h
+++ b/deps/v8/include/v8-inspector.h
@@ -211,6 +211,8 @@ class V8_EXPORT V8InspectorClient {
// TODO(dgozman): this was added to support service worker shadow page. We
// should not connect at all.
virtual bool canExecuteScripts(int contextGroupId) { return true; }
+
+ virtual void maxAsyncCallStackDepthChanged(int depth) {}
};
class V8_EXPORT V8Inspector {
diff --git a/deps/v8/src/inspector/v8-debugger.cc b/deps/v8/src/inspector/v8-debugger.cc
index acd778b2b6..bc5437c6d4 100644
--- a/deps/v8/src/inspector/v8-debugger.cc
+++ b/deps/v8/src/inspector/v8-debugger.cc
@@ -726,6 +726,8 @@ void V8Debugger::setAsyncCallStackDepth(V8DebuggerAgentImpl* agent, int depth) {
if (m_maxAsyncCallStackDepth == maxAsyncCallStackDepth) return;
// TODO(dgozman): ideally, this should be per context group.
m_maxAsyncCallStackDepth = maxAsyncCallStackDepth;
+ m_inspector->client()->maxAsyncCallStackDepthChanged(
+ m_maxAsyncCallStackDepth);
if (!maxAsyncCallStackDepth) allAsyncTasksCanceled();
}
diff --git a/deps/v8/test/inspector/debugger/max-async-call-stack-depth-changed-expected.txt b/deps/v8/test/inspector/debugger/max-async-call-stack-depth-changed-expected.txt
new file mode 100644
index 0000000000..0f94b592e0
--- /dev/null
+++ b/deps/v8/test/inspector/debugger/max-async-call-stack-depth-changed-expected.txt
@@ -0,0 +1,5 @@
+Tests for max async call stack depth changed.
+maxAsyncCallStackDepthChanged: 8
+maxAsyncCallStackDepthChanged: 0
+maxAsyncCallStackDepthChanged: 8
+maxAsyncCallStackDepthChanged: 0
diff --git a/deps/v8/test/inspector/debugger/max-async-call-stack-depth-changed.js b/deps/v8/test/inspector/debugger/max-async-call-stack-depth-changed.js
new file mode 100644
index 0000000000..2d58539810
--- /dev/null
+++ b/deps/v8/test/inspector/debugger/max-async-call-stack-depth-changed.js
@@ -0,0 +1,16 @@
+// Copyright 2017 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+let {session, contextGroup, Protocol} =
+ InspectorTest.start('Tests for max async call stack depth changed.');
+
+(async function test(){
+ utils.setLogMaxAsyncCallStackDepthChanged(true);
+ await Protocol.Debugger.enable();
+ await Protocol.Debugger.setAsyncCallStackDepth({maxDepth: 8});
+ await Protocol.Debugger.setAsyncCallStackDepth({maxDepth: 0});
+ await Protocol.Debugger.setAsyncCallStackDepth({maxDepth: 8});
+ await Protocol.Debugger.disable();
+ InspectorTest.completeTest();
+})();
diff --git a/deps/v8/test/inspector/inspector-test.cc b/deps/v8/test/inspector/inspector-test.cc
index dcaf5823ef..de89271fbf 100644
--- a/deps/v8/test/inspector/inspector-test.cc
+++ b/deps/v8/test/inspector/inspector-test.cc
@@ -299,6 +299,10 @@ class UtilsExtension : public IsolateData::SetupGlobalTask {
utils->Set(ToV8String(isolate, "setLogConsoleApiMessageCalls"),
v8::FunctionTemplate::New(
isolate, &UtilsExtension::SetLogConsoleApiMessageCalls));
+ utils->Set(
+ ToV8String(isolate, "setLogMaxAsyncCallStackDepthChanged"),
+ v8::FunctionTemplate::New(
+ isolate, &UtilsExtension::SetLogMaxAsyncCallStackDepthChanged));
utils->Set(ToV8String(isolate, "createContextGroup"),
v8::FunctionTemplate::New(isolate,
&UtilsExtension::CreateContextGroup));
@@ -486,6 +490,17 @@ class UtilsExtension : public IsolateData::SetupGlobalTask {
args[0].As<v8::Boolean>()->Value());
}
+ static void SetLogMaxAsyncCallStackDepthChanged(
+ const v8::FunctionCallbackInfo<v8::Value>& args) {
+ if (args.Length() != 1 || !args[0]->IsBoolean()) {
+ fprintf(stderr,
+ "Internal error: setLogMaxAsyncCallStackDepthChanged(bool).");
+ Exit();
+ }
+ backend_runner_->data()->SetLogMaxAsyncCallStackDepthChanged(
+ args[0].As<v8::Boolean>()->Value());
+ }
+
static void CreateContextGroup(
const v8::FunctionCallbackInfo<v8::Value>& args) {
if (args.Length() != 0) {
diff --git a/deps/v8/test/inspector/isolate-data.cc b/deps/v8/test/inspector/isolate-data.cc
index 82a5cc0483..4c1d81670f 100644
--- a/deps/v8/test/inspector/isolate-data.cc
+++ b/deps/v8/test/inspector/isolate-data.cc
@@ -370,6 +370,10 @@ void IsolateData::SetLogConsoleApiMessageCalls(bool log) {
log_console_api_message_calls_ = log;
}
+void IsolateData::SetLogMaxAsyncCallStackDepthChanged(bool log) {
+ log_max_async_call_stack_depth_changed_ = log;
+}
+
v8::MaybeLocal<v8::Value> IsolateData::memoryInfo(v8::Isolate* isolate,
v8::Local<v8::Context>) {
if (memory_info_.IsEmpty()) return v8::MaybeLocal<v8::Value>();
@@ -396,3 +400,8 @@ void IsolateData::consoleAPIMessage(int contextGroupId,
Print(isolate_, stack->toString()->string());
fprintf(stdout, "\n");
}
+
+void IsolateData::maxAsyncCallStackDepthChanged(int depth) {
+ if (!log_max_async_call_stack_depth_changed_) return;
+ fprintf(stdout, "maxAsyncCallStackDepthChanged: %d\n", depth);
+}
diff --git a/deps/v8/test/inspector/isolate-data.h b/deps/v8/test/inspector/isolate-data.h
index b8f3b9e76c..455b44b49b 100644
--- a/deps/v8/test/inspector/isolate-data.h
+++ b/deps/v8/test/inspector/isolate-data.h
@@ -64,6 +64,7 @@ class IsolateData : public v8_inspector::V8InspectorClient {
void SetCurrentTimeMS(double time);
void SetMemoryInfo(v8::Local<v8::Value> memory_info);
void SetLogConsoleApiMessageCalls(bool log);
+ void SetLogMaxAsyncCallStackDepthChanged(bool log);
void SetMaxAsyncTaskStacksForTest(int limit);
void DumpAsyncTaskStacksStateForTest();
void FireContextCreated(v8::Local<v8::Context> context, int context_group_id);
@@ -106,6 +107,7 @@ class IsolateData : public v8_inspector::V8InspectorClient {
unsigned lineNumber, unsigned columnNumber,
v8_inspector::V8StackTrace*) override;
bool isInspectableHeapObject(v8::Local<v8::Object>) override;
+ void maxAsyncCallStackDepthChanged(int depth) override;
TaskRunner* task_runner_;
SetupGlobalTasks setup_global_tasks_;
@@ -123,6 +125,7 @@ class IsolateData : public v8_inspector::V8InspectorClient {
bool current_time_set_ = false;
double current_time_ = 0.0;
bool log_console_api_message_calls_ = false;
+ bool log_max_async_call_stack_depth_changed_ = false;
v8::Global<v8::Private> not_inspectable_private_;
DISALLOW_COPY_AND_ASSIGN(IsolateData);