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 <jgruber@chromium.org>
    Commit-Queue: Michael Achenbach <machenbach@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59785}

Refs: 7803fa68f4

PR-URL: https://github.com/nodejs/node/pull/25852
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
This commit is contained in:
Jon Kunkee
2019-03-07 18:01:06 +01:00
committed by Michaël Zasso
parent 0d4d6b39a7
commit cec35a5eb9

View File

@@ -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 #####