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

src: Node implementation of v8::Platform #14001

Closed
wants to merge 8 commits into from
Closed

src: Node implementation of v8::Platform #14001

wants to merge 8 commits into from

Commits on Aug 17, 2017

  1. deps: backport c4852ea from upstream V8

    Original commit message:
    
    Pull tracing related methods out of Platform
    This will allow for embedders to easily implement their own Platform
    without duplicating the tracing controller code.
    
    BUG=v8:6511
    R=fmeawad@chromium.org
    
    Cq-Include-Trybots:
    master.tryserver.chromium.linux:linux_chromium_rel_ng
    Change-Id: I7c64933d12b2cf53f0636fbc87f6ad5d22019f5c
    Reviewed-on: https://chromium-review.googlesource.com/543015
    Commit-Queue: Jochen Eisinger <jochen@chromium.org>
    Reviewed-by: Fadi Meawad <fmeawad@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#46118}
    Matt Loring committed Aug 17, 2017
    Configuration menu
    Copy the full SHA
    140955e View commit details
    Browse the repository at this point in the history
  2. deps: backport 5152d97 from upstream V8

    Original commit message:
    
    Add API to create a platform with a tracing controller
    BUG=v8:6511
    
    Cq-Include-Trybots:
    master.tryserver.chromium.linux:linux_chromium_rel_ng
    Change-Id: Ie6b62df693d3b847837c071e1f985b7ce3b420c8
    Reviewed-on: https://chromium-review.googlesource.com/548499
    Reviewed-by: Fadi Meawad <fmeawad@chromium.org>
    Commit-Queue: Jochen Eisinger <jochen@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#46227}
    Matt Loring committed Aug 17, 2017
    Configuration menu
    Copy the full SHA
    9c2a46f View commit details
    Browse the repository at this point in the history
  3. deps: backport 3d8e87a from upstream V8

    Original commit message:
    
    Switch tracing to use v8::TracingController
    
    BUG=v8:6511
    R=fmeawad@chromium.org
    
    Cq-Include-Trybots:
    master.tryserver.chromium.linux:linux_chromium_rel_ng
    Change-Id: I4961e4b61a9ddc98385ed97c3ffcbcaef2d9cba7
    Reviewed-on: https://chromium-review.googlesource.com/543144
    Commit-Queue: Jochen Eisinger <jochen@chromium.org>
    Reviewed-by: Fadi Meawad <fmeawad@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#46307}
    Matt Loring committed Aug 17, 2017
    Configuration menu
    Copy the full SHA
    d4f4bdc View commit details
    Browse the repository at this point in the history
  4. deps: backport 6e9e2e5 from upstream V8

    Original commit message:
    
    [heap] Move SweeperTask to CancelableTask
    This mitigates the problem of blocking on the main thread when the
    platform is unable to execute background tasks in a timely manner.
    
    Bug: v8:6655
    Change-Id: Icdaae744ee73146b86b9a28c8035138746721971
    Reviewed-on: https://chromium-review.googlesource.com/595467
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#47036}
    Matt Loring committed Aug 17, 2017
    Configuration menu
    Copy the full SHA
    e928c4a View commit details
    Browse the repository at this point in the history
  5. deps: backport bca8409 from upstream V8

    Original commit message:
    
    Make CancelableTask ids unique
    They were only limited to 32 bit when using the internal Hashmap. Since
    this has changed alreay some time ago, we can switch to 64 bit ids and
    check that we never overflow.
    
    Bug:
    Change-Id: Ia6c6d02d6b5e555c6941185a79427dc4aa2a1d62
    Reviewed-on: https://chromium-review.googlesource.com/598229
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#47085}
    Matt Loring committed Aug 17, 2017
    Configuration menu
    Copy the full SHA
    904a9b5 View commit details
    Browse the repository at this point in the history
  6. deps: backport f9c4b7a from upstream V8

    Original commit message:
    
    [heap] Move UnmapFreeMemoryTask to CancelableTask
    This mitigates the problem of blocking on the main thread when the
    platform is unable to execute background tasks in a timely manner.
    
    Bug: v8:6671
    Change-Id: I741d4b7594e8d62721dad32cbfb19551ffacd0c3
    Reviewed-on: https://chromium-review.googlesource.com/599528
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#47126}
    Matt Loring committed Aug 17, 2017
    Configuration menu
    Copy the full SHA
    7a43eb7 View commit details
    Browse the repository at this point in the history
  7. tracing: Update to use new Platform tracing apis

    V8 modified the platform API to accept a tracing controller at platform
    creation time that is required to be present for the lifetime of the
    platform if tracing will every be enabled. This will simplify the
    implementation of a v8::Platform subclass for node.
    Matt Loring committed Aug 17, 2017
    Configuration menu
    Copy the full SHA
    ef3f6eb View commit details
    Browse the repository at this point in the history
  8. src: Node implementation of v8::Platform

    Node.js currently uses the V8 implementation of the DefaultPlatform
    which schedules VM tasks on a V8 managed thread pool. Since the Node.js
    event loop is not aware of these tasks, the Node.js process may exit
    while there are outstanding VM tasks. This will become problematic once
    asynchronous wasm compilation lands in V8.
    
    This PR introduces a Node.js specific implementation of the v8::Platform
    on top of libuv so that the event loop is aware of outstanding VM tasks.
    
    PR-URL: #14001
    Fixes: #3665
    Fixes: #8496
    Fixes: #12980
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Matt Loring committed Aug 17, 2017
    Configuration menu
    Copy the full SHA
    0b0a805 View commit details
    Browse the repository at this point in the history