From 3d43bce045b39d0ac56b8b8f3f741572ac10c505 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Sun, 19 Nov 2017 15:02:51 +0100 Subject: [PATCH] deps: cherry-pick 98c40a4bae915 from V8 upstream Original commit message: [platform] Return task runners as shared_ptr At the moment, task runners are returned as unique_ptr. This is inconvenient, however. In all implementations I did, the platform holds a shared pointer of the task runner and wraps it in a wrapper class just to return it as a unique_ptr. With this CL the platform API is changed to return a shared_ptr directly. R=rmcilroy@chromium.org Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng Change-Id: Ide278db855199ea239ad0ae14d97fd17349dac8c Reviewed-on: https://chromium-review.googlesource.com/768867 Commit-Queue: Andreas Haas Reviewed-by: Ross McIlroy Cr-Commit-Position: refs/heads/master@{#49366} Refs: https://github.com/v8/v8/commit/98c40a4bae915a9762c73de3307300c61e4fd91a PR-URL: https://github.com/nodejs/node/pull/17134 Fixes: https://github.com/nodejs/node-v8/issues/24 Reviewed-By: Franziska Hinkelmann Reviewed-By: Ben Noordhuis Reviewed-By: James M Snell --- common.gypi | 2 +- deps/v8/include/v8-platform.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/common.gypi b/common.gypi index 733d668e883..804c87b0a2a 100644 --- a/common.gypi +++ b/common.gypi @@ -27,7 +27,7 @@ # Reset this number to 0 on major V8 upgrades. # Increment by one for each non-official patch applied to deps/v8. - 'v8_embedder_string': '-node.2', + 'v8_embedder_string': '-node.3', # Enable disassembler for `--print-code` v8 options 'v8_enable_disassembler': 1, diff --git a/deps/v8/include/v8-platform.h b/deps/v8/include/v8-platform.h index 932a36ae7da..f814543e666 100644 --- a/deps/v8/include/v8-platform.h +++ b/deps/v8/include/v8-platform.h @@ -199,7 +199,7 @@ class Platform { * Returns a TaskRunner which can be used to post a task on the foreground. * This function should only be called from a foreground thread. */ - virtual std::unique_ptr GetForegroundTaskRunner( + virtual std::shared_ptr GetForegroundTaskRunner( Isolate* isolate) { // TODO(ahaas): Make this function abstract after it got implemented on all // platforms. @@ -210,7 +210,7 @@ class Platform { * Returns a TaskRunner which can be used to post a task on a background. * This function should only be called from a foreground thread. */ - virtual std::unique_ptr GetBackgroundTaskRunner( + virtual std::shared_ptr GetBackgroundTaskRunner( Isolate* isolate) { // TODO(ahaas): Make this function abstract after it got implemented on all // platforms.