Commit Graph

947 Commits (77dee25efd2fb114a56e83a165a97fef22c68316)

Author SHA1 Message Date
Michaël Zasso 135b79a31d deps: patch V8 to 7.4.288.18
Refs: https://github.com/v8/v8/compare/7.4.288.17...7.4.288.18

PR-URL: https://github.com/nodejs/node/pull/27066
Refs: https://github.com/v8/v8/compare/7.4.288.13...7.4.288.17
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-04-05 08:46:05 -04:00
Michaël Zasso c1d61f2b4b deps: patch V8 to 7.4.288.17
Refs: https://github.com/v8/v8/compare/7.4.288.13...7.4.288.17

PR-URL: https://github.com/nodejs/node/pull/27066
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-04-05 08:45:59 -04:00
Michaël Zasso 5b8434eebc
deps: V8: cherry-pick 0188634
Original commit message:

    [ptr-compr][ubsan] Use [Read/Write]UnalignedValue for unaligned fields

    When pointer compression is enabled the [u]intptr_t and double fields are
    only kTaggedSize aligned so in order to avoid undefined behavior in C++ code
    we have to access these values in an unaligned pointer friendly way although
    both x64 and arm64 architectures (where pointer compression is supported)
    allow unaligned access.

    These changes will be removed once v8:8875 is fixed and all the
    kSystemPointerSize fields are properly aligned.

    Bug: v8:7703
    Change-Id: I4df477cbdeab806303bb4f675d52b61c06342c8e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1528996
    Commit-Queue: Igor Sheludko <ishell@chromium.org>
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60321}

Refs: 0188634ee5

PR-URL: https://github.com/nodejs/node/pull/27013
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2019-04-03 08:29:25 +02:00
Michaël Zasso 8cc181c8ee
deps: V8: cherry-pick c8785d1
Original commit message:

    [heap, api] Advance deprecations around global handles

    Bug: chromium:923361, v8:8834
    Change-Id: I46b6ad9eaa86476963a4e2cb3a5712447f180c20
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1528235
    Auto-Submit: Michael Lippautz <mlippautz@chromium.org>
    Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60303}

Refs: c8785d1572

PR-URL: https://github.com/nodejs/node/pull/27013
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2019-04-03 08:29:23 +02:00
Michaël Zasso 2ea9de2e85
deps: V8: cherry-pick f4b860d
Original commit message:

    [heap,api] Remove deprecated APIs

    Bug: chromium:923361, v8:8834
    Change-Id: I6ec42aeb74bea5c0629fcdc3f95c125f5de534a0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1526195
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Auto-Submit: Michael Lippautz <mlippautz@chromium.org>
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60289}

Refs: f4b860d9b8

PR-URL: https://github.com/nodejs/node/pull/27013
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2019-04-03 08:29:22 +02:00
Refael Ackermann 3b5773fee3 build,deps: move gypfiles out 2/2 - moving
* move all used files to `tools/v8_gypfiles` directory
* fix references in node configuration

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:39:16 -04:00
Refael Ackermann 3d8b844112 deps,build: move gypfiles out 1/2 - required changes
* Add `<(V8_ROOT)` to file paths

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:39:09 -04:00
Refael Ackermann fff922afee deps,build: compute torque_outputs in v8.gyp
PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:39:00 -04:00
Refael Ackermann 4507246adc deps,build: refactor v8 gypfiles
* make `generate_snapshot` into a target with no debug symbols on XCode
* cleanup

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:38:54 -04:00
Michaël Zasso 95e779a6e9 deps: silence irrelevant V8 warning
PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:38:45 -04:00
cjihrig 08efd3060d deps: update postmortem metadata generation script
Update postmortem metadata constants for V8 7.4 in Node.js.

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:38:36 -04:00
Refael Ackermann 0da7e99f98 deps: V8: un-cherry-pick bd019bd
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: bd019bdb72

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:38:27 -04:00
Michaël Zasso b1015e0de8 deps: V8: cherry-pick 6 commits
Cherry-pick ad49f12.
Original commit message:

    [cleanup] Move Compressed[XXX]Slot definitions to separate header

    ... and fix header includes to please the respective bot.

    Drive-by-fix: decompression implementation is now MSVC friendly.

    Bug: v8:7703, v8:8834
    Change-Id: Iaf589138e5bafb32b0d9feab5cf074b71f241a3c
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1505579
    Commit-Queue: Igor Sheludko <ishell@chromium.org>
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60074}

Refs: ad49f12908

Cherry-pick 14f07a8.
Original commit message:

    [ptr-compr] Define kTaggedPayloadOffset correctly on Big Endian

    smi size is sill 8 bytes when V8_COMPRESS_POINTERS is undefined.

    Bug: v8:7703
    Change-Id: I0d1e757e42e8b1e6b10960420135245e24553175
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1508572
    Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
    Auto-Submit: Junliang Yan <jyan@ca.ibm.com>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60097}

Refs: 14f07a8b30

Cherry-pick 676014b.
Original commit message:

    [ptr-compr] Fix MSVC build

    ... which complained about truncating uintptr_t constant to uint32_t.

    Bug: v8:7703
    Change-Id: I6fae2bf1e5de79e6131479b84a8d8aa5b9de909f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1508672
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Commit-Queue: Igor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60100}

Refs: 676014b36f

Cherry-pick 4e6a1a7.
Original commit message:

    [heap] Clean-up some weak map entries in scavenger

    This change enables clean-up of weak map entries in the
    scavenger of the weak map is in the young generation.
    With this change, the scavenger treats keys in ephemerons as
    weak instead of strong, but does not implement full ephemeron
    semantics: Values are treated always as strong, independently
    of whether the key is live or not.

    This approach ensures that no value is cleaned up accidentally.
    After scavenging, all entries with dead keys are removed from
    weak maps. After that, some values that are not referenced anywhere
    anymore might still be in the heap, and those can be cleaned up
    in the next scavenge.

    What the scavenger does, amounts to one iteration of the
    fixed-point algorithm required to implement ephemeron semantics.
    We hope that this is a reasonable trade-off between time spent
    tracing and cleaned-up entries.

    This change does not affect weak maps that reside in old space.

    Bug: v8:8557
    Change-Id: Ic5618b3b863ad8c314c87449571150e756fecbf0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1467182
    Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60101}

Refs: 4e6a1a75cd

Cherry-pick afbfd75.
Original commit message:

    [ptr-compr] Fix ptr-compr broken by 4e6a1a75

    (https://chromium-review.googlesource.com/c/v8/v8/+/1467182)

    Bug: v8:7703
    Change-Id: Ia6b74b985735af67bde56b30e4a709247eb591be
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1508674
    Commit-Queue: Igor Sheludko <ishell@chromium.org>
    Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60102}

Refs: afbfd7563d

Cherry-pick f792eb8.
Original commit message:

    [ptr-compr][arm64] Update pointer compression arm64's implementation

    Since kTaggedSize got shrinked and we are actually compressing
    the pointers (as oppposed to zeroing their upper bits),
    we need to update the arm64 codebase to accommodate this change.

    Cq-Include-Trybots: luci.v8.try:v8_linux64_arm64_pointer_compression_rel_ng
    Bug: v8:7703
    Change-Id: I890f3ab8c046f47232e80f85830f9ae8f4dbced4
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1499498
    Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
    Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60172}

Refs: f792eb83a6

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:38:20 -04:00
Anna Henningsen 8181811d73 deps: V8: cherry-pick d82c9af
Original commit message:

    [api] Add unique_ptr constructor for StreamedSource

    Since StreamedSource takes ownership of the ExternalSourceStream
    passed into it, it should take it by unique_ptr rather than raw
    pointer to signal this transfer of ownership. The old constructor
    is now deprecated.

    Change-Id: I24681926c2f3141f7dd3664f72019a4c6deabfd7
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520713
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Auto-Submit: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60232}

Refs: d82c9afb8c

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:38:12 -04:00
Anna Henningsen 1f03fb4d49 deps: V8: cherry-pick e5f01ba
Original commit message:

    [cleanup] Remove unused stack_trace_ member from PromiseRejectMessage

    R=yangguo@chromium.org

    Bug: v8:8742
    Change-Id: I307097021893617ed5178f1e967f9360a55cd929
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1520710
    Auto-Submit: Simon Zünd <szuend@chromium.org>
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60221}

Refs: e5f01ba13f

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:38:06 -04:00
Anna Henningsen e6af2207a9 deps: V8: cherry-pick d5f08e4
Original commit message:

    [api] Remove unowned Extensions interface

    Extensions are now always passed via unique_ptr and are owned by V8.
    This CL removes the deprecated API where the embedder would own the
    Extension, but has no mechanism for deleting it.

    R=ulan@chromium.org

    Bug: v8:8725
    Change-Id: Icb83660fad9d04c66f8db2265091ebabcbb197c4
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1514493
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60186}

Refs: d5f08e4e4f

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:37:58 -04:00
Anna Henningsen 963061bc02 deps: V8: cherry-pick 6b09d21
Original commit message:

    [api] Remove deprecated WasmCompiledModule

    Embedders should use WasmModuleObject instead.

    R=adamk@chromium.org

    Change-Id: Ibe5e4b160bb917bcd9f895be1b954acc40a045d8
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1513616
    Reviewed-by: Adam Klein <adamk@chromium.org>
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60184}

Refs: 6b09d21c8c

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:37:51 -04:00
Anna Henningsen b7338b700f deps: V8: cherry-pick f0bb5d2
Original commit message:

    [api] remove LegacyBuildEmbedderGraphCallback

    This should not be used anymore (and it definitely is not by Node.js
    or Chromium).

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

Refs: f0bb5d2fcf

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:37:44 -04:00
Anna Henningsen 02171949a0 deps: V8: cherry-pick 5b0510d
Original commit message:

    Give the implementation of v8::MicrotaskQueue::New

    This adds the entrypoint to MicrotaskQueue, which used to miss the
    implementation.

    Bug: v8:8124
    Change-Id: I114fb69d975ee75c86b19349ca76789e425ea910
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1505232
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60076}

Refs: 5b0510db7c

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:37:38 -04:00
Anna Henningsen bf572c7831 deps: V8: cherry-pick 91f0cd0
Original commit message:

    [ubsan] Fix various ClusterFuzz-found issues

    Fixing a few float and int overflows.
    Drive-by fix: with --experimental-wasm-bigint, Number values
    may not be used to initialize i64-typed globals. The existing
    code for doing that relied on UB; since it's a spec violation
    the fix is to throw instead.

    No regression test for 933103 because it will OOM anyway.
    No regression test for 932896 because it would be extremely slow.

    Bug: chromium:927894, chromium:927996, chromium:930086, chromium:932679, chromium:932896, chromium:933103, chromium:933134
    Change-Id: Iae1c1ff1038af4512a52d3e56b8c4b75f2233314
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1495911
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
    Reviewed-by: Adam Klein <adamk@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60075}

Refs: 91f0cd0082

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:37:31 -04:00
Anna Henningsen 09f134fccf deps: V8: cherry-pick 392316d
Original commit message:

    [ptr-compr][x64] Define kTaggedSize as kInt32Size

    ... when pointer compression is enabled and some number of cleanups.

    Bug: v8:7703
    Change-Id: If7344abf68a1c4d54e4a79d066dc185f25055d7d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1477737
    Commit-Queue: Igor Sheludko <ishell@chromium.org>
    Auto-Submit: Igor Sheludko <ishell@chromium.org>
    Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    Reviewed-by: Toon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60056}

Refs: 392316ddd1

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:37:20 -04:00
Anna Henningsen 53ea813d5c deps: V8: cherry-pick 2f79d68
Original commit message:

    Deprecate MicrotasksCompletedCallback in favor to use *WithData version

    This adds overloads of v8::Isolate::{Add,Remove}MicrotaskCompletedCallback,
    that use MicrotasksCompletedCallbackWithData, and marks the original one
    as V8_DEPRECATE_SOON for transition.

    Bug: v8:8124
    Change-Id: I124c3108545e1a2b29cd95620f36901431663c65
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1493766
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60045}

Refs: 2f79d68664

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:37:11 -04:00
Ujjwal Sharma cc75ba3f14 deps: sync V8 gypfiles with 7.4
Normalized boolean options in the gypfiles for consistency both
internally and with the V8 GN config.

Co-authored-by: Michaël Zasso <targos@protonmail.com>

PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:36:55 -04:00
Ujjwal Sharma f579e11940 deps: update V8 to 7.4.288.13
PR-URL: https://github.com/nodejs/node/pull/26685
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
2019-03-28 16:36:18 -04:00
Refael Ackermann 8e308e8b28 deps,v8: cherry-pick 385aa80
Original commit message:

    Correct removal of redundant moves

    The logic for removing while iterating is non-standard and
    a left over from a previous index based loop. This patch
    replaces it with a standard erase based version.

    This fixes a runtime crash with MSVC that invalidates the
    iterator and then asserts. This also makes the code safe
    in case the last move can be redundant.

    Change-Id: Ie6990e0d65a3b83a4b7da3e2e89ed4e60a6cd215
    Reviewed-on: https://chromium-review.googlesource.com/c/1488762
    Reviewed-by: Ben Titzer <titzer@chromium.org>
    Commit-Queue: Ben Titzer <titzer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59868}

Refs: 385aa80aff

PR-URL: https://github.com/nodejs/node/pull/26702
Fixes: https://github.com/nodejs/node/issues/26694
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2019-03-17 09:28:01 -04:00
Refael Ackermann 6608cf286d build,deps,v8: tie up loose ends
PR-URL: https://github.com/nodejs/node/pull/26666
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
2019-03-16 14:49:33 -04:00
Refael Ackermann 3531fe9320
build,deps: add `NOMINMAX` to V8 Windows builds
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/1456620

PR-URL: https://github.com/nodejs/node/pull/25852
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2019-03-14 18:51:01 +01:00
Michaël Zasso 1c494b0a95
deps: silence irrelevant V8 warnings
PR-URL: https://github.com/nodejs/node/pull/25852
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2019-03-14 18:50:51 +01:00
Refael Ackermann ff5d632a83
build,deps: fix V8 snapshot gyp dependencies
PR-URL: https://github.com/nodejs/node/pull/25852
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2019-03-14 18:50:45 +01:00
Benjamin 1a6ed98060
deps: v8, backport 2d08967
Original commit message:

  [coverage] Extend SourceRangeAstVisitor for throw statements

  The SourceRangeAstVisitor has custom logic for blocks ending with a
  statement that has a continuation range. In these cases, the trailing
  continuation is removed which makes the reported coverage ranges a bit
  nicer.

  throw Error('foo') consists of an ExpressionStatement, with a
  Throw expression stored within the statement. The source range itself
  is stored with the Throw, not the statement.

  We now properly extract the correct AST node for trailing throw
  statements.

  R=jgruber@chromium.org, neis@chromium.org, yangguo@chromium.org

  Bug: v8:8691
  Change-Id: Ibcbab79fbe54719a8993045040349c863b139011
  Reviewed-on: https://chromium-review.googlesource.com/c/1480632
  Commit-Queue: Georg Neis <neis@chromium.org>
  Reviewed-by: Georg Neis <neis@chromium.org>
  Reviewed-by: Jakob Gruber <jgruber@chromium.org>
  Cr-Commit-Position: refs/heads/master@{#59936}

Refs: 2d08967d4a

PR-URL: https://github.com/nodejs/node/pull/26413
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-03-14 18:50:22 +01:00
Michaël Zasso bea1a386a3
deps: V8: cherry-pick d3308d0
Original commit message:

    [api] Add `Isolate::GetArrayBufferAllocator()`

    This allows non-monolithic embedders to always allocate memory
    for ArrayBuffer instances using the right allocation method.

    This is based on a patch that Electron is currently using.

    Refs: 1898f91620/patches/common/v8/array_buffer.patch
    Change-Id: I39a614343118a0594aab48699a99cc2aad5b7ba9
    Reviewed-on: https://chromium-review.googlesource.com/c/1462003
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59697}

Refs: d3308d042c

PR-URL: https://github.com/nodejs/node/pull/25852
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2019-03-14 18:50:15 +01:00
Michaël Zasso cf649c9b02
deps: V8: cherry-pick 74571c8
Original commit message:

    Fix preview of set entries

    Set entries return an array with the value as first and second entry.
    As such these are considered key value pairs to align with maps
    entries iterator.
    So far the return value was identical to the values iterator and that
    is misleading.

    This also adds tests to verify the results and improves the coverage
    a tiny bit by testing different iterators.

    Refs: https://github.com/nodejs/node/issues/24629

    R=yangguo@chromium.org

    Change-Id: I669a724bb4afaf5a713e468b1f51691d22c25253
    Reviewed-on: https://chromium-review.googlesource.com/c/1350790
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59311}

Refs: 74571c80a9

PR-URL: https://github.com/nodejs/node/pull/25852
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2019-03-14 18:50:10 +01:00
Anna Henningsen 44d5401b8d
deps: cherry-pick fc0ddf5 from upstream V8
Original commit message:

    [snapshot] Always align embedded blob code pointer and size

    Other platforms besides ARM64 Windows may also have alignment
    requirements, e.g. PPC and s390. These requirements may affect
    both the code pointer field and the size field, and so they
    each need alignment directives because they are stored in
    different sections.

    Since aligning wastes a handful of bytes at most, not making
    alignment conditional on the platform type seems like a good idea.

    Refs: https://github.com/nodejs/node/pull/24875
    Change-Id: I1f58606af294be65e74a1f107cd05fc21e032704
    Reviewed-on: https://chromium-review.googlesource.com/c/1433778
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59058}

Refs: fc0ddf5512

PR-URL: https://github.com/nodejs/node/pull/25852
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2019-03-14 18:50:02 +01:00
Ujjwal Sharma cefb8029cd
deps: sync V8 gypfiles with 7.3
Co-authored-by: Michaël Zasso <targos@protonmail.com>
Co-authored-by: Refael Ackermann <refack@gmail.com>
Co-authored-by: Colin Ihrig <cjihrig@gmail.com>

PR-URL: https://github.com/nodejs/node/pull/25852
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2019-03-14 18:49:55 +01:00
Michaël Zasso d266e3e2cf
deps: sync V8 gypfiles with 7.2
Co-authored-by: Ujjwal Sharma <usharma1998@gmail.com>

win: add v8_init to dependencies

Fixes: https://github.com/nodejs/node-v8/issues/89
Co-authored-by: Bartosz Sosnowski <bartosz@janeasystems.com>

PR-URL: https://github.com/nodejs/node/pull/25852
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2019-03-14 18:49:46 +01:00
Michaël Zasso 7b48713334
deps: update V8 to 7.3.492.25
PR-URL: https://github.com/nodejs/node/pull/25852
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2019-03-14 18:49:21 +01:00
Rod Vagg 2fa8dc47f3 build: enable v8's siphash for hash seed creation
Triggers the V8_USE_SIPHASH to switch from the internal custom V8
hash seed generation function to an implementation of SipHash. Final
step needed to clear up HashWick.

PR-URL: https://github.com/nodejs/node/pull/26367
Refs: https://github.com/nodejs/node/issues/23259
Refs: https://darksi.de/12.hashwick-v8-vulnerability/
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
2019-03-12 13:10:52 +11:00
Refael Ackermann d38cd82513 build,deps: less warnings from V8
PR-URL: https://github.com/nodejs/node/pull/26405
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2019-03-05 22:21:14 -05:00
Benjamin c78788a021
deps: v8, backport 2d08967
Original commit message:

  [coverage] Extend SourceRangeAstVisitor for throw statements

  The SourceRangeAstVisitor has custom logic for blocks ending with a
  statement that has a continuation range. In these cases, the trailing
  continuation is removed which makes the reported coverage ranges a bit
  nicer.

  throw Error('foo') consists of an ExpressionStatement, with a
  Throw expression stored within the statement. The source range itself
  is stored with the Throw, not the statement.

  We now properly extract the correct AST node for trailing throw
  statements.

  R=jgruber@chromium.org, neis@chromium.org, yangguo@chromium.org

  Bug: v8:8691
  Change-Id: Ibcbab79fbe54719a8993045040349c863b139011
  Reviewed-on: https://chromium-review.googlesource.com/c/1480632
  Commit-Queue: Georg Neis <neis@chromium.org>
  Reviewed-by: Georg Neis <neis@chromium.org>
  Reviewed-by: Jakob Gruber <jgruber@chromium.org>
  Cr-Commit-Position: refs/heads/master@{#59936}

Refs: 2d08967d4a

PR-URL: https://github.com/nodejs/node/pull/26413
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-03-05 09:48:20 -08:00
Anna Henningsen 23b075d051
deps: V8: cherry-pick d3308d0
Original commit message:

    [api] Add `Isolate::GetArrayBufferAllocator()`

    This allows non-monolithic embedders to always allocate memory
    for ArrayBuffer instances using the right allocation method.

    This is based on a patch that Electron is currently using.

    Refs: 1898f91620/patches/common/v8/array_buffer.patch
    Change-Id: I39a614343118a0594aab48699a99cc2aad5b7ba9
    Reviewed-on: https://chromium-review.googlesource.com/c/1462003
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59697}

Refs: d3308d042c

PR-URL: https://github.com/nodejs/node/pull/26207
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
2019-02-25 02:00:30 +01:00
Ruben Bridgewater e557647470
deps: V8: backport 74571c8
Original commit message:

    Fix preview of set entries

    Set entries return an array with the value as first and second entry.
    As such these are considered key value pairs to align with maps
    entries iterator.
    So far the return value was identical to the values iterator and that
    is misleading.

    This also adds tests to verify the results and improves the coverage
    a tiny bit by testing different iterators.

    Refs: https://github.com/nodejs/node/issues/24629

    R=yangguo@chromium.org

    Change-Id: I669a724bb4afaf5a713e468b1f51691d22c25253
    Reviewed-on: https://chromium-review.googlesource.com/c/1350790
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: Jakob Gruber <jgruber@chromium.org>
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59311}

Refs: 74571c80a9

PR-URL: https://github.com/nodejs/node/pull/25941
Fixes: https://github.com/nodejs/node/issues/24629
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2019-02-20 18:33:09 +01:00
Refael Ackermann ff4adab78c build,win: always build with PCH
PR-URL: https://github.com/nodejs/node/pull/25931
Reviewed-By: João Reis <reis@janeasystems.com>
2019-02-14 15:14:46 -05:00
Refael Ackermann 4698757610 build,deps: remove cygwin configuration which is not supported
PR-URL: https://github.com/nodejs/node/pull/25931
Reviewed-By: João Reis <reis@janeasystems.com>
2019-02-14 15:14:43 -05:00
Refael Ackermann cd5c7bf240 build,deps: use PCH also for v8_initializers
* rename files to represent reuse

PR-URL: https://github.com/nodejs/node/pull/25931
Reviewed-By: João Reis <reis@janeasystems.com>
2019-02-14 15:14:42 -05:00
Yang Guo 7c8ac5a01b deps: cherry-pick c736883 from upstream V8
Original commit message:

    Optionally use halfsiphash for integer hashing.

    Change-Id: Ibd14f7b3fe78635675c76ae864112e3a3a7bc701
    Reviewed-on: https://chromium-review.googlesource.com/c/1382463
    Commit-Queue: Yang Guo <yangguo@chromium.org>
    Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#58674}

Refs: c736883ed4
2019-02-01 15:09:33 +01:00
Benjamin Coe b7bbd871af
deps: v8, cherry-pick 9365d09, aac2f8c, 47d34a3
Original commit message 9365d09:

        [coverage] Rework continuation counter handling

        This changes a few bits about how continuation counters are handled.

        It introduces a new mechanism that allows removal of a continuation
        range after it has been created. If coverage is enabled, we run a first
        post-processing pass on the AST immediately after parsing, which
        removes problematic continuation ranges in two situations:

        1. nested continuation counters - only the outermost stays alive.
        2. trailing continuation counters within a block-like structure are
           removed if the containing structure itself has a continuation.

        R=bmeurer@chromium.org, jgruber@chromium.org, yangguo@chromium.org

        Bug: v8:8381, v8:8539
        Change-Id: I6bcaea5060d8c481d7bae099f6db9f993cc30ee3
        Reviewed-on: https://chromium-review.googlesource.com/c/1339119
        Reviewed-by: Yang Guo <yangguo@chromium.org>
        Reviewed-by: Leszek Swirski <leszeks@chromium.org>
        Reviewed-by: Georg Neis <neis@chromium.org>
        Commit-Queue: Jakob Gruber <jgruber@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#58443}

    Refs: v8/v8@9365d09

    Original commit message aac2f8c:

        [coverage] Filter out singleton ranges that alias full ranges

        Block coverage is based on a system of ranges that can either have
        both a start and end position, or only a start position (so-called
        singleton ranges). When formatting coverage information, singletons
        are expanded until the end of the immediate full parent range. E.g.
        in:

        {0, 10}  // Full range.
        {5, -1}  // Singleton range.

        the singleton range is expanded to {5, 10}.

        Singletons are produced mostly for continuation counters that track
        whether we execute past a specific language construct.

        Unfortunately, continuation counters can turn up in spots that confuse
        our post-processing. For example:

        if (true) { ... block1 ... } else { ... block2 ... }

        If block1 produces a continuation counter, it could end up with the
        same start position as the else-branch counter. Since we merge
        identical blocks, the else-branch could incorrectly end up with an
        execution count of one.

        We need to avoid merging such cases. A full range should always take
        precedence over a singleton range; a singleton range should never
        expand to completely fill a full range. An additional post-processing
        pass ensures this.

        Bug: v8:8237
        Change-Id: Idb3ec7b2feddc0585313810b9c8be1e9f4ec64bf
        Reviewed-on: https://chromium-review.googlesource.com/c/1273095
        Reviewed-by: Georg Neis <neis@chromium.org>
        Reviewed-by: Yang Guo <yangguo@chromium.org>
        Commit-Queue: Jakob Gruber <jgruber@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#56531}

    Refs: v8/v8@aac2f8c

    deps: V8: backport 47d34a3

    Original commit message:

        Revert "[coverage] change block range to avoid ambiguity."

        This reverts commit 471fef0469d04d7c487f3a08e81f3d77566a2f50.

        Reason for revert: A more general fix incoming at https://crrev.com/c/1273095.

        Original change's description:
        > [coverage] change block range to avoid ambiguity.
        >
        > By moving the block range end to left of closing bracket,
        > we can avoid ambiguity where an open-ended singleton range
        > could be both interpreted as inside the parent range, or
        > next to it.
        >
        > R=<U+200B>verwaest@chromium.org
        >
        > Bug: v8:8237
        > Change-Id: Ibc9412b31efe900b6d8bff0d8fa8c52ddfbf460a
        > Reviewed-on: https://chromium-review.googlesource.com/1254127
        > Reviewed-by: Georg Neis <neis@chromium.org>
        > Commit-Queue: Yang Guo <yangguo@chromium.org>
        > Cr-Commit-Position: refs/heads/master@{#56347}

        TBR=yangguo@chromium.org,neis@chromium.org,verwaest@chromium.org

        # Not skipping CQ checks because original CL landed > 1 day ago.

        Bug: v8:8237
        Change-Id: I39310cf3c2f06a0d98ff314740aaeefbfffc0834
        Reviewed-on: https://chromium-review.googlesource.com/c/1273096
        Reviewed-by: Jakob Gruber <jgruber@chromium.org>
        Reviewed-by: Toon Verwaest <verwaest@chromium.org>
        Reviewed-by: Yang Guo <yangguo@chromium.org>
        Commit-Queue: Jakob Gruber <jgruber@chromium.org>
        Cr-Commit-Position: refs/heads/master@{#56513}

    Refs: 47d34a317e

PR-URL: https://github.com/nodejs/node/pull/25429
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2019-01-16 17:35:52 -08:00
Refael Ackermann d1b7193428
deps,v8: silence V8 self-deprecation warnings
PR-URL: https://github.com/nodejs/node/pull/25394
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
2019-01-14 17:44:13 +01:00
Ruben Bridgewater ddbb7d7777 deps: cherry-pick 56f6a76 from upstream V8
Original commit message:

    [turbofan] Fix -0 check for subnormals.

    Previously we'd check `x` for -0 by testing `(1.0 / x) == -Infinity`,
    but this will yield the wrong results when `x` is a subnormal, i.e.
    really close to 0.

    In CSA we already perform bit checks to test for -0, so teach TurboFan
    to do the same for comparisons to -0 (via `Object.is`). We introduce a
    new NumberIsMinusZero simplified operator to handle the case where
    SimplifiedLowering already knows that the input is a number.

    Bug: chromium:903043, v8:6882
    Change-Id: I0cb7c568029b461a92fc183104d5f359b4bfe7f4
    Reviewed-on: https://chromium-review.googlesource.com/c/1328802
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57382}

PR-URL: https://github.com/nodejs/node/pull/25269
Refs: 56f6a763c2
Fixes: https://github.com/nodejs/node/issues/25268
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-01-09 07:25:43 +01:00
Sam Roberts 59fa7f1257 deps: cherry-pick 26b145a from upstream V8
Original commit message:

    [api] Deprecate ExternalStringResourceBase::IsCompressible

    R=yangguo@chromium.org

    Bug: v8:8238
    Change-Id: Ia59aefc54c2e9f4fa3348c42fb45e7fadab8ee76
    Reviewed-on: https://chromium-review.googlesource.com/c/1349231
    Reviewed-by: Yang Guo <yangguo@chromium.org>
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57788}

Refs:

26b145ab12

PR-URL: https://github.com/nodejs/node/pull/25148
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2018-12-27 14:35:43 -08:00
Ruben Bridgewater 4884ca6428 deps: V8: backport 3e010af
Original commit message:

    [CloneObjectIC] clone MutableHeapNumbers only if !FLAG_unbox_double_fields

    Change the macros added in bf84766a2cd3e09070adcd6228a3a487c8dc4bbd to
    only do the hard work if FLAG_unbox_double_fields is unset (otherwise,
    they will attempt to dereference raw float64s, which is bad!)

    Also adds a write barrier in CopyPropertyArrayValues for each store if
    it's possible that a MutableHeapNumber is cloned.

    BUG=chromium:901301, chromium:902965, chromium:903070, v8:7611
    R=cbruni@chromium.org, jkummerow@chromium.org, ishell@chromium.org

    Change-Id: I224d3c4e7b0a887684bff68985b4d97021ba4cfb
    Reviewed-on: https://chromium-review.googlesource.com/c/1323911
    Commit-Queue: Caitlin Potter <caitp@igalia.com>
    Reviewed-by: Camillo Bruni <cbruni@chromium.org>
    Reviewed-by: Igor Sheludko <ishell@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#57368}

PR-URL: https://github.com/nodejs/node/pull/25101
Refs: 3e010af274
Fixes: https://github.com/nodejs/node/issues/25089
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
2018-12-21 07:28:52 +01:00