From 9e08695f85d4273f01e010cf384f42030d66b453 Mon Sep 17 00:00:00 2001 From: Matt Loring Date: Mon, 13 Mar 2017 15:17:57 -0700 Subject: src: Node implementation of v8::Platform MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Node.js currently uses the V8 implementation of the DefaultPlatform which schedules VM tasks on a V8 managed thread pool. Since the Node.js event loop is not aware of these tasks, the Node.js process may exit while there are outstanding VM tasks. This will become problematic once asynchronous wasm compilation lands in V8. This PR introduces a Node.js specific implementation of the v8::Platform on top of libuv so that the event loop is aware of outstanding VM tasks. PR-URL: https://github.com/nodejs/node/pull/14001 Fixes: https://github.com/nodejs/node/issues/3665 Fixes: https://github.com/nodejs/node/issues/8496 Fixes: https://github.com/nodejs/node/issues/12980 Reviewed-By: Anna Henningsen Reviewed-By: Ben Noordhuis Reviewed-By: Tobias Nießen --- src/inspector_agent.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/inspector_agent.h') diff --git a/src/inspector_agent.h b/src/inspector_agent.h index 6ec1bc28dc..8195e001c2 100644 --- a/src/inspector_agent.h +++ b/src/inspector_agent.h @@ -14,6 +14,7 @@ // Forward declaration to break recursive dependency chain with src/env.h. namespace node { class Environment; +class NodePlatform; } // namespace node #include "v8.h" @@ -42,7 +43,7 @@ class Agent { ~Agent(); // Create client_, may create io_ if option enabled - bool Start(v8::Platform* platform, const char* path, + bool Start(node::NodePlatform* platform, const char* path, const DebugOptions& options); // Stop and destroy io_ void Stop(); -- cgit v1.2.3