Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: nodejs/node
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v8.15.1
Choose a base ref
...
head repository: nodejs/node
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v8.16.0
Choose a head ref

Commits on Feb 28, 2019

  1. Working on v8.15.2

    rvagg committed Feb 28, 2019
    Copy the full SHA
    045868d View commit details
  2. deps: cherry-pick 525b396 from V8 upstream

    Original commit message:
    
        [cpu-profiler] Fix a leak caused by re-logging existing functions.
    
        Don't re-log all existing functions during StartProcessorIfNotStarted().
        They will already be in the CodeMap attached to the ProfileGenerator and
        re-logging them causes leaks. See the linked bug for more details.
    
        Bug: v8:8253
        Change-Id: Ibb1a1ab2431c588e8c3a3a9ff714767cdf61a88e
        Reviewed-on: https://chromium-review.googlesource.com/1256763
        Commit-Queue: Peter Marshall <petermarshall@chromium.org>
        Reviewed-by: Yang Guo <yangguo@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#56336}
    
    Refs: v8/v8@525b396
    
    PR-URL: #25041
    Reviewed-By: Yang Guo <yangguo@chromium.org>
    Reviewed-By: Rod Vagg <rod@vagg.org>
    psmarshall authored and rvagg committed Feb 28, 2019
    Copy the full SHA
    a1aff28 View commit details
  3. doc: update the http.request.setTimeout docs to be accurate

    Refs: #8895
    
    PR-URL: #25123
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    jbunton-atlassian authored and rvagg committed Feb 28, 2019
    Copy the full SHA
    b17819d View commit details
  4. test: fix test-repl-envvars

    In 180f865, the test was changed
    so that the `env` argument of `createInternalRepl()` also contained
    external environment variables, because keeping them can be necessary
    for spawning processes on some systems.
    
    However, this test does not spawn new processes, and relies on the
    fact that the environment variables it tests are not already set
    (and fails otherwise); therefore, reverting to the original state
    should fix this.
    
    Fixes: #21451
    Fixes: nodejs/build#1377
    Refs: #25219
    
    PR-URL: #25226
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    Reviewed-By: Tobias Nießen <tniessen@tnie.de>
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    Reviewed-By: Denys Otrishko <shishugi@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    addaleax authored and rvagg committed Feb 28, 2019
    Copy the full SHA
    fbafe8d View commit details
  5. n-api: add API for asynchronous functions

    Bundle a `uv_async_t`, a `uv_idle_t`, a `uv_mutex_t`, a `uv_cond_t`,
    and a `v8::Persistent<v8::Function>` to make it possible to call into JS
    from another thread. The API accepts a void data pointer and a callback
    which will be invoked on the loop thread and which will receive the
    `napi_value` representing the JavaScript function to call so as to
    perform the call into JS. The callback is run inside a
    `node::CallbackScope`.
    
    A `std::queue<void*>` is used to store calls from the secondary
    threads, and an idle loop is started by the `uv_async_t` callback on the
    loop thread to drain the queue, calling into JS with each item.
    
    Items can be added to the queue blockingly or non-blockingly.
    
    The thread-safe function can be referenced or unreferenced, with the
    same semantics as libuv handles.
    
    Re: nodejs/help#1035
    Re: #20964
    Fixes: #13512
    Backport-PR-URL: #25002
    PR-URL: #17887
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Gabriel Schulhof authored and rvagg committed Feb 28, 2019
    Copy the full SHA
    759a018 View commit details
  6. n-api: fix compiler warning

    private field 'async_context' is not used [-Wunused-private-field]
    
    PR-URL: #21597
    Refs: #17887
    Backport-PR-URL: #25002
    Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com>
    Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
    cjihrig authored and rvagg committed Feb 28, 2019
    Copy the full SHA
    c5a11dc View commit details
  7. n-api: guard against cond null dereference

    A condition variable is only created by the thread-safe function if the
    queue size is set to something larger than zero. This adds null-checks
    around the condition variable and tests for the case where the queue
    size is zero.
    
    Fixes: nodejs/help#1387
    PR-URL: #21871
    Backport-PR-URL: #25002
    Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Gabriel Schulhof authored and rvagg committed Feb 28, 2019
    Copy the full SHA
    3675059 View commit details
  8. src: fix may be uninitialized warning in n-api

    Backport-PR-URL: #25002
    PR-URL: #21898
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
    Reviewed-By: Jon Moss <me@jonathanmoss.me>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    mhdawson authored and rvagg committed Feb 28, 2019
    Copy the full SHA
    67b6e0d View commit details
  9. n-api: remove idle_running from TsFn

    The idle_running member variable in TsFn is always false and can
    therefore be removed.
    
    Backport-PR-URL: #25002
    PR-URL: #22520
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com>
    Reviewed-By: Gus Caplan <me@gus.host>
    Lars-Magnus Skog authored and rvagg committed Feb 28, 2019
    Copy the full SHA
    09b88aa View commit details
  10. n-api: clean up thread-safe function

    * Move class `TsFn` to name space `v8impl` and rename it to
      `ThreadSafeFunction`
    * Remove `NAPI_EXTERN` from API declarations, because it's only needed
      in the header file.
    
    Backport-PR-URL: #25002
    PR-URL: #22259
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Kyle Farnung <kfarnung@microsoft.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Gabriel Schulhof authored and rvagg committed Feb 28, 2019
    Copy the full SHA
    902b079 View commit details
  11. doc: fix optional parameters in n-api.md

    The thread_finalize_data and thread_finalize_cb parameters in
    napi_create_threadsafe_function are optional.
    
    Backport-PR-URL: #25002
    PR-URL: #22998
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Lars-Magnus Skog authored and rvagg committed Feb 28, 2019
    Copy the full SHA
    6b7cccc View commit details
  12. n-api: add missing handle scopes

    Currently when building with --debug
    test/addons-napi/test_threadsafe_function will error:
    
    $  out/Debug/node test/addons-napi/test_threadsafe_function/test.js
    FATAL ERROR: v8::HandleScope::CreateHandle()
      Cannot create a handle without a HandleScope
     1: 0x10004e287 node::DumpBacktrace(__sFILE*) [node/out/Debug/node]
     2: 0x1000cd37b node::Abort() [/node/out/Debug/node]
     3: 0x1000cd69f node::OnFatalError(char const*, char const*)
        [/node/out/Debug/node]
     4: 0x1004df0b1 v8::Utils::ReportApiFailure(char const*, char const*)
        [/nodejs/node/out/Debug/node]
     5: 0x100a8c0a9 v8::internal::HandleScope::Extend(
            v8::internal::Isolate*)
        [/node/out/Debug/node]
     6: 0x1004e4229 v8::EmbedderDataFor(v8::Context*,
                                        int, bool,
                                        char const*)
        [/node/out/Debug/node]
     7: 0x1004e43fa v8::Context::SlowGetAlignedPointerFromEmbedderData(int)
        [/node/out/Debug/node]
     8: 0x10001c26b v8::Context::GetAlignedPointerFromEmbedderData(int)
        [/node/out/Debug/node]
     9: 0x1000144ea node::Environment::GetCurrent(v8::Local<v8::Context>)
        [/node/out/Debug/node]
    10: 0x1000f49e2 napi_env__::node_env() const
        [/node/out/Debug/node]
    11: 0x1000f9885
        (anonymous namespace)::v8impl::ThreadSafeFunction::
            CloseHandlesAndMaybeDelete(bool)
        [/node/out/Debug/node]
    12: 0x1000fb34f (anonymous namespace)::v8impl::ThreadSafeFunction::
            DispatchOne()
        [/node/out/Debug/node]
    13: 0x1000fb129
        (anonymous namespace)::v8impl::ThreadSafeFunction::
            IdleCb(uv_idle_s*)
        [/node/out/Debug/node]
    14: 0x1011a1b69 uv__run_idle
        [/node/out/Debug/node]
    15: 0x101198179 uv_run
        [/node/out/Debug/node]
    16: 0x1000dfca1
        node::Start(...)
        [/node/out/Debug/node]
    17: 0x1000dae50 node::Start(...)
        [/node/out/Debug/node]
    18: 0x1000da56f node::Start(int, char**)
        [/node/out/Debug/node]
    19: 0x10141112e main
        [/node/out/Debug/node]
    20: 0x100001034 start
        [/node/out/Debug/node]
    Abort trap: 6
    
    This commit adds two HandleScope's, one to CloseHandlesAndMaybeDelete
    and one to the lambda.
    
    SlowGetAlignedPointerFromEmbedderData will only be called for debug
    builds:
    https://github.com/v8/v8/blob/2ef0aa662fe907a1b36ac1abe7d77ad2bcd27733
    /include/v8.h#L10440-L10447
    
    Backport-PR-URL: #25002
    PR-URL: #24011
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    danbev authored and rvagg committed Feb 28, 2019
    Copy the full SHA
    fe43282 View commit details
  13. test: mark test_threadsafe_function/test as flaky

    The test fails consistently on windows-fanned with vs2017.
    mark it as flaky while the issue is being progressed, and
    to keep CI green / amber.
    
    Ref: #23621
    Backport-PR-URL: #25002
    PR-URL: #24714
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Rich Trott <rtrott@gmail.com>
    gireeshpunathil authored and rvagg committed Feb 28, 2019
    Copy the full SHA
    60db455 View commit details
  14. test: mark test-cli-node-options flaky on arm

    Refs: #25028
    
    PR-URL: #25032
    Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Daijiro Wachi <daijiro.wachi@gmail.com>
    Trott authored and rvagg committed Feb 28, 2019
    Copy the full SHA
    d4b6643 View commit details

Commits on Mar 15, 2019

  1. test: fix module loading error for AIX 7.1

    AIX 7.1 appears to return a different error message compared to AIX 6.1.
    
    PR-URL: #25418
    Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
    Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: George Adams <george.adams@uk.ibm.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    richardlau authored and BethGriggs committed Mar 15, 2019
    Copy the full SHA
    f6ff8c5 View commit details

Commits on Mar 19, 2019

  1. build: set -blibpath: for AIX

    #17604 refactored the gyp files
    so that `-blibpath:` on AIX was only set if `node_shared=="true"`.
    Restore the setting for non-shared builds.
    
    Fixes: #25444
    
    Backport-PR-URL: #25521
    PR-URL: #25447
    Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    richardlau authored and BethGriggs committed Mar 19, 2019
    Copy the full SHA
    e936907 View commit details
  2. tools: allow input for TTY tests

    Since faking TTY input is not otherwise fake-able, we need
    support in the test runner for it.
    
    Backport-PR-URL: #25351
    PR-URL: #23053
    Reviewed-By: James M Snell <jasnell@gmail.com>
    addaleax authored and BethGriggs committed Mar 19, 2019
    Copy the full SHA
    1a9582b View commit details
  3. process: allow reading from stdout/stderr sockets

    Allow reading from stdio streams that are conventionally
    associated with process output, since this is only convention.
    
    This involves disabling the oddness around closing stdio
    streams. Its purpose is to prevent the file descriptors
    0 through 2 from being closed, since doing so can lead
    to information leaks when new file descriptors are being
    opened; instead, not doing anything seems like a more
    reasonable choice.
    
    Fixes: #21203
    
    Backport-PR-URL: #25351
    PR-URL: #23053
    Reviewed-By: James M Snell <jasnell@gmail.com>
    addaleax authored and BethGriggs committed Mar 19, 2019
    Copy the full SHA
    ea5628e View commit details
  4. test: add stdin writable regression test

    Make sure that `process.stdin.write()`, and in particular
    ending the stream, works.
    
    Backport-PR-URL: #25351
    PR-URL: #23053
    Reviewed-By: James M Snell <jasnell@gmail.com>
    addaleax authored and BethGriggs committed Mar 19, 2019
    Copy the full SHA
    c56f3ed View commit details
  5. test: add process.stdin.end() TTY regression test

    Backport-PR-URL: #25351
    PR-URL: #23051
    Fixes: #22814
    Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: George Adams <george.adams@uk.ibm.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    mcollina authored and BethGriggs committed Mar 19, 2019
    Copy the full SHA
    b4c5435 View commit details
  6. n-api: restrict exports by version

    * Move `napi_get_uv_event_loop` into the `NAPI_VERSION >= 2` section
    * Move `napi_open_callback_scope`, `napi_close_callback_scope`,
      `napi_fatal_exception`, `napi_add_env_cleanup_hook`, and
      `napi_remove_env_cleanup_hook` into the `NAPI_VERSION >= 3` section
    * Added a missing `added` property to `napi_get_uv_event_loop` in the
      docs
    * Added a `napiVersion` property to the docs and updated the parser and
      generator to use it.
    * Added usage documentation
    
    PR-URL: #19962
    Backport-PR-URL: #25648
    Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    kfarnung authored and BethGriggs committed Mar 19, 2019
    Copy the full SHA
    44609d1 View commit details
  7. n-api: mark thread-safe function as stable

    Fixes: #24249
    PR-URL: #25556
    Backport-PR-URL: #25648
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Gabriel Schulhof authored and BethGriggs committed Mar 19, 2019
    Copy the full SHA
    d6ffabc View commit details

Commits on Mar 20, 2019

  1. http: attach reused parser to correct domain

    Reused parsers can be attached to the domain that corresponds to the
    active domain when the underlying socket was created, which is not
    necessarily correct.
    
    Instead, we attach parsers to the active domain if there is one when
    they're reused from the pool.
    
    Refs: #25456
    
    PR-URL: #25459
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
    Julien Gilli authored and BethGriggs committed Mar 20, 2019
    Copy the full SHA
    1d86261 View commit details
  2. http: fix error check in Execute()

    `http_parser_execute(..., nullptr, 0)` returns either `0` or `1`. The
    expectation is that no error must be returned if it is `0`, and if
    it is `1` - a `Error` object must be returned back to user.
    
    The introduction of `llhttp` and the refactor that happened during it
    accidentally removed the error-returning code. This commit reverts it
    back to its original state.
    
    Backport-PR-URL: #25938
    Fix: #24585
    PR-URL: #24738
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    mscdex authored and BethGriggs committed Mar 20, 2019
    Copy the full SHA
    ac9b8f7 View commit details
  3. n-api: finalize during second-pass callback

    Calling into the engine from a weak callback is unsafe, however, the
    engine offers a way to attach a second-pass weak callback which gets
    called when it is safe to call into JavaScript. This moves the point
    at which the N-API finalize callback gets called to this latter point.
    
    Fixes: #25927
    PR-URL: #25992
    Backport-PR-URL: #26060
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Gabriel Schulhof authored and BethGriggs committed Mar 20, 2019
    Copy the full SHA
    2b2ad96 View commit details
  4. build: add loader path to rpath for cctest

    Building on Mac OS/X as follows:
    
    ```
    ./configure --shared
    make -j4 test
    ```
    
    Results in:
    
    ```
    dyld: Library not loaded: @rpath/libnode.67.dylib
      Referenced from: /Users/rubys/git/node-shared/out/Release/cctest
      Reason: image not found
    make: *** [cctest] Abort trap: 6
    ```
    
    This change adds the loader path to the runtime path for the `cctest` executable.
    
    Backport-PR-URL: #25681
    PR-URL: #23168
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Refael Ackermann <refack@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    rubys authored and BethGriggs committed Mar 20, 2019
    Copy the full SHA
    6352288 View commit details
  5. build: skip cctest on Windows shared lib build

    cctest depends on some internal APIs which don't declare
    `__declspec(dllexport)` and causes build failure when building
    node as shared lib on Windows. Since we already have good test
    coverage in static lib, we decide to skip the cctest in shared
    lib build on Windows.
    
    Signed-off-by: Yihong Wang <yh.wang@ibm.com>
    
    Backport-PR-URL: #25758
    PR-URL: #21228
    Reviewed-By: Refael Ackermann <refack@gmail.com>
    yhwang authored and BethGriggs committed Mar 20, 2019
    Copy the full SHA
    c07ba96 View commit details
  6. tls: fix legacy SecurePair session resumption

    This seems to have been broken ever since its introduction 5 years ago
    in commit 75ea11f ("tls: introduce asynchronous `newSession`") and
    no one complained but that's not going to stop me from fixing it anyway
    because otherwise I can't write a regression test for issue #26428.
    
    Refs: #26428
    
    PR-URL: #26452
    Fixes: #26428
    Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
    bnoordhuis authored and BethGriggs committed Mar 20, 2019
    Copy the full SHA
    91620b8 View commit details
  7. tls: fix legacy SecurePair clienthello race window

    There is a time window between the first and the last step of processing
    the clienthello event and the SecurePair may have been destroyed during
    that interval.
    
    Fixes: #26428
    
    PR-URL: #26452
    Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
    bnoordhuis authored and BethGriggs committed Mar 20, 2019
    Copy the full SHA
    7573b55 View commit details

Commits on Mar 21, 2019

  1. deps: V8: cherry-pick 3cc6919

    Original commit message:
    
        PPC: fix Regex addi overflow
    
        using add insetad of addi when Operand is more than 16 bits long
    
        Change-Id: I7f9452381ed8b321ec71e68d0d90485508b69885
        Reviewed-on: https://chromium-review.googlesource.com/c/1430619
        Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
        Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
        Cr-Commit-Position: refs/heads/master@{#59049}
    
    Refs: v8/v8@3cc6919
    
    PR-URL: #25874
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Reviewed-By: George Adams <george.adams@uk.ibm.com>
    Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
    Farazmand authored and BethGriggs committed Mar 21, 2019
    Copy the full SHA
    97cc0fc View commit details
  2. test: avoid running fsync on directory on AIX

    On AIX the underlying fsync system call returns EBADF on a file
    descriptor for an open directory. So avoid running fsync on it.
    
    PR-URL: #21298
    Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: Richard Lau <riclau@uk.ibm.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Signed-off-by: Beth Griggs <Bethany.Griggs@uk.ibm.com>
    jBarz authored and BethGriggs committed Mar 21, 2019
    Copy the full SHA
    3128cb7 View commit details
  3. test: shared lib build doesn't handle SIGPIPE

    For shared lib build, we leave the signal handling for embedding users.
    In these two test cases:
    - `parallel/test-process-external-stdio-close-spawn`
    - `parallel/test-process-external-stdio-close`
    
    The pipe is used for stdout and is destroied before child process uses
    it for logging. So the node executble that uses shared lib build
    receives SIGPIPE and the child process ends.
    
    This change ignores the SIGPIPE in node_main.cc for shared lib case.
    
    Refs: #18535
    
    Signed-off-by: Yihong Wang <yh.wang@ibm.com>
    
    PR-URL: #19211
    Refs: #18535
    Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
    Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
    Signed-off-by: Beth Griggs <Bethany.Griggs@uk.ibm.com>
    yhwang authored and BethGriggs committed Mar 21, 2019
    Copy the full SHA
    eaf474c View commit details

Commits on Apr 16, 2019

  1. assert: fix backport regression

    This fixes a regression for an error case with `assert.rejects` and
    `assert.doesNotReject`.
    
    Fixes: #27185
    
    PR-URL: #27202
    Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
    Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
    BridgeAR authored and MylesBorins committed Apr 16, 2019
    Copy the full SHA
    705935d View commit details
  2. n-api: improve performance creating strings

    Improve performance creating strings using N-API by ensuring that the
    strings are not internalized.
    
    Added test cases for latin-1 and utf-16 strings.
    
    PR-URL: #26439
    Fixes: #26437
    Reviewed-By: Anna Henningsen <anna@addaleax.net>
    Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
    Reviewed-By: James M Snell <jasnell@gmail.com>
    anthony-tuininga authored and MylesBorins committed Apr 16, 2019
    Copy the full SHA
    d3de1ed View commit details
  3. 2019-04-16, Version 8.16.0 'Carbon' (LTS)

    Notable Changes:
    
    * n-api:
      - add API for asynchronous functions (Gabriel Schulhof)
        #17887
      - mark thread-safe function as stable (Gabriel Schulhof)
        #25556
    
    PR-URL: #26933
    MylesBorins committed Apr 16, 2019
    Copy the full SHA
    5f93cf7 View commit details
Showing with 2,164 additions and 105 deletions.
  1. +2 βˆ’1 CHANGELOG.md
  2. +22 βˆ’2 common.gypi
  3. +1 βˆ’1 deps/v8/include/v8-version.h
  4. +10 βˆ’5 deps/v8/src/profiler/cpu-profiler.cc
  5. +13 βˆ’3 deps/v8/src/regexp/ppc/regexp-macro-assembler-ppc.cc
  6. +45 βˆ’0 doc/api/errors.md
  7. +3 βˆ’2 doc/api/http.md
  8. +529 βˆ’1 doc/api/n-api.md
  9. +1 βˆ’5 doc/api/process.md
  10. +46 βˆ’0 doc/changelogs/CHANGELOG_V8.md
  11. +3 βˆ’6 lib/_http_client.js
  12. +7 βˆ’2 lib/_tls_legacy.js
  13. +2 βˆ’1 lib/assert.js
  14. +0 βˆ’2 lib/internal/errors.js
  15. +7 βˆ’11 lib/internal/process/stdio.js
  16. +12 βˆ’17 node.gyp
  17. +18 βˆ’0 node.gypi
  18. +0 βˆ’1 src/env.h
  19. +479 βˆ’8 src/node_api.cc
  20. +77 βˆ’17 src/node_api.h
  21. +27 βˆ’1 src/node_api_types.h
  22. +0 βˆ’3 src/node_crypto.cc
  23. +28 βˆ’2 src/node_http_parser.cc
  24. +18 βˆ’0 src/node_main.cc
  25. +3 βˆ’3 src/node_version.h
  26. +11 βˆ’0 test/addons-napi/addons-napi.status
  27. +2 βˆ’2 test/addons-napi/test_general/test.js
  28. +8 βˆ’0 test/addons-napi/test_string/test.js
  29. +28 βˆ’0 test/addons-napi/test_string/test_string.c
  30. +282 βˆ’0 test/addons-napi/test_threadsafe_function/binding.c
  31. +8 βˆ’0 test/addons-napi/test_threadsafe_function/binding.gyp
  32. +208 βˆ’0 test/addons-napi/test_threadsafe_function/test.js
  33. +2 βˆ’0 test/parallel/parallel.status
  34. +4 βˆ’0 test/parallel/test-fs-utimes.js
  35. +14 βˆ’1 test/parallel/test-http-max-header-size.js
  36. +112 βˆ’0 test/parallel/test-http-parser-reuse-domain.js
  37. +2 βˆ’1 test/parallel/test-module-loading-error.js
  38. +1 βˆ’1 test/parallel/test-repl-envvars.js
  39. +2 βˆ’2 test/parallel/test-stdout-cannot-be-closed-child-process-pipe.js
  40. +80 βˆ’0 test/parallel/test-tls-async-cb-after-socket-end-securepair.js
  41. +3 βˆ’0 test/pseudo-tty/test-stdin-write.js
  42. +1 βˆ’0 test/pseudo-tty/test-stdin-write.out
  43. +1 βˆ’0 test/pseudo-tty/test-stdout-read.in
  44. +3 βˆ’0 test/pseudo-tty/test-stdout-read.js
  45. +1 βˆ’0 test/pseudo-tty/test-stdout-read.out
  46. +8 βˆ’0 test/pseudo-tty/test-tty-stdin-call-end.js
  47. 0 test/pseudo-tty/test-tty-stdin-call-end.out
  48. +9 βˆ’3 test/pseudo-tty/testcfg.py
  49. +4 βˆ’0 tools/doc/common.js
  50. +4 βˆ’0 tools/doc/html.js
  51. +12 βˆ’1 tools/test.py
  52. +1 βˆ’0 vcbuild.bat
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -27,7 +27,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V8.md#8.15.1">8.15.1</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V8.md#8.16.0">8.16.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.15.1">8.15.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.15.0">8.15.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.14.1">8.14.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.14.0">8.14.0</a><br/>
24 changes: 22 additions & 2 deletions common.gypi
Original file line number Diff line number Diff line change
@@ -88,6 +88,19 @@
['OS=="aix"', {
'cflags': [ '-gxcoff' ],
'ldflags': [ '-Wl,-bbigtoc' ],
'conditions': [
['target_arch=="ppc64"', {
'ldflags': [
'-Wl,-blibpath:/usr/lib:/lib:'
'/opt/freeware/lib/pthread/ppc64'
],
}],
['target_arch=="ppc"', {
'ldflags': [
'-Wl,-blibpath:/usr/lib:/lib:/opt/freeware/lib/pthread'
],
}],
],
}],
['OS == "android"', {
'cflags': [ '-fPIE' ],
@@ -337,11 +350,18 @@
[ 'OS=="aix"', {
'conditions': [
[ 'target_arch=="ppc"', {
'ldflags': [ '-Wl,-bmaxdata:0x60000000/dsa' ],
'ldflags': [
'-Wl,-bmaxdata:0x60000000/dsa',
'-Wl,-blibpath:/usr/lib:/lib:/opt/freeware/lib/pthread',
],
}],
[ 'target_arch=="ppc64"', {
'cflags': [ '-maix64' ],
'ldflags': [ '-maix64' ],
'ldflags': [
'-maix64',
'-Wl,-blibpath:/usr/lib:/lib:'
'/opt/freeware/lib/pthread/ppc64',
],
}],
],
'ldflags': [ '-Wl,-bbigtoc' ],
2 changes: 1 addition & 1 deletion deps/v8/include/v8-version.h
Original file line number Diff line number Diff line change
@@ -11,7 +11,7 @@
#define V8_MAJOR_VERSION 6
#define V8_MINOR_VERSION 2
#define V8_BUILD_NUMBER 414
#define V8_PATCH_LEVEL 75
#define V8_PATCH_LEVEL 77

// Use 1 for candidates and 0 otherwise.
// (Boolean macro values are not supported by all preprocessors.)
15 changes: 10 additions & 5 deletions deps/v8/src/profiler/cpu-profiler.cc
Original file line number Diff line number Diff line change
@@ -326,8 +326,11 @@ void CpuProfiler::StartProcessorIfNotStarted() {
// Disable logging when using the new implementation.
saved_is_logging_ = logger->is_logging_;
logger->is_logging_ = false;

bool codemap_needs_initialization = false;
if (!generator_) {
generator_.reset(new ProfileGenerator(profiles_.get()));
codemap_needs_initialization = true;
CreateEntriesForRuntimeCallStats();
}
processor_.reset(new ProfilerEventsProcessor(isolate_, generator_.get(),
@@ -341,12 +344,14 @@ void CpuProfiler::StartProcessorIfNotStarted() {
isolate_->set_is_profiling(true);
// Enumerate stuff we already have in the heap.
DCHECK(isolate_->heap()->HasBeenSetUp());
if (!FLAG_prof_browser_mode) {
logger->LogCodeObjects();
if (codemap_needs_initialization) {
if (!FLAG_prof_browser_mode) {
logger->LogCodeObjects();
}
logger->LogCompiledFunctions();
logger->LogAccessorCallbacks();
LogBuiltins();
}
logger->LogCompiledFunctions();
logger->LogAccessorCallbacks();
LogBuiltins();
// Enable stack sampling.
processor_->AddCurrentStack(isolate_);
processor_->StartSynchronously();
16 changes: 13 additions & 3 deletions deps/v8/src/regexp/ppc/regexp-macro-assembler-ppc.cc
Original file line number Diff line number Diff line change
@@ -142,8 +142,13 @@ int RegExpMacroAssemblerPPC::stack_limit_slack() {

void RegExpMacroAssemblerPPC::AdvanceCurrentPosition(int by) {
if (by != 0) {
__ addi(current_input_offset(), current_input_offset(),
Operand(by * char_size()));
if (is_int16(by * char_size())) {
__ addi(current_input_offset(), current_input_offset(),
Operand(by * char_size()));
} else {
__ mov(r0, Operand(by * char_size()));
__ add(current_input_offset(), r0, current_input_offset());
}
}
}

@@ -1270,7 +1275,12 @@ void RegExpMacroAssemblerPPC::LoadCurrentCharacterUnchecked(int cp_offset,
Register offset = current_input_offset();
if (cp_offset != 0) {
// r25 is not being used to store the capture start index at this point.
__ addi(r25, current_input_offset(), Operand(cp_offset * char_size()));
if (is_int16(cp_offset * char_size())) {
__ addi(r25, current_input_offset(), Operand(cp_offset * char_size()));
} else {
__ mov(r25, Operand(cp_offset * char_size()));
__ add(r25, r25, current_input_offset());
}
offset = r25;
}
// The lwz, stw, lhz, sth instructions can do unaligned accesses, if the CPU
45 changes: 45 additions & 0 deletions doc/api/errors.md
Original file line number Diff line number Diff line change
@@ -1107,6 +1107,31 @@ multiple of the element size.
While calling `napi_create_typedarray()`, `(length * size_of_element) +
byte_offset` was larger than the length of given `buffer`.

<a id="ERR_NAPI_TSFN_CALL_JS"></a>
### ERR_NAPI_TSFN_CALL_JS

An error occurred while invoking the JavaScript portion of the thread-safe
function.

<a id="ERR_NAPI_TSFN_GET_UNDEFINED"></a>
### ERR_NAPI_TSFN_GET_UNDEFINED

An error occurred while attempting to retrieve the JavaScript `undefined`
value.

<a id="ERR_NAPI_TSFN_START_IDLE_LOOP"></a>
### ERR_NAPI_TSFN_START_IDLE_LOOP

On the main thread, values are removed from the queue associated with the
thread-safe function in an idle loop. This error indicates that an error
has occurred when attemping to start the loop.

<a id="ERR_NAPI_TSFN_STOP_IDLE_LOOP"></a>
### ERR_NAPI_TSFN_STOP_IDLE_LOOP

Once no more items are left in the queue, the idle loop must be suspended. This
error indicates that the idle loop has failed to stop.

<a id="ERR_NO_ICU"></a>
### ERR_NO_ICU

@@ -1147,12 +1172,32 @@ A call was made and the UDP subsystem was not running.
<a id="ERR_STDERR_CLOSE"></a>
### ERR_STDERR_CLOSE

<!-- YAML
removed: v8.16.0
changes:
- version: v8.16.0
pr-url: https://github.com/nodejs/node/pull/23053
description: Rather than emitting an error, `process.stderr.end()` now
only closes the stream side but not the underlying resource,
making this error obsolete.
-->

An attempt was made to close the `process.stderr` stream. By design, Node.js
does not allow `stdout` or `stderr` streams to be closed by user code.

<a id="ERR_STDOUT_CLOSE"></a>
### ERR_STDOUT_CLOSE

<!-- YAML
removed: v8.16.0
changes:
- version: v8.16.0
pr-url: https://github.com/nodejs/node/pull/23053
description: Rather than emitting an error, `process.stderr.end()` now
only closes the stream side but not the underlying resource,
making this error obsolete.
-->

An attempt was made to close the `process.stdout` stream. By design, Node.js
does not allow `stdout` or `stderr` streams to be closed by user code.

5 changes: 3 additions & 2 deletions doc/api/http.md
Original file line number Diff line number Diff line change
@@ -625,8 +625,9 @@ added: v0.5.9
* `timeout` {number} Milliseconds before a request times out.
* `callback` {Function} Optional function to be called when a timeout occurs. Same as binding to the `timeout` event.

Once a socket is assigned to this request and is connected
[`socket.setTimeout()`][] will be called.
If no socket is assigned to this request then [`socket.setTimeout()`][] will be
called immediately. Otherwise [`socket.setTimeout()`][] will be called after the
assigned socket is connected.

Returns `request`.

Loading