• Jon Kunkee's avatar
    Reland "fix: move V8_EXPORT_PRIVATE marks to prevent unresolvable references" · 58d1e842
    Jon Kunkee authored
    This is a reland of 13a04aba
    
    Original change's description:
    > fix: move V8_EXPORT_PRIVATE marks to prevent unresolvable references
    >
    > This change fixes missing symbol errors in the Windows 10 on ARM build
    > of Node.js.
    >
    > When a whole class is marked for export, all of its members are marked
    > as well. This can be a problem when inline members call undefined yet
    > inline members of other classes: the exported function will contain a
    > reference to the undefined inline function that should be satisfied at
    > link time, but because the other function is inline no symbol will be
    > produced that will satisfy that reference.
    >
    > Clang gets around this by masking inlined class members from export
    > using /Fc:dllexportInlines-. This is why b0a2a567 worked.
    >
    > Node.js' Windows builds use MSVC and so do not have access to this
    > flag. This results in unresolved symbols at link time.
    >
    > Bug: v8:9465
    > Change-Id: Ief9c7ab6ba35d22f995939eb62a64d6f1992ed85
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1696771
    > Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
    > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    > Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#62660}
    
    Bug: v8:9465
    Change-Id: Ib7f1d84e080929e3db1b2a2b001e8e08924f4da0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1703462Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#62791}
    58d1e842
Name
Last commit
Last update
..
assembler-arm64-inl.h Loading commit data...
assembler-arm64.cc Loading commit data...
assembler-arm64.h Loading commit data...
constants-arm64.h Loading commit data...
cpu-arm64.cc Loading commit data...
decoder-arm64-inl.h Loading commit data...
decoder-arm64.cc Loading commit data...
decoder-arm64.h Loading commit data...
instructions-arm64-constants.cc Loading commit data...
instructions-arm64.cc Loading commit data...
instructions-arm64.h Loading commit data...
instrument-arm64.cc Loading commit data...
instrument-arm64.h Loading commit data...
interface-descriptors-arm64.cc Loading commit data...
macro-assembler-arm64-inl.h Loading commit data...
macro-assembler-arm64.cc Loading commit data...
macro-assembler-arm64.h Loading commit data...
register-arm64.cc Loading commit data...
register-arm64.h Loading commit data...
utils-arm64.cc Loading commit data...
utils-arm64.h Loading commit data...