-
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: 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@{#62791}
58d1e842