Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[v12.x] Backport deps: update V8 to 7.6 #28955

Closed
wants to merge 21 commits into from

Conversation

targos
Copy link
Member

@targos targos commented Aug 4, 2019

No description provided.

@nodejs-github-bot nodejs-github-bot added build Issues and PRs related to build files or the CI. v12.x v8 engine Issues and PRs related to the V8 dependency. labels Aug 4, 2019
@targos
Copy link
Member Author

targos commented Aug 4, 2019

Current diff of V8 include files: https://gist.github.com/targos/48d4e0791ee6dc1ad4687e92402b6669

I'm sure we're not totally API/ABI compatible but it's not easy for me to understand the impact of all changes. Also, I don't know if we need to maintain compatibility in every header file or only v8.h.

/cc @addaleax

@addaleax
Copy link
Member

addaleax commented Aug 5, 2019

I'm sure we're not totally API/ABI compatible but it's not easy for me to understand the impact of all changes.

I think there are a few differences, like the changes to SetHiddenPrototype(), EmbedderHeapTracer and SetFlagsFromString(). I’ll try to push something to this branch, if that’s alright.

Also, I don't know if we need to maintain compatibility in every header file or only v8.h.

I think this boils down to, “is there something in these other headers that addons will end up using?” – there might be instances of that, e.g. the CpuProfiler changes here?

@targos
Copy link
Member Author

targos commented Aug 5, 2019

Feel free to push anything you want. Thank you ❤️

@targos
Copy link
Member Author

targos commented Aug 6, 2019

@addaleax do you think there is more to do?

@addaleax
Copy link
Member

addaleax commented Aug 6, 2019

I don’t think addons can make practical use of v8::EmbedderHeapTracer, and I wouldn’t know what we could do about the v8-inspector.h changes. It might be good to also undo the RegisterState change, but that might be a bit tricky to do.

@alexkozy
Copy link
Member

alexkozy commented Aug 7, 2019

Native addons should not use v8-inspector.h: #22415

@alexkozy alexkozy mentioned this pull request Aug 7, 2019
2 tasks
@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Aug 8, 2019

deps/v8/include/v8.h Outdated Show resolved Hide resolved
targos and others added 16 commits August 9, 2019 15:42
PR-URL: nodejs#28016
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Original commit message:

    [testrunner] delete ancient junit compatible format support

    Testrunner has ancient support for JUnit compatible XML output.

    This CL removes this old feature.

    R=mstarzinger@chromium.org,jgruber@chromium.org,jkummerow@chromium.org
    CC=​machenbach@chromium.org

    Bug: v8:8728
    Change-Id: I7e1beb011dbaec3aa1a27398a5c52abdd778eaf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1430065
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Tamer Tas <tmrts@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59045}

Refs: v8/v8@bd019bd

PR-URL: nodejs#26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
PR-URL: nodejs#26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Update postmortem metadata constants for V8 7.6 in Node.js.

PR-URL: nodejs#28016
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Fixes a compilation issue on some platforms

PR-URL: nodejs#27375
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
This should be semver-patch since actual invocation is version
conditional.

PR-URL: nodejs#27375
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
`std::atomic_init<size_t>` is not implemented in all platforms.

* pragma to ignore `-Wbraced-scalar-init`

PR-URL: nodejs#27375
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Refs: https://developercommunity.visualstudio.com/content/problem/512352/compiler-doesnt-finish-142027508.html

PR-URL: nodejs#28016
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
PR-URL: nodejs#27375
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
PR-URL: nodejs#28016
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Original commit message:

    GCC: explicitely instantiate JSObject::ApplyAttributesToDictionary for NumberDictionary

    elements.cc invokes ApplyAttributesToDictionary using NumberDictionary as its template
    parameter. But the declaration of the template method is in js-object.cc, so nobody
    can actually compile the version for number dictionary. This is fixed requesting
    explicit instantiation for NumberDictionary.

    This was breaking GCC build.

    Bug: chromium:819294
    Change-Id: I685ddc5b97e129d1a534dbdb04025c0932bc5ecd
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1649565
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Commit-Queue: José Dapena Paz <jose.dapena@lge.com>
    Cr-Commit-Position: refs/heads/master@{#62097}

Refs: v8/v8@3b8c624

PR-URL: nodejs#28016
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Original commit message:
  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}

Refs: v8/v8@13a04ab
PR-URL: nodejs#28602
Reviewed-By: João Reis <reis@janeasystems.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Original commit message:

    [snapshot] print reference stack for JSFunctions in the isolate snapshot

    This helps debugging incorrect usage of the SnapshotCreator API in
    debug mode.

    Change-Id: Ibd9db76a5f460cdf7ea6d14e865592ebaf69aeef
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1648240
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#62095}

Refs: v8/v8@d2ccc59

PR-URL: nodejs#28016
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Original commit message:

    [api] Get ScriptOrModule from CompileFunctionInContext

    Adds a new out param which allows accessing the ScriptOrModule
    of a function, which allows an embedder such as Node.js to use
    the function's i::Script lifetime.

    Refs: nodejs/node-v8#111
    Change-Id: I34346d94d76e8f9b8377c97d948673f4b95eb9d5
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1699698
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#62830}

Refs: v8/v8@b33af60

Backport-PR-URL: nodejs#28779
PR-URL: nodejs#28671
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Guy Bedford <guybedford@gmail.com>
targos added a commit to targos/node that referenced this pull request Sep 17, 2019
Reverts v8/v8@4214933.
Reverts v8/v8@c76f377.
Reverts v8/v8@e0d7f81.

Co-authored-by: Anna Henningsen <anna@addaleax.net>
PR-URL: nodejs#28955
targos added a commit that referenced this pull request Sep 19, 2019
Reverts v8/v8@1b51dca
Reverts v8/v8@1ab717d
Partially reverts v8/v8@b0077b3

Backport-PR-URL: #29241
Backport-PR-URL: #28955
PR-URL: #28005
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
targos added a commit that referenced this pull request Sep 19, 2019
Reverts v8/v8@4214933.
Reverts v8/v8@c76f377.
Reverts v8/v8@e0d7f81.

Co-authored-by: Anna Henningsen <anna@addaleax.net>
Backport-PR-URL: #29241
PR-URL: #28955
@BridgeAR BridgeAR mentioned this pull request Sep 24, 2019
targos added a commit that referenced this pull request Oct 8, 2019
Reverts v8/v8@1b51dca
Reverts v8/v8@1ab717d
Partially reverts v8/v8@b0077b3

Backport-PR-URL: #29241
Backport-PR-URL: #28955
PR-URL: #28005
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
targos added a commit that referenced this pull request Oct 8, 2019
Reverts v8/v8@4214933.
Reverts v8/v8@c76f377.
Reverts v8/v8@e0d7f81.

Co-authored-by: Anna Henningsen <anna@addaleax.net>
Backport-PR-URL: #29241
PR-URL: #28955
targos added a commit to targos/node that referenced this pull request Oct 25, 2019
Reverts v8/v8@1b51dca
Reverts v8/v8@1ab717d
Partially reverts v8/v8@b0077b3

Backport-PR-URL: nodejs#29241
Backport-PR-URL: nodejs#28955
PR-URL: nodejs#28005
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
targos added a commit to targos/node that referenced this pull request Oct 25, 2019
Reverts v8/v8@4214933.
Reverts v8/v8@c76f377.
Reverts v8/v8@e0d7f81.

Co-authored-by: Anna Henningsen <anna@addaleax.net>
Backport-PR-URL: nodejs#29241
PR-URL: nodejs#28955
MylesBorins pushed a commit to targos/node that referenced this pull request Jan 7, 2020
Reverts v8/v8@1b51dca
Reverts v8/v8@1ab717d
Partially reverts v8/v8@b0077b3

Backport-PR-URL: nodejs#29241
Backport-PR-URL: nodejs#28955
PR-URL: nodejs#28005
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
MylesBorins pushed a commit to targos/node that referenced this pull request Jan 7, 2020
Reverts v8/v8@4214933.
Reverts v8/v8@c76f377.
Reverts v8/v8@e0d7f81.

Co-authored-by: Anna Henningsen <anna@addaleax.net>
Backport-PR-URL: nodejs#29241
PR-URL: nodejs#28955
MylesBorins pushed a commit that referenced this pull request Jan 8, 2020
Reverts v8/v8@1b51dca
Reverts v8/v8@1ab717d
Partially reverts v8/v8@b0077b3

Backport-PR-URL: #30109
Backport-PR-URL: #29241
Backport-PR-URL: #28955
PR-URL: #28005
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
MylesBorins pushed a commit that referenced this pull request Jan 8, 2020
Reverts v8/v8@4214933.
Reverts v8/v8@c76f377.
Reverts v8/v8@e0d7f81.

Co-authored-by: Anna Henningsen <anna@addaleax.net>
Backport-PR-URL: #30109
Backport-PR-URL: #29241
PR-URL: #28955
BethGriggs pushed a commit that referenced this pull request Feb 6, 2020
Reverts v8/v8@1b51dca
Reverts v8/v8@1ab717d
Partially reverts v8/v8@b0077b3

Backport-PR-URL: #30109
Backport-PR-URL: #29241
Backport-PR-URL: #28955
PR-URL: #28005
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
BethGriggs pushed a commit that referenced this pull request Feb 6, 2020
Reverts v8/v8@4214933.
Reverts v8/v8@c76f377.
Reverts v8/v8@e0d7f81.

Co-authored-by: Anna Henningsen <anna@addaleax.net>
Backport-PR-URL: #30109
Backport-PR-URL: #29241
PR-URL: #28955
@MylesBorins MylesBorins mentioned this pull request Feb 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. v8 engine Issues and PRs related to the V8 dependency.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants