summaryrefslogtreecommitdiff
path: root/deps/v8
Commit message (Collapse)AuthorAgeFilesLines
* deps: V8: cherry-pick e3d7f8acclauss2019-08-151-6/+2
| | | | | | | | | | | | | | | | | | | | | Original commit message: [build] update gen-postmortem-metadata for Python 3 This change makes the code compatible with both Python 2 and Python 3. Change-Id: I99d68af9c3163607c3a2fdbafac339a98b7471e4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1751331 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#63207} Refs: https://github.com/v8/v8/commit/e3d7f8a58887d25919641757a91345c56dda2a52 PR-URL: https://github.com/nodejs/node/pull/29105 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
* deps: V8: cherry-pick b33af60Michaël Zasso2019-08-013-59/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message: [api] Get ScriptOrModule from CompileFunctionInContext Adds a new out param which allows accessing the ScriptOrModule of a function, which allows an embedder such as Node.js to use the function's i::Script lifetime. Refs: https://github.com/nodejs/node-v8/issues/111 Change-Id: I34346d94d76e8f9b8377c97d948673f4b95eb9d5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1699698 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#62830} Refs: https://github.com/v8/v8/commit/b33af60dd9e7e5b2557b9fbf3fdb80209f6db844 PR-URL: https://github.com/nodejs/node/pull/28016 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
* deps: V8: cherry-pick d2ccc59Michaël Zasso2019-08-013-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | Original commit message: [snapshot] print reference stack for JSFunctions in the isolate snapshot This helps debugging incorrect usage of the SnapshotCreator API in debug mode. Change-Id: Ibd9db76a5f460cdf7ea6d14e865592ebaf69aeef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1648240 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#62095} Refs: https://github.com/v8/v8/commit/d2ccc599c7a31838752350ae927e41bc386df414 PR-URL: https://github.com/nodejs/node/pull/28016 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
* deps: cherry-pick 13a04aba from V8 upstreamJon Kunkee2019-08-012-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message: fix: move V8_EXPORT_PRIVATE marks to prevent unresolvable references This change fixes missing symbol errors in the Windows 10 on ARM build of Node.js. When a whole class is marked for export, all of its members are marked as well. This can be a problem when inline members call undefined yet inline members of other classes: the exported function will contain a reference to the undefined inline function that should be satisfied at link time, but because the other function is inline no symbol will be produced that will satisfy that reference. Clang gets around this by masking inlined class members from export using /Fc:dllexportInlines-. This is why b0a2a567 worked. Node.js' Windows builds use MSVC and so do not have access to this flag. This results in unresolved symbols at link time. Bug: v8:9465 Change-Id: Ief9c7ab6ba35d22f995939eb62a64d6f1992ed85 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1696771 Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#62660} Refs: https://github.com/v8/v8/commit/13a04abacd6a15b0b06c9ad08e237af703a57dec PR-URL: https://github.com/nodejs/node/pull/28602 Reviewed-By: João Reis <reis@janeasystems.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
* deps: V8: cherry-pick 3b8c624Michaël Zasso2019-08-012-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message: GCC: explicitely instantiate JSObject::ApplyAttributesToDictionary for NumberDictionary elements.cc invokes ApplyAttributesToDictionary using NumberDictionary as its template parameter. But the declaration of the template method is in js-object.cc, so nobody can actually compile the version for number dictionary. This is fixed requesting explicit instantiation for NumberDictionary. This was breaking GCC build. Bug: chromium:819294 Change-Id: I685ddc5b97e129d1a534dbdb04025c0932bc5ecd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1649565 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: José Dapena Paz <jose.dapena@lge.com> Cr-Commit-Position: refs/heads/master@{#62097} Refs: https://github.com/v8/v8/commit/3b8c624bda58d05aea80dd9626cd550537d6ac3f PR-URL: https://github.com/nodejs/node/pull/28016 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
* deps: V8: fix linking issue for MSVSRefael Ackermann2019-08-011-0/+1
| | | | | | | | | PR-URL: https://github.com/nodejs/node/pull/28016 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
* deps: V8: fix BUILDING_V8_SHARED issuesRefael Ackermann2019-08-013-0/+6
| | | | | | | | | | 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>
* deps: V8: add workaround for MSVC optimizer bugRefael Ackermann2019-08-011-0/+9
| | | | | | | | | | | Refs: https://developercommunity.visualstudio.com/content/problem/512352/compiler-doesnt-finish-142027508.html PR-URL: https://github.com/nodejs/node/pull/28016 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
* deps: V8: use ATOMIC_VAR_INIT instead of std::atomic_initRefael Ackermann2019-08-011-10/+11
| | | | | | | | | | | | | | `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>
* deps: V8: forward declaration of `Rtl*FunctionTable`Refael Ackermann2019-08-011-0/+31
| | | | | | | | | | | | | 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>
* deps: V8: patch register-arm64.hRefael Ackermann2019-08-011-0/+2
| | | | | | | | | | | | 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>
* deps: V8: update postmortem metadata generation scriptcjihrig2019-08-011-0/+7
| | | | | | | | | | | Update postmortem metadata constants for V8 7.6 in Node.js. PR-URL: https://github.com/nodejs/node/pull/28016 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
* deps: V8: silence irrelevant warningMichaël Zasso2019-08-011-2/+1
| | | | | | | 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>
* deps: V8: un-cherry-pick bd019bdRefael Ackermann2019-08-013-0/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* deps: V8: fix filename manipulation for WindowsRefael Ackermann2019-08-012-2/+10
| | | | | | | | | PR-URL: https://github.com/nodejs/node/pull/28016 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
* deps: update V8 to 7.6.303.28Michaël Zasso2019-08-013173-398639/+453594
| | | | | | | | | PR-URL: https://github.com/nodejs/node/pull/28016 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
* deps: backport b107214 from upstream V8Anna Henningsen2019-07-251-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message: [code-serializer] Handlify in CodeSerializer::Deserialize This section potentially contains allocations and thus gc, all object references should be handlified. Bug: v8:9333 Change-Id: I5814e66e8b9b75a8bd952afecae7a3a27b42a642 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1647695 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#62012} (This required resolution of a few merge conflicts, so it’s essentially a manual backport.) Refs: https://github.com/v8/v8/commit/b10721426503b87d013ecf314ca139fa5334ebb7 Refs: https://github.com/nodejs/node/pull/28847 PR-URL: https://github.com/nodejs/node/pull/28850 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Jan Krems <jan.krems@gmail.com>
* deps: V8: backport b33af60Gus Caplan2019-07-193-59/+78
| | | | | | | | | | | | | | | | | | | | | | | Original commit message: [api] Get ScriptOrModule from CompileFunctionInContext Adds a new out param which allows accessing the ScriptOrModule of a function, which allows an embedder such as Node.js to use the function's i::Script lifetime. Refs: https://github.com/nodejs/node-v8/issues/111 Change-Id: I34346d94d76e8f9b8377c97d948673f4b95eb9d5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1699698 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#62830} Refs: https://github.com/v8/v8/commit/b33af60dd9e7e5b2557b9fbf3fdb80209f6db844 PR-URL: https://github.com/nodejs/node/pull/28671 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Guy Bedford <guybedford@gmail.com>
* deps: V8: backport d2ccc59Joyee Cheung2019-07-153-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | Original commit message: [snapshot] print reference stack for JSFunctions in the isolate snapshot This helps debugging incorrect usage of the SnapshotCreator API in debug mode. Change-Id: Ibd9db76a5f460cdf7ea6d14e865592ebaf69aeef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1648240 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#62095} Refs: https://github.com/v8/v8/commit/d2ccc599c7a31838752350ae927e41bc386df414 PR-URL: https://github.com/nodejs/node/pull/28648 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
* deps: cherry-pick 13a04aba from V8 upstreamJon Kunkee2019-07-152-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message: fix: move V8_EXPORT_PRIVATE marks to prevent unresolvable references This change fixes missing symbol errors in the Windows 10 on ARM build of Node.js. When a whole class is marked for export, all of its members are marked as well. This can be a problem when inline members call undefined yet inline members of other classes: the exported function will contain a reference to the undefined inline function that should be satisfied at link time, but because the other function is inline no symbol will be produced that will satisfy that reference. Clang gets around this by masking inlined class members from export using /Fc:dllexportInlines-. This is why b0a2a567 worked. Node.js' Windows builds use MSVC and so do not have access to this flag. This results in unresolved symbols at link time. Bug: v8:9465 Change-Id: Ief9c7ab6ba35d22f995939eb62a64d6f1992ed85 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1696771 Reviewed-by: Sigurd Schneider <sigurds@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Sigurd Schneider <sigurds@chromium.org> Cr-Commit-Position: refs/heads/master@{#62660} Refs: https://github.com/v8/v8/commit/13a04abacd6a15b0b06c9ad08e237af703a57dec PR-URL: https://github.com/nodejs/node/pull/28602 Reviewed-By: João Reis <reis@janeasystems.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
* deps: V8: extend workaround for MSVC optimizer bugMichaël Zasso2019-06-191-2/+2
| | | | | | | | | | | | Builds are starting to fail in CI with V8 7.5 and 7.6. Refs: https://developercommunity.visualstudio.com/content/problem/512352/compiler-doesnt-finish-142027508.html PR-URL: https://github.com/nodejs/node/pull/28286 Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Refael Ackermann (רפאל פלחי) <refack@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
* deps: V8: cherry-pick e0a109cJoyee Cheung2019-06-125-2/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* deps: V8: backport 3a75c1fRefael Ackermann2019-06-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* deps: V8: fix BUILDING_V8_SHARED issuesRefael Ackermann2019-06-014-0/+8
| | | | | | | | | | 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>
* deps: V8: workaround for MSVC 14.20 optimizer bugRefael Ackermann2019-06-011-0/+9
| | | | | | | | | | | | 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>
* deps: V8: template explicit instantiation for GCC-8Refael Ackermann2019-06-012-0/+10
| | | | | | | | | | | | | 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>
* deps: V8: use ATOMIC_VAR_INIT instead of std::atomic_initRefael Ackermann2019-06-011-1/+8
| | | | | | | | | | | | | | `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>
* deps: V8: forward declaration of `Rtl*FunctionTable`Refael Ackermann2019-06-011-0/+31
| | | | | | | | | | | | | 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>
* deps: V8: patch register-arm64.hRefael Ackermann2019-06-011-0/+2
| | | | | | | | | | | | 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>
* deps: V8: backport f89e555Michaël Zasso2019-06-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* deps: V8: cherry-pick cca9ae3c9aBenedikt Meurer2019-06-011-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* deps: V8: update postmortem metadata generation scriptcjihrig2019-06-011-0/+6
| | | | | | | | | 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>
* deps: V8: silence irrelevant warningMichaël Zasso2019-06-011-2/+1
| | | | | | | 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>
* deps: V8: un-cherry-pick bd019bdRefael Ackermann2019-06-013-0/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* deps: V8: fix filename manipulation for WindowsRefael Ackermann2019-06-012-2/+10
| | | | | | | | | | 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>
* deps: update V8 to 7.5.288.22Refael Ackermann2019-06-011302-26606/+53310
| | | | | | | | | | 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>
* deps: V8: cherry-pick 94c87feMichaël Zasso2019-05-229-92/+327
| | | | | | | | | | | | | | | | | | | | | | | 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>
* deps: V8: cherry-pick cca9ae3c9aBenedikt Meurer2019-05-191-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* deps: patch V8 to 7.4.288.27Matheus Marchini2019-05-1024-102/+349
| | | | | | | | | | Refs: https://github.com/v8/v8/compare/7.4.288.21...7.4.288.27 PR-URL: https://github.com/nodejs/node/pull/27615 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
* deps: V8: cherry-pick 5d0cf6bJoyee Cheung2019-04-291-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* deps: patch V8 to 7.4.288.21Matheus Marchini2019-04-189-83/+129
| | | | | | | | | Refs: https://github.com/v8/v8/compare/7.4.288.18...7.4.288.21 PR-URL: https://github.com/nodejs/node/pull/27265 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
* deps: patch V8 to 7.4.288.18Michaël Zasso2019-04-053-4/+27
| | | | | | | | | 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>
* deps: patch V8 to 7.4.288.17Michaël Zasso2019-04-0512-36/+116
| | | | | | | | 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>
* deps: V8: cherry-pick 0188634Michaël Zasso2019-04-0313-95/+165
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* deps: V8: cherry-pick c8785d1Michaël Zasso2019-04-032-3/+3
| | | | | | | | | | | | | | | | | | | | | | 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>
* deps: V8: cherry-pick f4b860dMichaël Zasso2019-04-037-106/+0
| | | | | | | | | | | | | | | | | | | | | | 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>
* build,deps: move gypfiles out 2/2 - movingRefael Ackermann2019-03-2826-7233/+0
| | | | | | | | | | * 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>
* deps,build: move gypfiles out 1/2 - required changesRefael Ackermann2019-03-284-1877/+1873
| | | | | | | | | * 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>
* deps,build: compute torque_outputs in v8.gypRefael Ackermann2019-03-282-65/+7
| | | | | | | 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>
* deps,build: refactor v8 gypfilesRefael Ackermann2019-03-284-319/+277
| | | | | | | | | | * 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>