- Nov 12, 2019
-
-
Kamat, Trivikram authored
Refs: https://github.com/orgs/nodejs/teams/collaborators/discussions/58 This config will help contributors to run/debug tests on VSCode PR-URL: https://github.com/nodejs/node/pull/24012 Reviewed-By:
James M Snell <jasnell@gmail.com>
-
- Nov 11, 2019
-
-
cclauss authored
Co-authored-by: @patrickhousley Fixes to Python tests to ensure that the following all pass: 1. __python2 -m pytest ./test ./tools__ # 30 tests pass 2. __python3 -m pytest ./test ./tools__ # 30 tests pass 3. __python2 -m unittest discover -s ./test/tools__ # 1 test passes 4. __python3 -m unittest discover -s ./test/tools__ # 1 test passes 5. __PYTHON=python2 make tooltest__ # 1 test passes 6. __PYTHON=python3 make tooltest__ # 1 test passes This is a subset of #30033 PR-URL: https://github.com/nodejs/node/pull/30340 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
David Carlier <devnexen@gmail.com>
-
AshCripps authored
PR-URL: https://github.com/nodejs/node/pull/30316 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Sam Roberts <vieuxtech@gmail.com> Reviewed-By:
Beth Griggs <Bethany.Griggs@uk.ibm.com> Reviewed-By:
Michaël Zasso <targos@protonmail.com> Reviewed-By:
Trivikram Kamat <trivikr.dev@gmail.com>
-
- Nov 10, 2019
-
-
Rich Trott authored
Permit the use of Travis CI results for pull requests that only change documentation or comments. This also removes node-test-pull-request-lite-pipeline from the documentation. Efforts to move all CI jobs to pipelines have stalled and it's not clear that our current Jenkins admins are enthusiastic about pipelines. PR-URL: https://github.com/nodejs/node/pull/30330 Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com>
-
Ruy Adorno authored
PR-URL: https://github.com/nodejs/node/pull/30271 Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de>
-
Rich Trott authored
Treat npm pull requests like all other pull requests. Remove special extended wait period for landing. PR-URL: https://github.com/nodejs/node/pull/30329 Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
Sam Roberts <vieuxtech@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Michaël Zasso <targos@protonmail.com> Reviewed-By:
Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Beth Griggs <Bethany.Griggs@uk.ibm.com> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com>
-
Rich Trott authored
test-benchmark-cluster needs to account for an option added in 973f3244. PR-URL: https://github.com/nodejs/node/pull/30342 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com>
-
peze authored
PR-URL: https://github.com/nodejs/node/pull/30260 Refs: https://github.com/nodejs/code-and-learn/issues/97 Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
Сковорода Никита Андреевич <chalkerx@gmail.com>
-
- Nov 09, 2019
-
-
Nolik authored
PR-URL: https://github.com/nodejs/node/pull/30319 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Ben Coe <bencoe@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By:
Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By:
Masashi Hirano <shisama07@gmail.com>
-
Dmitriy Kikinskiy authored
Simple exchange var to const/let. PR-URL: https://github.com/nodejs/node/pull/30302 Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By:
Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com>
-
Ilia Safronov authored
PR-URL: https://github.com/nodejs/node/pull/30297 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Anto Aravinth <anto.aravinth.cse@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By:
Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com>
-
Vladislav Botvin authored
PR-URL: https://github.com/nodejs/node/pull/30292 Reviewed-By:
Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com>
-
Michaël Zasso authored
Previously, this would trigger an unhandled rejection that the user cannot handle. Fixes: https://github.com/nodejs/node/issues/30205 PR-URL: https://github.com/nodejs/node/pull/30219 Reviewed-By:
Guy Bedford <guybedford@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Yongsheng Zhang <zyszys98@gmail.com>
-
peze authored
Refs: nodejs/code-and-learn#97 PR-URL: https://github.com/nodejs/node/pull/30246 Refs: https://github.com/nodejs/code-and-learn/issues/97 Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
Khaidi Chu <i@2333.moe> Reviewed-By:
Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de>
-
PerfectPan authored
Refs: https://github.com/nodejs/code-and-learn/issues/97 PR-URL: https://github.com/nodejs/node/pull/30261 Reviewed-By:
Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By:
Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Nadya authored
PR-URL: https://github.com/nodejs/node/pull/30318 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By:
Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com>
-
galina.prokofeva authored
Changed a variable declaration. PR-URL: https://github.com/nodejs/node/pull/30320 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By:
Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com>
-
Vadim Gorbachev authored
PR-URL: https://github.com/nodejs/node/pull/30321 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Geoffrey Booth authored
PR-URL: https://github.com/nodejs/node/pull/30051 Reviewed-By:
Guy Bedford <guybedford@gmail.com> Reviewed-By:
Jan Krems <jan.krems@gmail.com>
-
Guy Bedford authored
PR-URL: https://github.com/nodejs/node/pull/29978 Reviewed-By:
Jan Krems <jan.krems@gmail.com> Reviewed-By:
Myles Borins <myles.borins@gmail.com>
-
Guy Bedford authored
PR-URL: https://github.com/nodejs/node/pull/29978 Reviewed-By:
Jan Krems <jan.krems@gmail.com> Reviewed-By:
Myles Borins <myles.borins@gmail.com>
-
Clemens Backes authored
WasmModuleObject::TransferrableModule is deprecated and will be removed in V8 v8.0. Replace all uses by CompiledWasmModule. Refs: https://github.com/v8/node/pull/101 PR-URL: https://github.com/nodejs/node/pull/30026 Reviewed-By:
Gus Caplan <me@gus.host> Reviewed-By:
Michaël Zasso <targos@protonmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
David Carlier <devnexen@gmail.com>
-
palmires authored
PR-URL: https://github.com/nodejs/node/pull/30301 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By:
Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By:
Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com>
-
Nolik authored
PR-URL: https://github.com/nodejs/node/pull/30299 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Michaël Zasso authored
npm requires crypto support and cannot be loaded without it. PR-URL: https://github.com/nodejs/node/pull/30265 Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Rich Trott <rtrott@gmail.com> Reviewed-By:
James M Snell <jasnell@gmail.com> Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
Luigi Pinca <luigipinca@gmail.com> Reviewed-By:
Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com>
-
- Nov 08, 2019
-
-
Anna Henningsen authored
Remove custom tracking for `SharedArrayBuffer`s and their allocators and instead let V8 do the tracking of both. This is required starting in V8 7.9, because lifetime management for `ArrayBuffer::Allocator`s differs from what was performed previously (i.e. it is no longer easily possible for one Isolate to release an `ArrayBuffer` and another to accept it into its own allocator), and the alternative would have been adapting the `SharedArrayBuffer` tracking logic to also apply to regular `ArrayBuffer` instances. Refs: https://github.com/nodejs/node/pull/30044 PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com>
-
Michaël Zasso authored
On certain platforms, updating V8 to 7.9 made the numbers a bit higher than the current limit. PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com>
-
cjihrig authored
This commit updates v8abbr.h to use the updated metadata. PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com>
-
cjihrig authored
The following metadata has changed: - v8dbg_class_UncompiledData__inferred_name__String - Implementation was moved to Torque and required update to gen-postmortem-metadata.py. - Refs: https://github.com/v8/v8/commit/e4e86b53cfd028107f6d5e2c0df10d08e690da88 - v8dbg_class_SharedFunctionInfo__script_or_debug_info__Object - Renamed to v8dbg_class_SharedFunctionInfo__script_or_debug_info__HeapObject - Refs: https://github.com/v8/v8/commit/07fc96c0a8db2f513a5f439d69ca083c3dad0ccd - v8dbg_type_JSRegExp__JS_REGEXP_TYPE - Renamed to v8dbg_type_JSRegExp__JS_REG_EXP_TYPE. - Refs: https://github.com/v8/v8/commit/61815a22bdfe94f432bf787831eafcaffedb73ef PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By:Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com>
-
Michaël Zasso authored
V8 can can no longer be built without snapshot. PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com>
-
Christian Clauss authored
Original commit message: [postmortem] Load files using utf-8 to support Python 3 Change-Id: I174d38cc33210c07d1a7596627e1b2d21bb06313 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1895560 Reviewed-by:Mathias Bynens <mathias@chromium.org> Commit-Queue: Michaël Zasso <mic.besace@gmail.com> Cr-Commit-Position: refs/heads/master@{#64717} Refs: https://github.com/v8/v8/commit/a7dffcd767be6e6122dd3911c8388b5ff76ac590 PR-URL: https://github.com/nodejs/node/pull/30218 Reviewed-By:
Richard Lau <riclau@uk.ibm.com> Reviewed-By:
David Carlier <devnexen@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Chengzhong Wu <legendecas@gmail.com> Reviewed-By:
Joyee Cheung <joyeec9h3@gmail.com>
-
Michaël Zasso authored
Original commit message: [compiler] Explicitly initialize const members This fixes a compilation error in Node.js with Xcode: initialize the const member 'blueprint_'. error: constructor for 'v8::internal::compiler::Callee' must explicitly Change-Id: Ia55398428d0de35a9ad5132eabd22d0adb694514 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1895561 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64719} Refs: https://github.com/v8/v8/commit/50031fae736fac7b2b309369df492bfd0edd7553 PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com>
-
Gabriel Schulhof authored
Original commit message: [api] Fix handle leak when getting Context embedder data The `Context::SlowGetAlignedPointerFromEmbedderData()` method returns a pointer, so the fact that it allocates handles is not obvious to the caller. Since this is the slow path anyway, simply add a handle scope inside of it. The tests are also modified to perform the same check for the `Object` equivalent of this method. Change-Id: I5f03c9a7b70b3a17315609df021606a53c9feb2d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1879902 Reviewed-by:Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#64583} Refs: https://github.com/v8/v8/commit/e5dbc95cc0bfbd8a3b6d67b9e4ed920cf3c9fe27 Fixes: https://github.com/nodejs/node/issues/30127 PR-URL: https://github.com/nodejs/node/pull/30130 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Michaël Zasso <targos@protonmail.com>
-
Michaël Zasso authored
Original commit message: [objects] Move functions to inline headers This moves a series of functions from dictionary.h and hash-table.h to resp. dictionary-inl.h and hash-table-inl.h. The functions that were moved all somehow use other functions that are defined in -inl.h files. This change fixes the Node.js Windows builds. Change-Id: I0bbf0222beb3619a5e6f1fb451bc78691025de65 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1893346 Reviewed-by:Peter Marshall <petermarshall@chromium.org> Commit-Queue: Michaël Zasso <mic.besace@gmail.com> Cr-Commit-Position: refs/heads/master@{#64709} Refs: https://github.com/v8/v8/commit/5e755c6ee6d3ab81b2f6daf2f0b04418f91fed9b PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com>
-
Michaël Zasso authored
Original commit message: PPC: allow for calling CFunctions without function descriptors on AIX. The calling conventions on AIX uses function descriptors, which means that pointers to functions do not point to code, but instead point to metadata about them. When calling JITed code, we must assure to use function descriptors instead of raw pointers when needed. Before this CL 213504b, all CallCFunction on AIX were guaranteed to have function descriptors. Starting form the CL mentioned above, CallCFunction can also Jump to a Trampoline which does not have a function descriptor, hence a new "CallCFunctionWithoutFunctionDescriptor" method is proposed to deal with this issue. BUG= v8:9766 Change-Id: I9343c31c812f5d4dda8503a5adf024b24dbde072 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1825961 Commit-Queue: Milad Farazmand <miladfar@ca.ibm.com> Reviewed-by:Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64357} Refs: https://github.com/v8/v8/commit/07ee86a5a28b7f9526748ca8f765c1b704f93c0c PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com>
-
Michaël Zasso authored
Original commit message: Make SetSyntheticModuleExport throw instead of crash for nonexistent export name Per spec, Module::SetSyntheticModuleExport should throw a ReferenceError when called with an export name that was not supplied when constructing that SyntheticModule. Instead, the current implementation crashes with a failed CHECK(). Add a new Module::SyntheticModuleSetExport that throws (without an ensuing crash) for this case, and deprecate the old Module::SetSyntheticModuleExport. Bug: v8:9828 Change-Id: I3b3d353064c3851882781818099bd8f6ee74c809 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1860996 Reviewed-by:Adam Klein <adamk@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Commit-Queue: Dan Clark <daniec@microsoft.com> Cr-Commit-Position: refs/heads/master@{#64438} Refs: https://github.com/v8/v8/commit/777fa98cc47ac32f0fde3d9aafd830949deb5d23 PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com>
-
Michaël Zasso authored
Original commit message: [objects] Add missing include of isolate-utils.h On Windows with MSVC, compilation fails because it cannot find the GetIsolateForPtrCompr identifier. Change-Id: Ib03f5c5ef34e409242bbbe93ec83b7734012feb2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1878712 Reviewed-by:Peter Marshall <petermarshall@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#64551} Refs: https://github.com/v8/v8/commit/7228ef8040785d3237867558b8444422b306c3ce PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com>
-
Michaël Zasso authored
Original commit message: [api] Add possibility for BackingStore to keep Allocator alive Add an `array_buffer_allocator_shared` field to the `Isolate::CreateParams` struct that allows embedders to share ownership of the ArrayBuffer::Allocator with V8, and which in particular means that when this method is used that the BackingStore deleter will not perform an use-after-free access to the Allocator under certain circumstances. For Background: tl;dr: This is necessary for Node.js to perform the transition to V8 7.9, because of the way that ArrayBuffer::Allocators and their lifetimes currently work there. In Node.js, each Worker thread has its own ArrayBuffer::Allocator. Changing that would currently be impractical, as each allocator depends on per-Isolate state. However, now that backing stores are managed globally and keep a pointer to the original ArrayBuffer::Allocator, this means that when transferring an ArrayBuffer (e.g. from one Worker to another through postMessage()), the original Allocator has to be kept alive until the ArrayBuffer no longer exists in the receiving Isolate (or until that Isolate is disposed). See [1] for an example Node.js test that fails with V8 7.9. This problem also existed for SharedArrayBuffers, where Node.js was broken by V8 earlier for the same reasons (see [2] for the bug report on that and [3] for the resolution in Node.js). For SharedArrayBuffers, we already had extensive tracking logic, so adding a shared_ptr to keep alive the ArrayBuffer::Allocator was not a significant amount of work. However, the mechanism for transferring non-shared ArrayBuffers is quite different, and it seems both easier for us and better for V8 from an API standpoint to keep the Allocator alive from where it is being referenced. By sharing memory with the custom deleter function/data pair, this comes at no memory overhead. [1]: https://github.com/nodejs/node/pull/30044 [2]: https://github.com/nodejs/node-v8/issues/115 [3]: https://github.com/nodejs/node/pull/29637 Bug: v8:9380 Change-Id: Ibc2c4fb6341b53653cbd637bd8cb3d4ac43809c7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1874347 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#64542} Refs: https://github.com/v8/v8/commit/6b0a9535e6983a626420d864b45582167cd61540 PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com>
-
Michaël Zasso authored
Original commit message: [api] Add API functions for constructing standalone BackingStores These are useful for the cases when an embedder works with backing stores without creating JS ArrayBuffer objects. Bug: v8:9380 Change-Id: I452bd911e7b20fb38568f18f9d15ea1a7ffb5a57 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1825339 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64460} Refs: https://github.com/v8/v8/commit/bba5f1f43d59cf06e6043eb94d689021cc94a4e2 PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com>
-
Michaël Zasso authored
Original commit message: [wasm] Disallow interpreter move The MOVE_ONLY_NO_DEFAULT_CONSTRUCTOR macro defines a defaulted move constructor and move-assignment operator. The {std::unique_ptr} on the other hand needs the contained type to be complete when instantiating the move assignment operator. Hence, this fails e.g. on MSVC, see https://github.com/nodejs/node/pull/30020#issuecomment-544485991. It turns out that we never actually move the interpreter, so we can just replace the MOVE_ONLY_NO_DEFAULT_CONSTRUCTOR by DISALLOW_COPY_AND_ASSIGN. R=ahaas@chromium.org Change-Id: Iba7d30243510ed9554be62b0c4c8e6f47f0c3307 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1871921 Reviewed-by:Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#64423} Refs: https://github.com/v8/v8/commit/cfe9172e64795a69112f8247bdcc00954ca9515e PR-URL: https://github.com/nodejs/node/pull/30020 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Jiawen Geng <technicalcute@gmail.com> Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Matteo Collina <matteo.collina@gmail.com>
-