summaryrefslogtreecommitdiff
path: root/common.gypi
AgeCommit message (Collapse)Author
2019-06-12deps: V8: cherry-pick e0a109cJoyee Cheung
Original commit message: [api] Implement StartupData::CanBeRehashed() for the snapshot blob This enables the embedder to check if the snapshot generated from SnapshotCreator::CreateBlob() can be rehashed and the seed can be recomputed during deserialization. The lack of this functionality resulted in a temporary vunerability in Node.js: https://github.com/nodejs/node/pull/27365 Change-Id: I88d52337217c40f79c26438be3c87d2db874d980 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1578661 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61175} Refs: https://github.com/v8/v8/commit/e0a109c05821fa36ec20e1f25895c23baa8d64c3 PR-URL: https://github.com/nodejs/node/pull/27533 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-06-01deps: V8: backport 3a75c1fRefael Ackermann
Original commit message: Fixing a possible freeze on abort with 'v8_win64_unwinding_info' Win64 unwind data can specify a language-specific handler function which is called as part of the search for an exception handler, as described in https://docs.microsoft.com/en-us/cpp/build/exception-handling-x64?view=vs-2019. This is used for example by Crashpad to register its own exception handler for exceptions in V8-generated code. There is a problem in the code that may cause a freeze on abort: in file \deps\v8\src\unwinding-info-win64.cc in function CRASH_HANDLER_FUNCTION_NAME the line: return EXCEPTION_CONTINUE_SEARCH; should be return ExceptionContinueSearch; These constants are both used in the context of Win32 exception handlers, but they have different semantics and unfortunately different values: EXCEPTION_CONTINUE_SEARCH (=0) should be returned by an exception filter while a language-specific handler should return an EXCEPTION_DISPOSITION value, and more precisely ExceptionContinueSearch (=1) in this case. Bug: v8:9295 Change-Id: I1a3aaabf357e52a909611814f1ea013cf652ae06 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1629795 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Paolo Severini <paolosev@microsoft.com> Cr-Commit-Position: refs/heads/master@{#61867} Refs: https://github.com/v8/v8/commit/3a75c1fb577d7bb1499cc20e98f580d3d3bc0a2f PR-URL: https://github.com/nodejs/node/pull/27375 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-06-01deps: V8: fix BUILDING_V8_SHARED issuesRefael Ackermann
PR-URL: https://github.com/nodejs/node/pull/27375 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-06-01deps: V8: workaround for MSVC 14.20 optimizer bugRefael Ackermann
Refs: https://developercommunity.visualstudio.com/content/problem/512352/compiler-doesnt-finish-142027508.html PR-URL: https://github.com/nodejs/node/pull/27375 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-06-01deps: V8: template explicit instantiation for GCC-8Refael Ackermann
Fails to link for missing: void JSObject::ApplyAttributesToDictionary<NumberDictionary>(...) PR-URL: https://github.com/nodejs/node/pull/27375 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-06-01deps: V8: use ATOMIC_VAR_INIT instead of std::atomic_initRefael Ackermann
`std::atomic_init<size_t>` is not implemented in all platforms. * pragma to ignore `-Wbraced-scalar-init` PR-URL: https://github.com/nodejs/node/pull/27375 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-06-01deps: V8: forward declaration of `Rtl*FunctionTable`Refael Ackermann
This should be semver-patch since actual invocation is version conditional. PR-URL: https://github.com/nodejs/node/pull/27375 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-06-01deps: V8: patch register-arm64.hRefael Ackermann
Fixes a compilation issue on some platforms PR-URL: https://github.com/nodejs/node/pull/27375 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-06-01deps: V8: backport f89e555Michaël Zasso
Original commit message: [api] Fix compilation issue with macOS Fixes the following error caught by the Node.js CI: ../deps/v8/src/api.cc:8943:10: error: no viable conversion from returned value of type 'unique_ptr<v8::internal::MicrotaskQueue, default_delete<v8::internal::MicrotaskQueue>>' to function return type 'unique_ptr<v8::MicrotaskQueue, default_delete<v8::MicrotaskQueue>>' return microtask_queue; ^~~~~~~~~~~~~~~ Change-Id: Ic09dab46bb8f87a2b3b59f5836e0883bfe0e9681 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627533 Commit-Queue: Michaël Zasso <mic.besace@gmail.com> Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#61789} Refs: https://github.com/v8/v8/commit/f89e555956ff0155b2aee563987a077a0f7fdc19 PR-URL: https://github.com/nodejs/node/pull/27375 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-06-01deps: V8: cherry-pick cca9ae3c9aBenedikt Meurer
Original commit message: Remove recursion from NeedsCheckHeapObject. We use the predicate NeedsCheckHeapObject in the compiler frontend to determine whether we can skip introducing CheckHeapObject nodes. But this predicate would also walk up the graph in case of Phis, which can result in really long compilation times (on the main thread). In the report in https://github.com/nodejs/node/issues/27667, the compiler frontend alone took around 4-5mins of main thread time for a single function. With this patch the time goes down to 4-5ms. Bug: v8:9250 Refs: nodejs/node#27667 Change-Id: I231eb780ff04f949fa1669714f9af6ebfbcade05 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612897 Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#61503} Fixes: https://github.com/nodejs/node/issues/27667 PR-URL: https://github.com/nodejs/node/pull/27729 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2019-06-01deps: V8: update postmortem metadata generation scriptcjihrig
Update postmortem metadata constants for V8 7.5 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-06-01deps: V8: silence irrelevant warningMichaël Zasso
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-06-01deps: V8: un-cherry-pick bd019bdRefael Ackermann
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: https://github.com/v8/v8/commit/bd019bdb725cebaa34327634d73936cd7003d17c 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-06-01deps: V8: fix filename manipulation for WindowsRefael Ackermann
PR-URL: https://github.com/nodejs/node/pull/27375 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-06-01build,v8: sync V8 gypfiles with 7.5Refael Ackermann
Co-authored-by: Ujjwal Sharma <usharma1998@gmail.com> Co-authored-by: Michaël Zasso <targos@protonmail.com> PR-URL: https://github.com/nodejs/node/pull/27375 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-06-01build: reset embedder string to "-node.0"Refael Ackermann
PR-URL: https://github.com/nodejs/node/pull/27375 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
2019-05-22deps: V8: cherry-pick 94c87feMichaël Zasso
Original commit message: [ic] Fix handling of +0/-0 when constant field tracking is enabled ... and ensure that runtime behaviour is in sync with the IC code. Bug: chromium:950747, v8:9113 Change-Id: Ied66c9514cbe3a4d75fc71d4fc3b19ea1538f9b2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1561319 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#60768} PR-URL: https://github.com/nodejs/node/pull/27792 Fixes: https://github.com/nodejs/node/issues/27784 Refs: https://github.com/v8/v8/commit/94c87fe0746fc95618ae091351f2f8c342212917 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gus Caplan <me@gus.host>
2019-04-29deps: V8: cherry-pick 5d0cf6bJoyee Cheung
Original commit message: [snapshot] Use Handle to track name in `CodeSerializer::Deserialize` The `Script::InitLineEnds(Handle<Script>(script, isolate));` line may lead to objects being moved around on the heap, so it’s necessary to use a `Handle` to track that. This was causing crashes in Node.js in Debug mode when using the code cache in combination with the CPU profiler. Refs: https://github.com/nodejs/node/issues/27307 Change-Id: I392b4c00c6ebad44753f87fcbf2e3278ea7799a6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1575698 Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#61036} Refs: https://github.com/v8/v8/commit/5d0cf6bcd58aa63c86f2664c801538c4e731170b PR-URL: https://github.com/nodejs/node/pull/27423 Fixes: https://github.com/nodejs/node/issues/27307 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
2019-04-19build: increase MACOS_DEPLOYMENT_TARGET to 10.10Rod Vagg
PR-URL: https://github.com/nodejs/node/pull/27275 Refs: https://github.com/nodejs/node/pull/26714 Refs: https://github.com/nodejs/build/issues/1768 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-04-12build,win: put all compilation artifacts into `out`Refael Ackermann
* Add symlink from Release to out\Release for backward compat PR-URL: https://github.com/nodejs/node/pull/27149 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2019-04-03deps: V8: cherry-pick 0188634Michaël Zasso
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: https://github.com/v8/v8/commit/0188634ee523aef39ba71732b1ab9d422f449825 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-03deps: V8: cherry-pick c8785d1Michaël Zasso
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: https://github.com/v8/v8/commit/c8785d1572b8b7d7dc4df3578e249312a30be4b9 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-03deps: V8: cherry-pick f4b860dMichaël Zasso
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: https://github.com/v8/v8/commit/f4b860d9b81956fb9d6815932522f4043fef56fa 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-03-28build,deps: move gypfiles out 2/2 - movingRefael Ackermann
* 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-28deps: silence irrelevant V8 warningMichaël Zasso
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-28deps: update postmortem metadata generation scriptcjihrig
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-28deps: V8: un-cherry-pick bd019bdRefael Ackermann
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: https://github.com/v8/v8/commit/bd019bdb725cebaa34327634d73936cd7003d17c 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-28deps: V8: cherry-pick 6 commitsMichaël Zasso
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: https://github.com/v8/v8/commit/ad49f12908644fa1dc7e5aa28839a85872084f8c 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: https://github.com/v8/v8/commit/14f07a8b30dd28bd6508924fae01e0c2d1892aad 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: https://github.com/v8/v8/commit/676014b36ffb28f9d25e5d232547deb5735baa44 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: https://github.com/v8/v8/commit/4e6a1a75cd75916b45956071e581df6121bceaa8 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: https://github.com/v8/v8/commit/afbfd7563d88b90b095b454344f91de6138cbbf3 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: https://github.com/v8/v8/commit/f792eb83a6501d44d4ef51b11894ce2ba9dc8f91 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-28deps: V8: cherry-pick d82c9afAnna Henningsen
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: https://github.com/v8/v8/commit/d82c9afb8c79255efd8ef65257b14bcf9c64a9c2 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-28deps: V8: cherry-pick e5f01baAnna Henningsen
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: https://github.com/v8/v8/commit/e5f01ba13fd199c76fcfb755346b97c6b97fc6d9 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-28deps: V8: cherry-pick d5f08e4Anna Henningsen
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: https://github.com/v8/v8/commit/d5f08e4e4fa5beedda1e22c2e16d8da99540574e 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-28deps: V8: cherry-pick 6b09d21Anna Henningsen
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: https://github.com/v8/v8/commit/6b09d21c8c13051d62ad146099da868fc0c41898 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-28deps: V8: cherry-pick f0bb5d2Anna Henningsen
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: https://github.com/v8/v8/commit/f0bb5d2fcf52cdc4147b0f17ab19f3d10d585f14 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-28deps: V8: cherry-pick 5b0510dAnna Henningsen
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: https://github.com/v8/v8/commit/5b0510db7c9f6f9f43f322d32fe33a19e3935f89 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-28deps: V8: cherry-pick 91f0cd0Anna Henningsen
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: https://github.com/v8/v8/commit/91f0cd00820a6e8d4567c1ce3a51d48a28165ab5 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-28deps: V8: cherry-pick 392316dAnna Henningsen
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: https://github.com/v8/v8/commit/392316ddd11104ad759131732dfe0805f3972ab2 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-28deps: V8: cherry-pick 2f79d68Anna Henningsen
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: https://github.com/v8/v8/commit/2f79d68664ba113b69f62c29ce85fd29dcf87df3 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-28deps: sync V8 gypfiles with 7.4Ujjwal Sharma
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-28build: reset embedder string to "-node.0"Ujjwal Sharma
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-17deps,v8: cherry-pick 385aa80Refael Ackermann
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: https://github.com/v8/v8/commit/385aa80aff32210d098498d1cd44d42bc70ee1d4 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-14deps: V8: cherry-pick 7803fa6Jon Kunkee
Original commit message: Move ARM64 Assembler::nop definition from header to source file When Assembler::nop is in the header, it is considered an inline function. With GN arg is_component_build=true, the V8_EXPORT_PRIVATE mark on the class causes it to be exported every time the header is included. This, in turn, produces a reference to Register::XRegFromCode. Register::XRegFromCode is only ever defined as an inlined function, so that reference is never fulfilled. Clang can avoid this using the /Fc:dllexportInlines- flag to suppress the export of Assembler::nop and so avoid generating the reference to Register::XRegFromCode. MSVC does not support this flag, so this change suppresses the export by moving Assembler::nop's definition to the .cc file. This also allows it to use the inline definition of Register::XRegFromCode. Bug: v8:8870 Change-Id: I1cd33195677256c9dd06c7047fe84e1b912d3151 Reviewed-on: https://chromium-review.googlesource.com/c/1478216 Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#59785} Refs: https://github.com/v8/v8/commit/7803fa68f48b15534b3dccab5f6eefc9e714e62a 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-14deps: V8: cherry-pick 58cefedJon Kunkee
Original commit message: snapshot: add source line stubs for ARM64 Windows When stubbing out source line information emission for Windows, the ARM64 Windows branch was missed. This change copies the x86/x64 stubs as appropriate. Bug: chromium:893460,v8:8870 R=jgruber@chromium.org Bug: chromium:893460,v8:8870 Change-Id: I1416b602a4f96a68c37fdeeb816ce1ce33b12407 Reviewed-on: https://chromium-review.googlesource.com/c/1453637 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/master@{#59817} Refs: https://github.com/v8/v8/commit/58cefed29c3bd4ab419a8026b96f9fba8b9e86c7 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-14deps: v8, backport 2d08967Benjamin
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: https://github.com/v8/v8/commit/2d08967d4a4b9a43aa2b11781421e09bff3b89ad 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-14deps: V8: cherry-pick d3308d0Michaël Zasso
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: https://github.com/electron/electron/blob/1898f9162073910c05958295c612deec6121a892/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: https://github.com/v8/v8/commit/d3308d042c9637958491333831c33335ab9fc734 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-14deps: V8: cherry-pick 74571c8Michaël Zasso
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: https://github.com/v8/v8/commit/74571c80a945f2bdf4094a090410ae02b9a69af6 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-14deps: cherry-pick fc0ddf5 from upstream V8Anna Henningsen
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: https://github.com/v8/v8/commit/fc0ddf551216761f5a9ecb07958fe92bbc8a9bc2 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-14deps: sync V8 gypfiles with 7.3Ujjwal Sharma
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-14deps: sync V8 gypfiles with 7.2Michaël Zasso
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-14build: reset embedder string to "-node.0"Michaël Zasso
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-12build: enable v8's siphash for hash seed creationRod Vagg
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>