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

deps: update V8 to 6.8 #21079

Closed
wants to merge 18 commits into from
Closed

deps: update V8 to 6.8 #21079

wants to merge 18 commits into from

Commits on Jul 25, 2018

  1. deps: update V8 to 6.8.275.24

    targos committed Jul 25, 2018
    Configuration menu
    Copy the full SHA
    c4df717 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c05eb76 View commit details
    Browse the repository at this point in the history
  3. src: update NODE_MODULE_VERSION to 65

    Major V8 updates are usually API/ABI incompatible with previous
    versions. This commit adapts NODE_MODULE_VERSION for V8 6.8.
    
    Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md
    targos committed Jul 25, 2018
    Configuration menu
    Copy the full SHA
    3e612e1 View commit details
    Browse the repository at this point in the history
  4. deps: update v8.gyp and run Torque

    Synchronize source files list with upstream's BUILD.gn.
    
    Teach v8.gyp to build and run torque, V8's DSL for generating builtins.
    
    On Windows, the torque binary needs to be compiled and linked
    with exception semantics and assume V8 is embedded.
    
    Fixes: nodejs/node-v8#57
    
    Co-Authored-By: Ben Noordhuis <info@bnoordhuis.nl>
    Co-Authored-By: Refael Ackermann <refack@gmail.com>
    3 people committed Jul 25, 2018
    Configuration menu
    Copy the full SHA
    85006ec View commit details
    Browse the repository at this point in the history
  5. deps: cherry-pick 5dd3395 from upstream V8

    Original commit message:
    
        [log] improve --perf-basic-prof-only-functions
    
        Change --perf-basic-prof-only-functions to also log builtin code
        creation events, otherwise InterpretedFunctions generated by
        --interpreted-frames-native-stack will be filtered out.
    
        R=yangguo@google.com
    
        Change-Id: Ib0623fca88e25c514473a43de56ebbbdcb146f97
        Reviewed-on: https://chromium-review.googlesource.com/1100014
        Reviewed-by: Yang Guo <yangguo@chromium.org>
        Commit-Queue: Yang Guo <yangguo@chromium.org>
        Cr-Commit-Position: refs/heads/master@{nodejs#53760}
    
    Refs: v8/v8@5dd3395
    
    PR-URL: nodejs#21386
    Reviewed-By: Yang Guo <yangguo@chromium.org>
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Matheus Marchini authored and targos committed Jul 25, 2018
    Configuration menu
    Copy the full SHA
    3507a56 View commit details
    Browse the repository at this point in the history
  6. deps: cherry-pick aa6ce3e from upstream V8

    Original commit message:
    
        [log][api] introduce public CodeEventListener API
    
        Introduce a new public API called CodeEventListener to allow embedders
        to better support external profilers and other diagnostic tools without
        relying on unsupported methods like --perf-basic-prof.
    
        Bug: v8:7694
        Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
        Change-Id: I063cc965394d59401358757634c9ea84c11517e9
        Co-authored-by: Daniel Beckert <daniel@sthima.com.br>
        Reviewed-on: https://chromium-review.googlesource.com/1028770
        Commit-Queue: Yang Guo <yangguo@chromium.org>
        Reviewed-by: Hannes Payer <hpayer@chromium.org>
        Reviewed-by: Yang Guo <yangguo@chromium.org>
        Reviewed-by: Andreas Haas <ahaas@chromium.org>
        Cr-Commit-Position: refs/heads/master@{nodejs#53382}
    
    Refs: v8/v8@aa6ce3e
    targos committed Jul 25, 2018
    Configuration menu
    Copy the full SHA
    e320bd5 View commit details
    Browse the repository at this point in the history
  7. deps: cherry-pick b20faff from upstream V8

    Original commit message:
    
        [log] fix ExistingCodeLogger behavior on edge case
    
        ExistingCodeLogger was behaving incorrectly when the
        CodeEventHandler API was used in combination with
        --interpreted-frames-native-stack.  Instead of collecting copied
        trampolines as InterpretedFunction:functionName, they were being
        collected as Builtin:IntepreterEntryTrampolines.  This patch adds
        special handling for copied trampolines when using
        ExistingCodeLogger.
    
        R=yangguo@google.com
    
        Change-Id: I3ee4be03800122d28d53b51b20c60dcf6263e4c1
        Reviewed-on: https://chromium-review.googlesource.com/1087813
        Reviewed-by: Yang Guo <yangguo@chromium.org>
        Commit-Queue: Yang Guo <yangguo@chromium.org>
        Cr-Commit-Position: refs/heads/master@{nodejs#53624}
    
    Refs: v8/v8@b20faff
    
    PR-URL: nodejs#21126
    Refs: v8/v8@aa6ce3e
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Matheus Marchini authored and targos committed Jul 25, 2018
    Configuration menu
    Copy the full SHA
    742f9ea View commit details
    Browse the repository at this point in the history
  8. deps: cherry-pick acc336c from upstream V8

    Original commit message:
    
        [log] fix boolean logic on LogCodeObject
    
        R=yangguo@google.com
    
        Change-Id: Icb4825344991e5b2d15050e037064c60eeb9617e
        Reviewed-on: https://chromium-review.googlesource.com/1097578
        Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
        Reviewed-by: Yang Guo <yangguo@chromium.org>
        Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
        Cr-Commit-Position: refs/heads/master@{nodejs#53777}
    
    Refs: v8/v8@acc336c
    
    PR-URL: nodejs#21126
    Refs: v8/v8@aa6ce3e
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Matheus Marchini authored and targos committed Jul 25, 2018
    Configuration menu
    Copy the full SHA
    06c0358 View commit details
    Browse the repository at this point in the history
  9. deps: cherry-pick 70c4340 from upstream V8

    Original commit message:
    
        [log][api] Fix GCC 4.9 build failure
    
        GCC 4.9 used on some Node.js CI machines complains when the control
        reaches the end of a non-void function and no return is encountered.
    
        R=bmeurer@google.com, ofrobots@google.com, yangguo@google.com
    
        Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
        Change-Id: I5af0192cb187eccbf34dbb60ff3ac2e4774af803
        Reviewed-on: https://chromium-review.googlesource.com/1105619
        Reviewed-by: Yang Guo <yangguo@chromium.org>
        Commit-Queue: Yang Guo <yangguo@chromium.org>
        Cr-Commit-Position: refs/heads/master@{nodejs#53861}
    
    Refs: v8/v8@70c4340
    
    PR-URL: nodejs#21126
    Refs: v8/v8@aa6ce3e
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Matheus Marchini authored and targos committed Jul 25, 2018
    Configuration menu
    Copy the full SHA
    e39f302 View commit details
    Browse the repository at this point in the history
  10. deps: cherry-pick 477df06 from upstream v8

    Original commit message:
    
        [API] Expand BigInt API
    
        Provide a more complete BigInt API.
    
        Bug: v8:7712
        Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
        Change-Id: Ic8562d616f3125deabdf8b52c7019b191bef0e07
        Reviewed-on: chromium-review.googlesource.com/1101198
        Commit-Queue: Yang Guo <yangguo@chromium.org>
        Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
        Reviewed-by: Yang Guo <yangguo@chromium.org>
        Cr-Commit-Position: refs/heads/master@{nodejs#54122}
    
    PR-URL: nodejs#21644
    Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    devsnek authored and targos committed Jul 25, 2018
    Configuration menu
    Copy the full SHA
    5069b2b View commit details
    Browse the repository at this point in the history
  11. deps: cherry-pick 555c811 from upstream V8

    Original commit message:
    
        [api] Switch from `SetBuildEmbedderGraphCallback` to `AddBuildEmbedderGraphCallback`
    
        `SetBuildEmbedderGraphCallback`, unlike `SetWrapperClassInfoProvider`,
        assumes a monolithic embedder that can provide all necessary information.
        That is not the case for e.g. Node.js, which can e.g. provide multiple Node.js
        instances per V8 Isolate, as well as native addons that may allocate resources
        on their own.
    
        Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
        Change-Id: Ib53dfde82416dd69934b08623e27d674a483ac2d
        Reviewed-on: https://chromium-review.googlesource.com/1082441
        Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
        Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
        Reviewed-by: Yang Guo <yangguo@chromium.org>
        Cr-Commit-Position: refs/heads/master@{nodejs#53545}
    
    Refs: v8/v8@555c811
    
    PR-URL: nodejs#21741
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
    Reviewed-By: Refael Ackermann <refack@gmail.com>
    addaleax authored and targos committed Jul 25, 2018
    Configuration menu
    Copy the full SHA
    f28be41 View commit details
    Browse the repository at this point in the history
  12. deps: cherry-pick 2075910 from upstream V8

    Original commit message:
    
        [turbofan] Remove optimization of default Promise capability functions.
    
        The JSCallReducer could in theory inline the default resolve and reject
        functions passed to the executor in the Promise constructor. But that
        inlining is almost never triggered because we don't have SFI based feedback
        in the CallIC. Also the use of the Promise constructor is discouraged,
        so we shouldn't really need to squeeze the last bit of performance out
        of this even in the future.
    
        Getting rid of this optimization will make significantly easier to
        implement the Swallowed Rejection Hook, as there's less churn on the
        TurboFan side then.
    
        Bug: v8:7919
        Change-Id: If0c54f1c6c7ce95686cd74232be6b8693ac688c9
        Reviewed-on: https://chromium-review.googlesource.com/1125926
        Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
        Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
        Cr-Commit-Position: refs/heads/master@{nodejs#54210}
    
    Refs: v8/v8@2075910
    
    PR-URL: nodejs#21838
    Refs: nodejs/promises-debugging#8
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Yang Guo <yangguo@chromium.org>
    Reviewed-By: Benedikt Meurer <benedikt.meurer@gmail.com>
    targos committed Jul 25, 2018
    Configuration menu
    Copy the full SHA
    e7ece11 View commit details
    Browse the repository at this point in the history
  13. deps: cherry-pick 907d7bc from upstream V8

    Original commit message:
    
        [promise] Implement Swallowed Rejection Hook.
    
        This extends the current Promise Rejection Hook with two new events
    
          kPromiseRejectAfterResolved
          kPromiseResolveAfterResolved
    
        which are used to detect (and signal) misuse of the Promise constructor.
        Specifically the common bug like
    
          new Promise((res, rej) => {
            res(1);
            throw new Error("something")
          });
    
        where the error is silently swallowed by the Promise constructor without
        the user ever noticing can be caught via this hook.
    
        Doc: https://goo.gl/2stLUY
        Bug: v8:7919
        Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
        Change-Id: I890a7e766cdd1be88db94844fb744f72823dba33
        Reviewed-on: https://chromium-review.googlesource.com/1126099
        Reviewed-by: Maya Lekova <mslekova@chromium.org>
        Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
        Reviewed-by: Yang Guo <yangguo@chromium.org>
        Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
        Cr-Commit-Position: refs/heads/master@{nodejs#54309}
    
    Refs: v8/v8@907d7bc
    
    PR-URL: nodejs#21838
    Refs: nodejs/promises-debugging#8
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Yang Guo <yangguo@chromium.org>
    Reviewed-By: Benedikt Meurer <benedikt.meurer@gmail.com>
    targos committed Jul 25, 2018
    Configuration menu
    Copy the full SHA
    b30114c View commit details
    Browse the repository at this point in the history
  14. deps: V8: Backport of 0dd3390 from upstream

    Original commit message:
    
      Reland "[builtins] Add %IsTraceCategoryEnabled and %Trace builtins"
    
      This is a reland of 8d4572a
    
      Original change's description:
      > [builtins] Add %IsTraceCategoryEnabled and %Trace builtins
      >
      > Adds the builtin Trace and IsTraceCategoryEnabled functions
      > exposed via extra bindings. These are intended to use by
      > embedders to allow basic trace event support from JavaScript.
      >
      > ```js
      > isTraceCategoryEnabled('v8.some-category')
      >
      > trace('e'.charCodeAt(0), 'v8.some-category',
      >       'Foo', 0, { abc: 'xyz'})
      > ```
      >
      > Bug: v8:7851
      > Change-Id: I7bfb9bb059efdf87d92a56a0aae326650730c250
      > Reviewed-on: chromium-review.googlesource.com/1103294
      > Commit-Queue: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Yang Guo <yangguo@chromium.org>
      > Reviewed-by: Fadi Meawad <fmeawad@chromium.org>
      > Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{nodejs#54121}
    
      TBR=cbruni@chromium.org
    
      Bug: v8:7851
      Change-Id: Id063754b2834b3b6a2b2654e76e8637bcd6aa5f8
      Reviewed-on: chromium-review.googlesource.com/1137071
      Commit-Queue: Yang Guo <yangguo@chromium.org>
      Reviewed-by: Yang Guo <yangguo@chromium.org>
      Reviewed-by: Camillo Bruni <cbruni@chromium.org>
      Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
      Cr-Commit-Position: refs/heads/master@{nodejs#54532}
    
    PR-URL: nodejs#21899
    Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
    jasnell authored and targos committed Jul 25, 2018
    Configuration menu
    Copy the full SHA
    0d71635 View commit details
    Browse the repository at this point in the history
  15. deps: cherry-pick 804a693 from upstream V8

    Original commit message:
    
        [postmortem] add JS_ERROR_TYPE and context embedder index
    
          * JS_ERROR_TYPE is required for postmortem tools to inspect
            JSError objects (see nodejs/llnode#215
            for a usage example)
          * The context embedder index is required for postmortem tools to
            access embedder data stored in the context (see
            nodejs/llnode#204 for a usage example)
    
        R=bmeurer@google.com, yangguo@google.com
    
        Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25
        Reviewed-on: https://chromium-review.googlesource.com/1138493
        Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
        Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
        Cr-Commit-Position: refs/heads/master@{nodejs#54475}
    
    Refs: v8/v8@804a693
    
    PR-URL: nodejs#21855
    Reviewed-By: Michaël Zasso <targos@protonmail.com>
    Reviewed-By: Gus Caplan <me@gus.host>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Yang Guo <yangguo@chromium.org>
    Matheus Marchini authored and targos committed Jul 25, 2018
    Configuration menu
    Copy the full SHA
    ce8ba87 View commit details
    Browse the repository at this point in the history
  16. test: fix scriptParsed event expectations

    As per Node.js docs, vm.Script instance is not bound to any context.
    
    However, this test was expecting otherwise and depended on
    implementation details which are going to change.
    
    Refs: https://chromium-review.googlesource.com/c/v8/v8/+/1013581
    RReverser authored and targos committed Jul 25, 2018
    Configuration menu
    Copy the full SHA
    ee334a1 View commit details
    Browse the repository at this point in the history
  17. test: update postmortem metadata test

    This commit updates the following postmortem metadata constant:
    
    - v8dbg_context_idx_closure
      - Renamed: v8dbg_context_idx_scope_info
      - V8 commit: v8/v8@39496a9#diff-f3f182b0510ba2ee39ae87e421ff110b
    
    Fixes: nodejs/node-v8#59
    cjihrig authored and targos committed Jul 25, 2018
    Configuration menu
    Copy the full SHA
    fd80317 View commit details
    Browse the repository at this point in the history
  18. src: use modern v8::Platform worker threads APIs

    Precursor to removing deprecated APIs on the v8 side @
    https://chromium-review.googlesource.com/c/v8/v8/+/1045310
    Gabriel Charette authored and targos committed Jul 25, 2018
    Configuration menu
    Copy the full SHA
    befa6b9 View commit details
    Browse the repository at this point in the history