From cec35a5eb9a6424f1deb78e0ff624cbf9e166fb6 Mon Sep 17 00:00:00 2001 From: Jon Kunkee Date: Thu, 7 Mar 2019 18:01:06 +0100 Subject: [PATCH] deps: V8: cherry-pick 7803fa6 Original commit message: Move ARM64 Assembler::nop definition from header to source file When Assembler::nop is in the header, it is considered an inline function. With GN arg is_component_build=true, the V8_EXPORT_PRIVATE mark on the class causes it to be exported every time the header is included. This, in turn, produces a reference to Register::XRegFromCode. Register::XRegFromCode is only ever defined as an inlined function, so that reference is never fulfilled. Clang can avoid this using the /Fc:dllexportInlines- flag to suppress the export of Assembler::nop and so avoid generating the reference to Register::XRegFromCode. MSVC does not support this flag, so this change suppresses the export by moving Assembler::nop's definition to the .cc file. This also allows it to use the inline definition of Register::XRegFromCode. Bug: v8:8870 Change-Id: I1cd33195677256c9dd06c7047fe84e1b912d3151 Reviewed-on: https://chromium-review.googlesource.com/c/1478216 Reviewed-by: Jakob Gruber Commit-Queue: Michael Achenbach Cr-Commit-Position: refs/heads/master@{#59785} Refs: https://github.com/v8/v8/commit/7803fa68f48b15534b3dccab5f6eefc9e714e62a PR-URL: https://github.com/nodejs/node/pull/25852 Reviewed-By: Ujjwal Sharma Reviewed-By: Matteo Collina Reviewed-By: Ali Ijaz Sheikh --- common.gypi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common.gypi b/common.gypi index 7ab12ba94ce3f2..b95823a237092f 100644 --- a/common.gypi +++ b/common.gypi @@ -37,7 +37,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.5', + 'v8_embedder_string': '-node.6', ##### V8 defaults for Node.js #####