-
Notifications
You must be signed in to change notification settings - Fork 29.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
deps: cherry-pick commits to be forward-compatible with V8 10.8 #44958
Conversation
targos
commented
Oct 11, 2022
- deps: V8: cherry-pick 8b8703953616
- deps: V8: cherry-pick 3d59a3c2c164
- deps: V8: cherry-pick e7f0f26f5ef3
- deps: V8: cherry-pick c3dffe6e2bda
Original commit message: [API] Remove second OnCriticalMemoryPressure Remove the deprecated OnCriticalMemoryPressure method with receives an informative parameter. R=mlippautz@chromium.org Bug: chromium:634547 Change-Id: I932c3b5030291294dd340362f0b20d374e3067c0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3780533 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#83254} Refs: v8/v8@8b87039
Original commit message: Add option to report discarded allocations in sampling heap profiler A couple of customers have asked about using devtools to get information about temporary allocations, with the goal of reducing GC time and/or peak memory usage. Currently, the sampling heap profiler reports only objects which are still alive at the end of the profiling session. In this change, I propose adding configuration options when starting the sampling heap profiler so that it can optionally include information about objects which were discarded by the GC before the end of the profiling session. A user could run the sampling heap profiler in several different modes depending on their goals: 1. To find memory leaks or determine which functions contribute most to steady-state memory consumption, the current default mode is best. 2. To find functions which cause large temporary memory spikes or large GC pauses, the user can request data about both live objects and those collected by major GC. 3. To tune for minimal GC activity in latency-sensitive applications like real-time audio processing, the user can request data about every allocation, including objects collected by major or minor GC. 4. I'm not sure why anybody would want data about objects collected by minor GC and not objects collected by major GC, but it's also a valid flags combination. Change-Id: If55d5965a1de04fed3ae640a02ca369723f64fdf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3868522 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#83202} Refs: v8/v8@3d59a3c
Original commit message: Don't run sampling-heap-profiler-flags with stress-incremental-marking This test observes GC behavior and needs the garbage collector to work in a somewhat predictable way. Bug: v8:13286 Change-Id: I24e6a4f33a644b5f1845cd34558da03fc196f7e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3898721 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/main@{#83218} Refs: v8/v8@e7f0f26
Original commit message: [api] Expose parsed module source map urls Source map urls can be parsed from the magic comments. Expose them with public apis on the UnboundModuleScript, similar to the UnboundScript. Change-Id: Ia5dfdc8ff25f825c9fa7d241d0d79ba20028586b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3917379 Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Chengzhong Wu (legendecas) <legendecas@gmail.com> Cr-Commit-Position: refs/heads/main@{#83527} Refs: v8/v8@c3dffe6
Review requested:
|
Can I have more reviews? This PR is useless if it doesn't land before v19.0.0 |
Fast-track has been requested by @gengjiawen. Please 👍 to approve. |
Commit Queue failed- Loading data for nodejs/node/pull/44958 ✔ Done loading data for nodejs/node/pull/44958 ----------------------------------- PR info ------------------------------------ Title deps: cherry-pick commits to be forward-compatible with V8 10.8 (#44958) Author Michaël Zasso (@targos) Branch targos:v8-108-forward -> nodejs:main Labels build, v8 engine, fast-track, author ready, needs-ci, dont-land-on-v14.x, dont-land-on-v16.x, dont-land-on-v18.x Commits 4 - deps: V8: cherry-pick 8b8703953616 - deps: V8: cherry-pick 3d59a3c2c164 - deps: V8: cherry-pick e7f0f26f5ef3 - deps: V8: cherry-pick c3dffe6e2bda Committers 1 - Michaël Zasso PR-URL: https://github.com/nodejs/node/pull/44958 Reviewed-By: Jiawen Geng Reviewed-By: Beth Griggs Reviewed-By: Rafael Gonzaga Reviewed-By: Richard Lau ------------------------------ Generated metadata ------------------------------ PR-URL: https://github.com/nodejs/node/pull/44958 Reviewed-By: Jiawen Geng Reviewed-By: Beth Griggs Reviewed-By: Rafael Gonzaga Reviewed-By: Richard Lau -------------------------------------------------------------------------------- ℹ This PR was created on Tue, 11 Oct 2022 07:11:02 GMT ✔ Approvals: 4 ✔ - Jiawen Geng (@gengjiawen): https://github.com/nodejs/node/pull/44958#pullrequestreview-1136991828 ✔ - Beth Griggs (@BethGriggs) (TSC): https://github.com/nodejs/node/pull/44958#pullrequestreview-1138944338 ✔ - Rafael Gonzaga (@RafaelGSS): https://github.com/nodejs/node/pull/44958#pullrequestreview-1138997260 ✔ - Richard Lau (@richardlau) (TSC): https://github.com/nodejs/node/pull/44958#pullrequestreview-1139133325 ℹ This PR is being fast-tracked ✔ Last GitHub CI successful ℹ Last Full PR CI on 2022-10-12T11:53:50Z: https://ci.nodejs.org/job/node-test-pull-request/47217/ ℹ Last V8 CI on 2022-10-11T07:12:45Z: https://ci.nodejs.org/job/node-test-commit-v8-linux/4905/ - Querying data for job/node-test-pull-request/47217/ ✔ Last Jenkins CI successful -------------------------------------------------------------------------------- ✔ No git cherry-pick in progress ✔ No git am in progress ✔ No git rebase in progress -------------------------------------------------------------------------------- - Bringing origin/main up to date... From https://github.com/nodejs/node * branch main -> FETCH_HEAD ✔ origin/main is now up-to-date - Downloading patch for 44958 From https://github.com/nodejs/node * branch refs/pull/44958/merge -> FETCH_HEAD ✔ Fetched commits as 214354fc9f3e..ae1d02cca04f -------------------------------------------------------------------------------- [main 8994a7b20f] deps: V8: cherry-pick 8b8703953616 Author: Michaël Zasso Date: Tue Oct 11 09:00:17 2022 +0200 2 files changed, 1 insertion(+), 13 deletions(-) [main d3450ebe17] deps: V8: cherry-pick 3d59a3c2c164 Author: Michaël Zasso Date: Tue Oct 11 09:04:31 2022 +0200 10 files changed, 135 insertions(+), 9 deletions(-) create mode 100644 deps/v8/test/inspector/heap-profiler/sampling-heap-profiler-flags-expected.txt create mode 100644 deps/v8/test/inspector/heap-profiler/sampling-heap-profiler-flags.js [main 09ca7557e3] deps: V8: cherry-pick e7f0f26f5ef3 Author: Michaël Zasso Date: Tue Oct 11 09:05:51 2022 +0200 2 files changed, 2 insertions(+), 1 deletion(-) [main c25ae8ba0f] deps: V8: cherry-pick c3dffe6e2bda Author: Michaël Zasso Date: Tue Oct 11 09:07:46 2022 +0200 5 files changed, 95 insertions(+), 32 deletions(-) ✔ Patches applied There are 4 commits in the PR. Attempting autorebase. Rebasing (2/8)https://github.com/nodejs/node/actions/runs/3240131344 |
Landed in 214354f...4884746 |
Original commit message: [API] Remove second OnCriticalMemoryPressure Remove the deprecated OnCriticalMemoryPressure method with receives an informative parameter. R=mlippautz@chromium.org Bug: chromium:634547 Change-Id: I932c3b5030291294dd340362f0b20d374e3067c0 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3780533 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#83254} Refs: v8/v8@8b87039 PR-URL: #44958 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Richard Lau <rlau@redhat.com>
Original commit message: Add option to report discarded allocations in sampling heap profiler A couple of customers have asked about using devtools to get information about temporary allocations, with the goal of reducing GC time and/or peak memory usage. Currently, the sampling heap profiler reports only objects which are still alive at the end of the profiling session. In this change, I propose adding configuration options when starting the sampling heap profiler so that it can optionally include information about objects which were discarded by the GC before the end of the profiling session. A user could run the sampling heap profiler in several different modes depending on their goals: 1. To find memory leaks or determine which functions contribute most to steady-state memory consumption, the current default mode is best. 2. To find functions which cause large temporary memory spikes or large GC pauses, the user can request data about both live objects and those collected by major GC. 3. To tune for minimal GC activity in latency-sensitive applications like real-time audio processing, the user can request data about every allocation, including objects collected by major or minor GC. 4. I'm not sure why anybody would want data about objects collected by minor GC and not objects collected by major GC, but it's also a valid flags combination. Change-Id: If55d5965a1de04fed3ae640a02ca369723f64fdf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3868522 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/main@{#83202} Refs: v8/v8@3d59a3c PR-URL: #44958 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Richard Lau <rlau@redhat.com>
Original commit message: Don't run sampling-heap-profiler-flags with stress-incremental-marking This test observes GC behavior and needs the garbage collector to work in a somewhat predictable way. Bug: v8:13286 Change-Id: I24e6a4f33a644b5f1845cd34558da03fc196f7e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3898721 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/main@{#83218} Refs: v8/v8@e7f0f26 PR-URL: #44958 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Richard Lau <rlau@redhat.com>
Original commit message: [api] Expose parsed module source map urls Source map urls can be parsed from the magic comments. Expose them with public apis on the UnboundModuleScript, similar to the UnboundScript. Change-Id: Ia5dfdc8ff25f825c9fa7d241d0d79ba20028586b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3917379 Reviewed-by: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Chengzhong Wu (legendecas) <legendecas@gmail.com> Cr-Commit-Position: refs/heads/main@{#83527} Refs: v8/v8@c3dffe6 PR-URL: #44958 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com> Reviewed-By: Richard Lau <rlau@redhat.com>