summaryrefslogtreecommitdiff
path: root/deps
AgeCommit message (Collapse)Author
2018-09-05deps: update to nghttp2 1.33.0Anna Henningsen
Refs: https://github.com/nghttp2/nghttp2/releases/tag/v1.33.0 PR-URL: https://github.com/nodejs/node/pull/22649 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2018-09-04deps: cherry-pick 22116dd from upstream V8Marcel Laverdet
Refs: https://github.com/v8/v8/commit/22116dd6c884c026225e56dd8e442a660193e729 Original commit message: [snapshot] fix resetting function code. Unconditionally setting the JSFunction code to that of the SFI may skip initializing the feedback vector. R=leszeks@chromium.org Bug: v8:7857 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I65d4bf32493be4cade2eaf3d665d44f93e80f809 Reviewed-on: https://chromium-review.googlesource.com/1107618 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#53881} PR-URL: https://github.com/nodejs/node/pull/21992 Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Gus Caplan <me@gus.host>
2018-09-04deps: backport a8f6869 from upstream V8Ben Newman
Original commit message: [debug] Fully implement Debug::ArchiveDebug and Debug::RestoreDebug. I have a project that embeds V8 and uses a single `Isolate` from multiple threads. The program runs just fine, but sometimes the inspector doesn't stop on the correct line after stepping over a statement that switches threads behind the scenes, even though the original thread is restored by the time the next statement is executed. After some digging, I discovered that the `Debug::ArchiveDebug` and `Debug::RestoreDebug` methods, which should be responsible for saving/restoring this `ThreadLocal` information when switching threads, currently don't do anything. This commit implements those methods using MemCopy, in the style of other Archive/Restore methods in the V8 codebase. Related: https://groups.google.com/forum/#!topic/v8-users/_Qf2rwljRk8 R=yangguo@chromium.org,jgruber@chromium.org CC=info@bnoordhuis.nl Bug: v8:7230 Change-Id: Id517c873eb81cd53f7216c7efd441b956cf7f943 Reviewed-on: https://chromium-review.googlesource.com/833260 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54902} Refs: https://github.com/v8/v8/commit/a8f6869177685cfb9c199c454a86f4698c260515 Fix build errors by matching older V8 APIs used by Node. It looks like SetDebugDelegate(debug::DebugDelegate* delegate, bool pass_ownership) was simplified to just SetDebugDelegate(debug::DebugDelegate* delegate) in https://github.com/v8/v8/commit/37dcd837dbafa7f1175be5f01f0def013437c7e7, but the extra `pass_ownership` parameter is still there in the current version of `node/deps/v8`. I should be able to fix those tests by passing `false` for `pass_ownership`. Also, the `DebugDelegate::BreakProgramRequested` method lost a parameter in https://github.com/v8/v8/commit/e404670696b4c49d7f8adcdb075b98acab9967dd, but it's not a parameter I was using in my test, so there shouldn't be any harm in adding the `exec_state` parameter back to `BreakProgramRequested` (and continuing to ignore it). Skip restoring debug state unless thread previously in DebugScope. A simpler version of the changes I proposed upstream in this V8 change request: https://chromium-review.googlesource.com/c/v8/v8/+/1168449 In this version, Debug::RestoreDebug never attempts to enter a new DebugScope, but merely reuses the previous one, if we're returning to a thread that was previously in a DebugScope. If the thread was not previously in a DebugScope, I believe it does not need to have any debugging state restored with ClearOneShot and PrepareStep. The tests from https://chromium-review.googlesource.com/c/v8/v8/+/833260 still pass, and the failing V8-CI tests are now passing locally for me. PR-URL: https://github.com/nodejs/node/pull/22122 Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
2018-09-04deps: cherry-pick bf5ea81 from upstream V8Ali Ijaz Sheikh
Original commit message: [tracing] allow dynamic control of tracing If the trace_buffer_ was null, we were returning a pointer to a static flag back that permanently disabled that particular trace point. This implied an assumption that tracing will be statically enabled at process startup, and once it is disabled, it will never be enabled again. On Node.js side we want to dynamically enable/disable tracing as per programmer intent. Change-Id: Ic7a7839b8450ab5c356d85e8e0826f42824907f4 Reviewed-on: https://chromium-review.googlesource.com/1161518 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com> Cr-Commit-Position: refs/heads/master@{#54903} Refs: https://github.com/v8/v8/commit/bf5ea8138c0726613c9d722a3ccb552a8f477992 PR-URL: https://github.com/nodejs/node/pull/22114 Reviewed-By: James M Snell <jasnell@gmail.com>
2018-09-04deps: fix V8 test regressionMichaël Zasso
Fixes a regression introduced in a V8 backport PR. A small change in cctest/test-log.cc was forgotten. Refs: https://github.com/nodejs/node/pull/22028 Refs: https://github.com/v8/v8/commit/ba752ea4c50713dff1e94f45a79db3ba968a8d66 PR-URL: https://github.com/nodejs/node/pull/22677 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
2018-09-03deps: backport 4 CPU profiler commits from upstream V8Peter Marshall
[cpu-profiler] Add a new profiling mode with a more detailed call tree. https://chromium.googlesource.com/v8/v8.git/+/ecae80cdb350dde1e654c531b56f5b6c44dc8c77 [cpu-profiler] Reuse free slots in code_entries_ https://chromium.googlesource.com/v8/v8.git/+/3e1126bf15e62c433c4e9cb21316d182f691c63a [cpu-profiler] Only store deopt inline frames for functions that need it https://chromium.googlesource.com/v8/v8.git/+/0bfcbdd4726920755e51dab28c18ab93e050819b [cpu-profiler] Use instruction start as the key for the CodeMap https://chromium.googlesource.com/v8/v8.git/+/ba752ea4c50713dff1e94f45a79db3ba968a8d66 PR-URL: https://github.com/nodejs/node/pull/22028 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Benedikt Meurer <benedikt.meurer@gmail.com>
2018-09-02deps: upgrade npm to 6.4.1Kat Marchán
PR-URL: https://github.com/nodejs/node/pull/22591 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2018-08-29deps: backport String::Utf8Length with isolateMichaël Zasso
This overload was added in V8 6.9 and the one without the isolate parameter was removed in V8 7.0. Refs: https://github.com/v8/v8/commit/3dd5c6fe38355b8323597341409b37f931de5a85 PR-URL: https://github.com/nodejs/node/pull/22531 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-08-29deps: backport String::Write{OneByte,Utf8} with isolateMichaël Zasso
These overloads were added in V8 6.9 and the ones without the isolate parameter were removed in V8 7.0. Refs: https://github.com/v8/v8/commit/8a011b57d8b26e9cfe1c20a2ef26adb14be6ecc2 PR-URL: https://github.com/nodejs/node/pull/22531 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-08-29deps: backport StackFrame::GetFrame with isolateMichaël Zasso
This overload was added in V8 6.9 and the one without isolate was removed in V8 7.0. Refs: https://github.com/v8/v8/commit/8a011b57d8b26e9cfe1c20a2ef26adb14be6ecc2 PR-URL: https://github.com/nodejs/node/pull/22531 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-08-28src,deps: add isolate parameter to String::ConcatMichaël Zasso
Partially backport an upstream commit that deprecates String::Concat without the isolate parameter. This overload has already been removed in V8 7.0. PR-URL: https://github.com/nodejs/node/pull/22521 Refs: https://github.com/v8/v8/commit/8a011b57d8b26e9cfe1c20a2ef26adb14be6ecc2 Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com>
2018-08-26deps: import acorn@5.7.2Sam Ruby
Imported from the tarball published on npm (https://registry.npmjs.org/acorn/-/acorn-5.7.2.tgz). Update to emcaScript version 10 in order to get support for binding-less catch statements. Also needed to parse node.js lib API in #22405. PR-URL: https://github.com/nodejs/node/pull/22488 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: John-David Dalton <john.david.dalton@gmail.com> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Bryan English <bryan@bryanenglish.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2018-08-23deps: cherry-pick e1a7699 from upstream V8Camillo Bruni
Original commit message: [api][runtime] Support all-in ctors of {Named,Indexed}PropertyHandlerConfiguration - Explicitly allows construction of {Named,Indexed}PropertyHandlerConfiguration with all the members filled. Bug: v8:7612 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I426ea33846b5dbf2b3482c722c963a6e4b0abded Reviewed-on: https://chromium-review.googlesource.com/1163882 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#55142} PR-URL: https://github.com/nodejs/node/pull/22390 Fixes: https://github.com/nodejs/node/issues/17480 Fixes: https://github.com/nodejs/node/issues/17481 Refs: https://github.com/v8/v8/commit/e1a76995ef311eb3ca66e12ef1941ed596034d59 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-08-23deps: cherry-pick 9eb96bb from upstream V8Timothy Gu
Original commit message: [api] Avoid needlessly calling descriptor interceptors Reland part of https://chromium-review.googlesource.com/c/v8/v8/+/816515. Change-Id: I72ad85ffd162fc0563fc25cdf35189e894f9dc82 Reviewed-on: https://chromium-review.googlesource.com/1138808 Commit-Queue: Timothy Gu <timothygu@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#54492} PR-URL: https://github.com/nodejs/node/pull/22390 Fixes: https://github.com/nodejs/node/issues/17480 Fixes: https://github.com/nodejs/node/issues/17481 Refs: https://github.com/v8/v8/commit/9eb96bb431a52568c4964dee03569eef431a4dfa Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-08-21deps: patch V8 to 6.8.275.30Michaël Zasso
Refs: https://github.com/v8/v8/compare/6.8.275.24...6.8.275.30 PR-URL: https://github.com/nodejs/node/pull/22125 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2018-08-20deps: upgrade to libuv 1.23.0cjihrig
Notable changes: - Restores compatibility with the old IPC protocol. - Adds uv_open_osfhandle(). - Adds uv_os_{get,set}priority(). PR-URL: https://github.com/nodejs/node/pull/22365 Fixes: https://github.com/nodejs/node/issues/21671 Fixes: https://github.com/nodejs/node/issues/15433 Refs: https://github.com/nodejs/node/pull/21675 Refs: https://github.com/nodejs/node-addon-api/issues/304 Refs: https://github.com/nodejs/abi-stable-node/issues/318 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
2018-08-19deps: cherry-pick 6ee8345 from upstream V8Joyee Cheung
Original commit message: [heap-profiler] Allow embedder to specify edge names This patch adds a variant of EmbedderGraph::AddEdge() which allows the embedder to specify the name of an edge. The edges added without name are element edges with auto-incremented indexes while the edges added with names will be internal edges with the specified names for more meaningful output in the heap snapshot. Refs: https://github.com/nodejs/node/pull/21741 Bug: v8:7938 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I8feefa2cf6911743e24b3b2024e0e849b0c65cd3 Reviewed-on: https://chromium-review.googlesource.com/1133299 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#54412} Refs: https://github.com/v8/v8/commit/6ee834532d6f924f6057584085fa79b4777c396a PR-URL: https://github.com/nodejs/node/pull/22106 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-08-18deps: fix CRLF in text file not present in upstreamJoyee Cheung
`deps/v8/third_party/jinja2/LICENSE` is not in upstream v8, and contains CRLF, which is in conflict with `deps/v8/.gitattributes` which sets all text files to use LF. This has caused failures in CI workers with older versions of Git. This patch manually fixes up the file to use LF to resolve the conflict. The file has already been fixed in upstream jinja2, which is pull into our repo when we update V8 so it should be fixed the next time we update V8. PR-URL: https://github.com/nodejs/node/pull/22340 Refs: https://github.com/nodejs/build/issues/1443 Refs: https://github.com/nodejs/reliability/issues/12 Refs: https://github.com/nodejs/build/issues/1453 Refs: https://chromium-review.googlesource.com/c/993812/ Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: João Reis <reis@janeasystems.com> Reviewed-By: Matheus Marchini <matheus@sthima.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Jon Moss <me@jonathanmoss.me> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-08-16deps: update archs files for OpenSSL-1.1.0iShigeki Ohtsu
`cd deps/openssl/config; make` updates all archs dependant files. PR-URL: https://github.com/nodejs/node/pull/22318 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
2018-08-16deps: add s390 asm rules for OpenSSL-1.1.0Shigeki Ohtsu
This is a floating patch against OpenSSL-1.1.0 to generate asm files with Makefile rules and it is to be submitted to the upstream. Fixes: https://github.com/nodejs/node/issues/4270 PR-URL: https://github.com/nodejs/node/pull/19794 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2018-08-16deps: upgrade openssl sources to 1.1.0iShigeki Ohtsu
This updates all sources in deps/openssl/openssl with openssl-1.1.0i. PR-URL: https://github.com/nodejs/node/pull/22318 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rod Vagg <rod@vagg.org>
2018-08-13deps: backport c608122b from upstreamRuben Bridgewater
Original commit message: [api][keys] Allow skipping indices for Proxies with GetPropertyNames Bug: v8:7942 Change-Id: I7b3740b04cbcaa56dc809150900ab8d821b054ce Reviewed-on: https://chromium-review.googlesource.com/1156544 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#54821} PR-URL: https://github.com/nodejs/node/pull/22210 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Gus Caplan <me@gus.host>
2018-08-06deps: cherry-pick 09bca09 from upstream V8Matheus Marchini
Original commit message: [postmortem] add ScopeInfo and Context types The metadata introduced in this patch will be useful for postmortem tools to inspect Contexts and ScopeInfos (see https://github.com/nodejs/llnode/issues/211). R=bmeurer@google.com, yangguo@google.com Change-Id: I927fcab4014d128bd782046c1ecb9ee045723e95 Reviewed-on: https://chromium-review.googlesource.com/1153858 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54768} Refs: https://github.com/v8/v8/commit/09bca095e38d6e4770ae48e174f59d33c PR-URL: https://github.com/nodejs/node/pull/22068 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2018-08-04deps: refactor v8.gypMichaël Zasso
Mostly reorders lists of source files to match more BUILD.gn. Fixes a few wrong entries. PR-URL: https://github.com/nodejs/node/pull/22017 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-07-29deps: upgrade npm to 6.2.0Kat Marchán
PR-URL: https://github.com/nodejs/node/pull/21592 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2018-07-27build,win,v8: allow precompiling objects-inl.hJoão Reis
This makes compiling v8_base much faster on Windows. Sharding is disabled because the header would have to be precompiled for each shard but is only once. The library is much smaller, so sharding is unnecessary. This is enabled by default, but disabled for CI and releases. PR-URL: https://github.com/nodejs/node/pull/21772 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Kyle Farnung <kfarnung@microsoft.com> Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
2018-07-26deps: cherry-pick 804a693 from upstream V8Matheus Marchini
Original commit message: [postmortem] add JS_ERROR_TYPE and context embedder index * JS_ERROR_TYPE is required for postmortem tools to inspect JSError objects (see https://github.com/nodejs/llnode/pull/215 for a usage example) * The context embedder index is required for postmortem tools to access embedder data stored in the context (see https://github.com/nodejs/llnode/pull/204 for a usage example) R=bmeurer@google.com, yangguo@google.com Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25 Reviewed-on: https://chromium-review.googlesource.com/1138493 Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#54475} Refs: https://github.com/v8/v8/commit/804a693eb4ac2fed160c683d16444a53b5 PR-URL: https://github.com/nodejs/node/pull/21855 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Yang Guo <yangguo@chromium.org>
2018-07-26deps: V8: Backport of 0dd3390 from upstreamJames M Snell
Original commit message: Reland "[builtins] Add %IsTraceCategoryEnabled and %Trace builtins" This is a reland of 8d4572a Original change's description: > [builtins] Add %IsTraceCategoryEnabled and %Trace builtins > > Adds the builtin Trace and IsTraceCategoryEnabled functions > exposed via extra bindings. These are intended to use by > embedders to allow basic trace event support from JavaScript. > > ```js > isTraceCategoryEnabled('v8.some-category') > > trace('e'.charCodeAt(0), 'v8.some-category', > 'Foo', 0, { abc: 'xyz'}) > ``` > > Bug: v8:7851 > Change-Id: I7bfb9bb059efdf87d92a56a0aae326650730c250 > Reviewed-on: chromium-review.googlesource.com/1103294 > Commit-Queue: Yang Guo <yangguo@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Fadi Meawad <fmeawad@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54121} TBR=cbruni@chromium.org Bug: v8:7851 Change-Id: Id063754b2834b3b6a2b2654e76e8637bcd6aa5f8 Reviewed-on: chromium-review.googlesource.com/1137071 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#54532} PR-URL: https://github.com/nodejs/node/pull/21899 Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2018-07-26deps: cherry-pick 907d7bc from upstream V8Michaël Zasso
Original commit message: [promise] Implement Swallowed Rejection Hook. This extends the current Promise Rejection Hook with two new events kPromiseRejectAfterResolved kPromiseResolveAfterResolved which are used to detect (and signal) misuse of the Promise constructor. Specifically the common bug like new Promise((res, rej) => { res(1); throw new Error("something") }); where the error is silently swallowed by the Promise constructor without the user ever noticing can be caught via this hook. Doc: https://goo.gl/2stLUY Bug: v8:7919 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I890a7e766cdd1be88db94844fb744f72823dba33 Reviewed-on: https://chromium-review.googlesource.com/1126099 Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#54309} Refs: https://github.com/v8/v8/commit/907d7bcd18c13a04a14eea6699e54167494bf9f9 PR-URL: https://github.com/nodejs/node/pull/21838 Refs: https://github.com/nodejs/promises-debugging/issues/8 Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yang Guo <yangguo@chromium.org> Reviewed-By: Benedikt Meurer <benedikt.meurer@gmail.com>
2018-07-26deps: cherry-pick 2075910 from upstream V8Michaël Zasso
Original commit message: [turbofan] Remove optimization of default Promise capability functions. The JSCallReducer could in theory inline the default resolve and reject functions passed to the executor in the Promise constructor. But that inlining is almost never triggered because we don't have SFI based feedback in the CallIC. Also the use of the Promise constructor is discouraged, so we shouldn't really need to squeeze the last bit of performance out of this even in the future. Getting rid of this optimization will make significantly easier to implement the Swallowed Rejection Hook, as there's less churn on the TurboFan side then. Bug: v8:7919 Change-Id: If0c54f1c6c7ce95686cd74232be6b8693ac688c9 Reviewed-on: https://chromium-review.googlesource.com/1125926 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#54210} Refs: https://github.com/v8/v8/commit/2075910f3d070159bebd80e128dd09fdd87be56e PR-URL: https://github.com/nodejs/node/pull/21838 Refs: https://github.com/nodejs/promises-debugging/issues/8 Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yang Guo <yangguo@chromium.org> Reviewed-By: Benedikt Meurer <benedikt.meurer@gmail.com>
2018-07-26deps: cherry-pick 555c811 from upstream V8Anna Henningsen
Original commit message: [api] Switch from `SetBuildEmbedderGraphCallback` to `AddBuildEmbedderGraphCallback` `SetBuildEmbedderGraphCallback`, unlike `SetWrapperClassInfoProvider`, assumes a monolithic embedder that can provide all necessary information. That is not the case for e.g. Node.js, which can e.g. provide multiple Node.js instances per V8 Isolate, as well as native addons that may allocate resources on their own. Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ib53dfde82416dd69934b08623e27d674a483ac2d Reviewed-on: https://chromium-review.googlesource.com/1082441 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#53545} Refs: https://github.com/v8/v8/commit/555c811c0d44d9aaaccf8e76059ed24537b3f012 PR-URL: https://github.com/nodejs/node/pull/21741 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com>
2018-07-26deps: cherry-pick 477df06 from upstream v8Gus Caplan
Original commit message: [API] Expand BigInt API Provide a more complete BigInt API. Bug: v8:7712 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ic8562d616f3125deabdf8b52c7019b191bef0e07 Reviewed-on: chromium-review.googlesource.com/1101198 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54122} PR-URL: https://github.com/nodejs/node/pull/21644 Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
2018-07-26deps: cherry-pick 70c4340 from upstream V8Matheus Marchini
Original commit message: [log][api] Fix GCC 4.9 build failure GCC 4.9 used on some Node.js CI machines complains when the control reaches the end of a non-void function and no return is encountered. R=bmeurer@google.com, ofrobots@google.com, yangguo@google.com Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I5af0192cb187eccbf34dbb60ff3ac2e4774af803 Reviewed-on: https://chromium-review.googlesource.com/1105619 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#53861} Refs: https://github.com/v8/v8/commit/70c43402ee04d482ff64e186e2faf43fe PR-URL: https://github.com/nodejs/node/pull/21126 Refs: https://github.com/v8/v8/commit/aa6ce3e Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-07-26deps: cherry-pick acc336c from upstream V8Matheus Marchini
Original commit message: [log] fix boolean logic on LogCodeObject R=yangguo@google.com Change-Id: Icb4825344991e5b2d15050e037064c60eeb9617e Reviewed-on: https://chromium-review.googlesource.com/1097578 Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#53777} Refs: https://github.com/v8/v8/commit/acc336c1257cc7ceee4b31094ee1e9e41 PR-URL: https://github.com/nodejs/node/pull/21126 Refs: https://github.com/v8/v8/commit/aa6ce3e Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-07-26deps: cherry-pick b20faff from upstream V8Matheus Marchini
Original commit message: [log] fix ExistingCodeLogger behavior on edge case ExistingCodeLogger was behaving incorrectly when the CodeEventHandler API was used in combination with --interpreted-frames-native-stack. Instead of collecting copied trampolines as InterpretedFunction:functionName, they were being collected as Builtin:IntepreterEntryTrampolines. This patch adds special handling for copied trampolines when using ExistingCodeLogger. R=yangguo@google.com Change-Id: I3ee4be03800122d28d53b51b20c60dcf6263e4c1 Reviewed-on: https://chromium-review.googlesource.com/1087813 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#53624} Refs: https://github.com/v8/v8/commit/b20faffb07bc97b869a00b935c639bd1c PR-URL: https://github.com/nodejs/node/pull/21126 Refs: https://github.com/v8/v8/commit/aa6ce3e Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-07-26deps: cherry-pick aa6ce3e from upstream V8Michaël Zasso
Original commit message: [log][api] introduce public CodeEventListener API Introduce a new public API called CodeEventListener to allow embedders to better support external profilers and other diagnostic tools without relying on unsupported methods like --perf-basic-prof. Bug: v8:7694 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I063cc965394d59401358757634c9ea84c11517e9 Co-authored-by: Daniel Beckert <daniel@sthima.com.br> Reviewed-on: https://chromium-review.googlesource.com/1028770 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#53382} Refs: https://github.com/v8/v8/commit/aa6ce3ee617b2f324bea3a5d8e3263aee4cde6d7 PR-URL: https://github.com/nodejs/node/pull/21079 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Yang Guo <yangguo@chromium.org>
2018-07-26deps: cherry-pick 5dd3395 from upstream V8Matheus Marchini
Original commit message: [log] improve --perf-basic-prof-only-functions Change --perf-basic-prof-only-functions to also log builtin code creation events, otherwise InterpretedFunctions generated by --interpreted-frames-native-stack will be filtered out. R=yangguo@google.com Change-Id: Ib0623fca88e25c514473a43de56ebbbdcb146f97 Reviewed-on: https://chromium-review.googlesource.com/1100014 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#53760} Refs: https://github.com/v8/v8/commit/5dd33955d5cb1d84dd2509363e11d3c2a PR-URL: https://github.com/nodejs/node/pull/21386 Reviewed-By: Yang Guo <yangguo@chromium.org> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-07-26deps: update v8.gyp and run TorqueMichaël Zasso
Synchronize source files list with upstream's BUILD.gn. Teach v8.gyp to build and run torque, V8's DSL for generating builtins. On Windows, the torque binary needs to be compiled and linked with exception semantics and assume V8 is embedded. Fixes: https://github.com/nodejs/node-v8/issues/57 Co-Authored-By: Ben Noordhuis <info@bnoordhuis.nl> Co-Authored-By: Refael Ackermann <refack@gmail.com> PR-URL: https://github.com/nodejs/node/pull/21079 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Yang Guo <yangguo@chromium.org>
2018-07-26deps: update V8 to 6.8.275.24Michaël Zasso
PR-URL: https://github.com/nodejs/node/pull/21079 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Yang Guo <yangguo@chromium.org>
2018-07-25deps: cherry-pick 804a693 from upstream V8Matheus Marchini
Original commit message: [postmortem] add JS_ERROR_TYPE and context embedder index * JS_ERROR_TYPE is required for postmortem tools to inspect JSError objects (see https://github.com/nodejs/llnode/pull/215 for a usage example) * The context embedder index is required for postmortem tools to access embedder data stored in the context (see https://github.com/nodejs/llnode/pull/204 for a usage example) R=bmeurer@google.com, yangguo@google.com Change-Id: Ib7c7eb44f6ad327fc71a1d45f510c49377db7a25 Reviewed-on: https://chromium-review.googlesource.com/1138493 Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#54475} Refs: https://github.com/v8/v8/commit/804a693eb4ac2fed160c683d16444a53b5 PR-URL: https://github.com/nodejs/node/pull/21855 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Yang Guo <yangguo@chromium.org>
2018-07-22deps: V8: Backport of 0dd3390 from upstreamJames M Snell
Original commit message: Reland "[builtins] Add %IsTraceCategoryEnabled and %Trace builtins" This is a reland of 8d4572a Original change's description: > [builtins] Add %IsTraceCategoryEnabled and %Trace builtins > > Adds the builtin Trace and IsTraceCategoryEnabled functions > exposed via extra bindings. These are intended to use by > embedders to allow basic trace event support from JavaScript. > > ```js > isTraceCategoryEnabled('v8.some-category') > > trace('e'.charCodeAt(0), 'v8.some-category', > 'Foo', 0, { abc: 'xyz'}) > ``` > > Bug: v8:7851 > Change-Id: I7bfb9bb059efdf87d92a56a0aae326650730c250 > Reviewed-on: chromium-review.googlesource.com/1103294 > Commit-Queue: Yang Guo <yangguo@chromium.org> > Reviewed-by: Yang Guo <yangguo@chromium.org> > Reviewed-by: Fadi Meawad <fmeawad@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> > Cr-Commit-Position: refs/heads/master@{#54121} TBR=cbruni@chromium.org Bug: v8:7851 Change-Id: Id063754b2834b3b6a2b2654e76e8637bcd6aa5f8 Reviewed-on: chromium-review.googlesource.com/1137071 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#54532} PR-URL: https://github.com/nodejs/node/pull/21899 Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2018-07-19deps: cherry-pick 907d7bc from upstream V8Michaël Zasso
Original commit message: [promise] Implement Swallowed Rejection Hook. This extends the current Promise Rejection Hook with two new events kPromiseRejectAfterResolved kPromiseResolveAfterResolved which are used to detect (and signal) misuse of the Promise constructor. Specifically the common bug like new Promise((res, rej) => { res(1); throw new Error("something") }); where the error is silently swallowed by the Promise constructor without the user ever noticing can be caught via this hook. Doc: https://goo.gl/2stLUY Bug: v8:7919 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I890a7e766cdd1be88db94844fb744f72823dba33 Reviewed-on: https://chromium-review.googlesource.com/1126099 Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#54309} Refs: https://github.com/v8/v8/commit/907d7bcd18c13a04a14eea6699e54167494bf9f9 PR-URL: https://github.com/nodejs/node/pull/21838 Refs: https://github.com/nodejs/promises-debugging/issues/8 Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yang Guo <yangguo@chromium.org> Reviewed-By: Benedikt Meurer <benedikt.meurer@gmail.com>
2018-07-19deps: cherry-pick 2075910 from upstream V8Michaël Zasso
Original commit message: [turbofan] Remove optimization of default Promise capability functions. The JSCallReducer could in theory inline the default resolve and reject functions passed to the executor in the Promise constructor. But that inlining is almost never triggered because we don't have SFI based feedback in the CallIC. Also the use of the Promise constructor is discouraged, so we shouldn't really need to squeeze the last bit of performance out of this even in the future. Getting rid of this optimization will make significantly easier to implement the Swallowed Rejection Hook, as there's less churn on the TurboFan side then. Bug: v8:7919 Change-Id: If0c54f1c6c7ce95686cd74232be6b8693ac688c9 Reviewed-on: https://chromium-review.googlesource.com/1125926 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Cr-Commit-Position: refs/heads/master@{#54210} Refs: https://github.com/v8/v8/commit/2075910f3d070159bebd80e128dd09fdd87be56e PR-URL: https://github.com/nodejs/node/pull/21838 Refs: https://github.com/nodejs/promises-debugging/issues/8 Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Yang Guo <yangguo@chromium.org> Reviewed-By: Benedikt Meurer <benedikt.meurer@gmail.com>
2018-07-15deps: cherry-pick 555c811 from upstream V8Anna Henningsen
Original commit message: [api] Switch from `SetBuildEmbedderGraphCallback` to `AddBuildEmbedderGraphCallback` `SetBuildEmbedderGraphCallback`, unlike `SetWrapperClassInfoProvider`, assumes a monolithic embedder that can provide all necessary information. That is not the case for e.g. Node.js, which can e.g. provide multiple Node.js instances per V8 Isolate, as well as native addons that may allocate resources on their own. Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ib53dfde82416dd69934b08623e27d674a483ac2d Reviewed-on: https://chromium-review.googlesource.com/1082441 Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#53545} Refs: https://github.com/v8/v8/commit/555c811c0d44d9aaaccf8e76059ed24537b3f012 PR-URL: https://github.com/nodejs/node/pull/21741 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com>
2018-07-13deps: patch V8 to 6.7.288.49Myles Borins
PR-URL: https://github.com/nodejs/node/pull/21727 Refs: https://github.com/v8/v8/compare/6.7.288.46...6.7.288.49 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
2018-07-10deps: upgrade to libuv 1.22.0cjihrig
PR-URL: https://github.com/nodejs/node/pull/21731 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
2018-07-11deps: icu 62.1 bump (Unicode 11, CLDR 33.1)Steven R. Loomis
- Full release notes: http://site.icu-project.org/download/62 Fixes: https://github.com/nodejs/node/issues/21452 PR-URL: https://github.com/nodejs/node/pull/21728 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Bradley Farias <bradley.meck@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2018-07-05deps: cherry-pick 477df06 from upstream v8Gus Caplan
Original commit message: [API] Expand BigInt API Provide a more complete BigInt API. Bug: v8:7712 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: Ic8562d616f3125deabdf8b52c7019b191bef0e07 Reviewed-on: chromium-review.googlesource.com/1101198 Commit-Queue: Yang Guo <yangguo@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Cr-Commit-Position: refs/heads/master@{#54122} PR-URL: https://github.com/nodejs/node/pull/21644 Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net>
2018-06-25deps: fix gypi sysroot settings on V8Matheus Marchini
On Node.js v8.x, gn will pass a sysroot parameter to clang to use a downloaded sysroot files while running `make test-v8`. Recently, chromium build tools switched to use Debian sid sysroot files instead of Debian jessie. This patch updates our V8 GYP files to conform with those changes. Ref: https://github.com/nodejs/node/issues/21433 PR-URL: https://github.com/nodejs/node/pull/21494 Refs: https://github.com/nodejs/node/issues/21433 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
2018-06-25deps: float fix on node-gyp in npm treeMyles Borins
This is a fix for filenames that have spaces which currently breaks node-gyp. npm has not yet updated the dependency to the latest version in the mean time we should land this as a patch PR-URL: https://github.com/nodejs/node/pull/21448 Refs: https://github.com/nodejs/node-gyp/pull/1436 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Minwoo Jung <minwoo@nodesource.com>