Skip to content
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

[8.x] deps: V8: backport 20 CPU profiler commits from upstream #21558

Conversation

Projects
None yet
@psmarshall
Copy link
Contributor

commented Jun 27, 2018

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines

@ofrobots

[cpu-profiler] Fix bugs and add tests for JITLineInfoTable
https://chromium.googlesource.com/v8/v8/+/4feb5ce7fd5ef8c933f3f5dff2eca1173f85c1e9

[cpu-profiler] Fix incorrect line number calculation.
https://chromium.googlesource.com/v8/v8/+/ddb2856f39632f9e9f623d3cdb4600e636172031

[cpu-profiler] Use std::unordered_map for hashmaps.
https://chromium.googlesource.com/v8/v8/+/35985ce6abc80b85264fe3b87b246fed5f1806e6

[cpu-profiler] Do not store CodeEntries between profiling sessions.
https://chromium.googlesource.com/v8/v8.git/+/8ec48b2117b8092c4956f1ee11a0c85bec3ba1f8

[cpu-profiler] Remove name_prefix field from CodeEntry
https://chromium.googlesource.com/v8/v8.git/+/6f72af25fe43218b60c68129073ddcddb631566e

[cpu-profiler] Extract rare used fields of CodeEntry to an optional object.
https://chromium.googlesource.com/v8/v8.git/+/fcc1ebb55aab38013855834f556f6e874e0eb8b3

[profiler] Refactoring: decouple StringsStorage from Heap object.
https://chromium.googlesource.com/v8/v8/+/a31320f59c911a277566d6c2fa0b0f2ac83e0748

[cpu-profiler] Add a HandleScope to limit memory consumption.
https://chromium.googlesource.com/v8/v8.git/+/3e9f8a4f635e2d946651d6a4df81378266f32dc9

[cpu-profiler] Lazily create CPU profiler.
https://chromium.googlesource.com/v8/v8/+/1426ea1d6d45be0b4d9476bdb5bf3f27cfe578a0

[cpu-profiler] turn several std::map's into unordered_map's.
https://chromium.googlesource.com/v8/v8/+/3ed5dfb8a3cbc7aa0017bd01c2fdd6227485b8ad

[cpu-profiler] Eagerly delete not used CodeEntry'es
https://chromium.googlesource.com/v8/v8.git/+/c6c28f7a412a88df12055e953630a9e93cc64d49

[cpu-profiler] Move bailout reason into rare_info struct
https://chromium.googlesource.com/v8/v8.git/+/29ea4d1ef5360e71c61ecf8db6a5a0a0c3391fd1

[cpu-profiler] Save space in the SourcePositionTable by using a vector.
https://chromium.googlesource.com/v8/v8.git/+/1cb19f0e0a93adbac8c11bc906f951bd8098722d

[cpu-profiler] Only store deopt inline frames for functions that need it
https://chromium.googlesource.com/v8/v8.git/+/0bfcbdd4726920755e51dab28c18ab93e050819b

[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] Use instruction start as the key for the CodeMap
https://chromium.googlesource.com/v8/v8.git/+/ba752ea4c50713dff1e94f45a79db3ba968a8d66

@psmarshall psmarshall force-pushed the psmarshall:backport-cpu-profiler-to-v8.x branch from 4e8e721 to d5ce285 Jun 27, 2018

@ofrobots

This comment has been minimized.

Copy link
Contributor

commented Jun 27, 2018

CI: https://ci.nodejs.org/job/node-test-pull-request/15653/
Will launch V8-CI once #21433 is resolved.

@ofrobots

This comment has been minimized.

Copy link
Contributor

commented Jun 27, 2018

The V8 version in v8-version.h will need to be bumped.

/cc @nodejs/v8-update

@ofrobots

This comment has been minimized.

Copy link
Contributor

commented Jun 27, 2018

@psmarshall psmarshall force-pushed the psmarshall:backport-cpu-profiler-to-v8.x branch 3 times, most recently from 4b64845 to a2ae646 Jul 2, 2018

@psmarshall

This comment has been minimized.

Copy link
Contributor Author

commented Jul 2, 2018

Thanks, bumped v8-version

@ofrobots

This comment has been minimized.

Copy link
Contributor

commented Jul 2, 2018

CI is green. V8-CI is functional now, so here's a launch: https://ci.nodejs.org/view/All/job/node-test-commit-v8-linux/1504/

/fyi @nodejs/diagnostics: This improves the memory overhead of the CPU profiler. These fixes are available on 10 (all commits except the last one are in V8 6.7), and this PR backports them to Node 8.

/cc @nodejs/lts.

@mcollina
Copy link
Member

left a comment

rubberstamp LGTM

@hashseed

This comment has been minimized.

Copy link
Member

commented Jul 3, 2018

The V8 version in v8-version.h will need to be bumped.

I thought we bump the embedder string for backmerges.

@targos

This comment has been minimized.

Copy link
Member

commented Jul 3, 2018

@hashseed the embedder string doesn't exist in v8.x

@MylesBorins
Copy link
Member

left a comment

LGTM

MylesBorins added a commit that referenced this pull request Jul 9, 2018

deps: V8: backport 14 CPU profiler commits from upstream
[cpu-profiler] Fix bugs and add tests for JITLineInfoTable
https://chromium.googlesource.com/v8/v8/+/4feb5ce7fd5ef8c933f3f5dff2eca1173f85c1e9

[cpu-profiler] Fix incorrect line number calculation.
https://chromium.googlesource.com/v8/v8/+/ddb2856f39632f9e9f623d3cdb4600e636172031

[cpu-profiler] Use std::unordered_map for hashmaps.
https://chromium.googlesource.com/v8/v8/+/35985ce6abc80b85264fe3b87b246fed5f1806e6

[cpu-profiler] Do not store CodeEntries between profiling sessions.
https://chromium.googlesource.com/v8/v8.git/+/8ec48b2117b8092c4956f1ee11a0c85bec3ba1f8

[cpu-profiler] Remove name_prefix field from CodeEntry
https://chromium.googlesource.com/v8/v8.git/+/6f72af25fe43218b60c68129073ddcddb631566e

[cpu-profiler] Extract rare used fields of CodeEntry to an optional object.
https://chromium.googlesource.com/v8/v8.git/+/fcc1ebb55aab38013855834f556f6e874e0eb8b3

[profiler] Refactoring: decouple StringsStorage from Heap object.
https://chromium.googlesource.com/v8/v8/+/a31320f59c911a277566d6c2fa0b0f2ac83e0748

[cpu-profiler] Add a HandleScope to limit memory consumption.
https://chromium.googlesource.com/v8/v8.git/+/3e9f8a4f635e2d946651d6a4df81378266f32dc9

[cpu-profiler] Lazily create CPU profiler.
https://chromium.googlesource.com/v8/v8/+/1426ea1d6d45be0b4d9476bdb5bf3f27cfe578a0

[cpu-profiler] turn several std::map's into unordered_map's.
https://chromium.googlesource.com/v8/v8/+/3ed5dfb8a3cbc7aa0017bd01c2fdd6227485b8ad

[cpu-profiler] Eagerly delete not used CodeEntry'es
https://chromium.googlesource.com/v8/v8.git/+/c6c28f7a412a88df12055e953630a9e93cc64d49

[cpu-profiler] Move bailout reason into rare_info struct
https://chromium.googlesource.com/v8/v8.git/+/29ea4d1ef5360e71c61ecf8db6a5a0a0c3391fd1

[cpu-profiler] Save space in the SourcePositionTable by using a vector.
https://chromium.googlesource.com/v8/v8.git/+/1cb19f0e0a93adbac8c11bc906f951bd8098722d

[cpu-profiler] Only store deopt inline frames for functions that need it
https://chromium.googlesource.com/v8/v8.git/+/0bfcbdd4726920755e51dab28c18ab93e050819b

PR-URL: #21558
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
@MylesBorins

This comment has been minimized.

Copy link
Member

commented Jul 9, 2018

landed in b57ad02

@MylesBorins MylesBorins closed this Jul 9, 2018

@MylesBorins MylesBorins referenced this pull request Jul 9, 2018

Merged

v8.12.0 proposal #21593

@ofrobots ofrobots referenced this pull request Jul 9, 2018

Closed

[8.x] deps: V8: backport 49712d8a from upstream #21334

2 of 2 tasks complete
@ofrobots

This comment has been minimized.

Copy link
Contributor

commented Jul 9, 2018

Oops, I messed. I intended to add this comment here, but put it on the wrong issue: #21334 (comment).

Actually, I was mistaken, these fixes not in 10 just yet. They are in V8 6.8 (rather than 6.7). Let's hold off on landing this until a 10.x release picks them up.

@ofrobots

This comment has been minimized.

Copy link
Contributor

commented Jul 9, 2018

@MylesBorins is it possible to revert these commits from 8.x?

@MylesBorins MylesBorins reopened this Jul 10, 2018

@MylesBorins

This comment has been minimized.

Copy link
Member

commented Jul 10, 2018

I've backed the commit out of staging and the 8.12.0 proposal

@ofrobots

This comment has been minimized.

Copy link
Contributor

commented Jul 10, 2018

Thanks. I've added the in progress label to make sure it doesn't get re-landed until it is time.

@psmarshall

This comment has been minimized.

Copy link
Contributor Author

commented Jul 24, 2018

Note to self: Add this one too if it's fine on 10, it's the new API:
https://chromium.googlesource.com/v8/v8/+/ecae80cdb350dde1e654c531b56f5b6c44dc8c77

@hashseed

This comment has been minimized.

Copy link
Member

commented Jul 24, 2018

I don't have any technical objections against the new API.

@psmarshall psmarshall force-pushed the psmarshall:backport-cpu-profiler-to-v8.x branch from a2ae646 to 5f19136 Jul 30, 2018

@psmarshall psmarshall changed the title [8.x] deps: V8: backport 14 CPU profiler commits from upstream [8.x] deps: V8: backport 17 CPU profiler commits from upstream Jul 30, 2018

@rvagg rvagg force-pushed the nodejs:v8.x-staging branch from 0c9760d to ee9dab7 Aug 16, 2018

@MylesBorins MylesBorins force-pushed the nodejs:v8.x-staging branch from ee9dab7 to 69efa9f Aug 16, 2018

@MylesBorins

This comment has been minimized.

Copy link
Member

commented Aug 17, 2018

@psmarshall would you be able to rebase? Are these commits now out in the wild as of the latest 10.x?

@psmarshall

This comment has been minimized.

Copy link
Contributor Author

commented Aug 22, 2018

@MylesBorins They aren't released yet: still waiting on #22028. I'll rebase 👍

@Flarna

This comment has been minimized.

Copy link
Member

commented Sep 25, 2018

@psmarshall any chance that this is continued?

I created #23070 yesterday and according to @ofrobots this PR should fix this.

@psmarshall psmarshall force-pushed the psmarshall:backport-cpu-profiler-to-v8.x branch from 4fc6108 to d191d39 Sep 25, 2018

@psmarshall

This comment has been minimized.

Copy link
Contributor Author

commented Sep 25, 2018

@Flarna I've just rebased this and the changes have landed in Node 10 so we are good to go with this PR 👍

@MylesBorins I'm ready to land 🚀

@MylesBorins

This comment has been minimized.

Copy link
Member

commented Sep 25, 2018

Let's do one more round of CI and then land

V8-CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/1714/

@BethGriggs

This comment has been minimized.

Copy link
Member

commented Oct 2, 2018

@MylesBorins

This comment has been minimized.

Copy link
Member

commented Oct 2, 2018

looks like compilation errors

11:22:43 make[2]: *** [/home/iojs/build/workspace/node-test-commit-v8-linux/nodes/ubuntu1604-intel-64/v8test/v8test/deps/v8/out/x64.release/obj.target/cctest/test/cctest/test-log.o] Error 1
11:22:43 make[2]: *** Waiting for unfinished jobs....
11:22:43 12 errors generated.
11:22:43 test/cctest/cctest.target.x64.release.mk:370: recipe for target '/home/iojs/build/workspace/node-test-commit-v8-linux/nodes/ubuntu1604-intel-64/v8test/v8test/deps/v8/out/x64.release/obj.target/cctest/test/cctest/test-cpu-profiler.o' failed
11:22:43 make[2]: *** [/home/iojs/build/workspace/node-test-commit-v8-linux/nodes/ubuntu1604-intel-64/v8test/v8test/deps/v8/out/x64.release/obj.target/cctest/test/cctest/test-cpu-profiler.o] Error 1
11:22:43 2 errors generated.
11:22:43 test/cctest/cctest.target.x64.release.mk:370: recipe for target '/home/iojs/build/workspace/node-test-commit-v8-linux/nodes/ubuntu1604-intel-64/v8test/v8test/deps/v8/out/x64.release/obj.target/cctest/test/cctest/test-profile-generator.o' failed
11:22:43 make[2]: *** [/home/iojs/build/workspace/node-test-commit-v8-linux/nodes/ubuntu1604-intel-64/v8test/v8test/deps/v8/out/x64.release/obj.target/cctest/test/cctest/test-profile-generator.o] Error 1
11:22:56 rm bdc92efe44eca1954fdff70fd086c7e138d0fbb1.intermediate
11:22:56 Makefile:319: recipe for target 'x64.release' failed
11:22:56 make[1]: *** [x64.release] Error 2
11:22:56 Makefile:215: recipe for target 'v8' failed
11:22:56 make: *** [v8] Error 2
11:22:56 Build step 'Execute shell' marked build as failure
11:22:56 Recording test results

/cc @psmarshall @hashseed

deps: V8: backport 20 CPU profiler commits from upstream
[cpu-profiler] Fix bugs and add tests for JITLineInfoTable
https://chromium.googlesource.com/v8/v8/+/4feb5ce7fd5ef8c933f3f5dff2eca1173f85c1e9

[cpu-profiler] Fix incorrect line number calculation.
https://chromium.googlesource.com/v8/v8/+/ddb2856f39632f9e9f623d3cdb4600e636172031

[cpu-profiler] Use std::unordered_map for hashmaps.
https://chromium.googlesource.com/v8/v8/+/35985ce6abc80b85264fe3b87b246fed5f1806e6

[cpu-profiler] Do not store CodeEntries between profiling sessions.
https://chromium.googlesource.com/v8/v8.git/+/8ec48b2117b8092c4956f1ee11a0c85bec3ba1f8

[cpu-profiler] Remove name_prefix field from CodeEntry
https://chromium.googlesource.com/v8/v8.git/+/6f72af25fe43218b60c68129073ddcddb631566e

[cpu-profiler] Extract rare used fields of CodeEntry to an optional object.
https://chromium.googlesource.com/v8/v8.git/+/fcc1ebb55aab38013855834f556f6e874e0eb8b3

[profiler] Refactoring: decouple StringsStorage from Heap object.
https://chromium.googlesource.com/v8/v8/+/a31320f59c911a277566d6c2fa0b0f2ac83e0748

[cpu-profiler] Add a HandleScope to limit memory consumption.
https://chromium.googlesource.com/v8/v8.git/+/3e9f8a4f635e2d946651d6a4df81378266f32dc9

[cpu-profiler] Lazily create CPU profiler.
https://chromium.googlesource.com/v8/v8/+/1426ea1d6d45be0b4d9476bdb5bf3f27cfe578a0

[cpu-profiler] turn several std::map's into unordered_map's.
https://chromium.googlesource.com/v8/v8/+/3ed5dfb8a3cbc7aa0017bd01c2fdd6227485b8ad

[cpu-profiler] Eagerly delete not used CodeEntry'es
https://chromium.googlesource.com/v8/v8.git/+/c6c28f7a412a88df12055e953630a9e93cc64d49

[cpu-profiler] Move bailout reason into rare_info struct
https://chromium.googlesource.com/v8/v8.git/+/29ea4d1ef5360e71c61ecf8db6a5a0a0c3391fd1

[cpu-profiler] Save space in the SourcePositionTable by using a vector.
https://chromium.googlesource.com/v8/v8.git/+/1cb19f0e0a93adbac8c11bc906f951bd8098722d

[cpu-profiler] Only store deopt inline frames for functions that need it
https://chromium.googlesource.com/v8/v8.git/+/0bfcbdd4726920755e51dab28c18ab93e050819b

[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] Use instruction start as the key for the CodeMap
https://chromium.googlesource.com/v8/v8.git/+/ba752ea4c50713dff1e94f45a79db3ba968a8d66

[cpu-profiler] Add flag to always generate accurate line info.
https://chromium.googlesource.com/v8/v8/+/56baf56790de439b3f69e887e94beb3b301ed77c

[cpu-profiler] Turn on detailed line info for optimized code
https://chromium.googlesource.com/v8/v8/+/84894ce6d2af7feb9e1f5574409355120887326c

[cpu-profiler] Separate the flags for generating extra line information
https://chromium.googlesource.com/v8/v8/+/30ff6719db441cc7ef220d449970cc169067e256

@psmarshall psmarshall force-pushed the psmarshall:backport-cpu-profiler-to-v8.x branch from d191d39 to 79bacf9 Oct 4, 2018

@psmarshall psmarshall changed the title [8.x] deps: V8: backport 17 CPU profiler commits from upstream [8.x] deps: V8: backport 20 CPU profiler commits from upstream Oct 4, 2018

@psmarshall

This comment has been minimized.

Copy link
Contributor Author

commented Oct 4, 2018

@MylesBorins Thanks, the cctest build was failing, I fixed a few issues there and it passes locally now. I added this backport (#22688) that we did to v10.x, too.

@rvagg

rvagg approved these changes Oct 4, 2018

@rvagg

This comment has been minimized.

Copy link
Member

commented Oct 4, 2018

debian8 failure unrelated (although concerning), this seems good to go

@Trott

This comment has been minimized.

Copy link
Member

commented Oct 11, 2018

Linux CI rebuild: https://ci.nodejs.org/job/node-test-commit-linux/22248/

I think (once that is green/yellow) this is good to land? Or...? /ping @BethGriggs @MylesBorins

BethGriggs added a commit that referenced this pull request Oct 12, 2018

deps: V8: backport 20 CPU profiler commits from upstream
[cpu-profiler] Fix bugs and add tests for JITLineInfoTable
https://chromium.googlesource.com/v8/v8/+/4feb5ce7fd5ef8c933f3f5dff2eca1173f85c1e9

[cpu-profiler] Fix incorrect line number calculation.
https://chromium.googlesource.com/v8/v8/+/ddb2856f39632f9e9f623d3cdb4600e636172031

[cpu-profiler] Use std::unordered_map for hashmaps.
https://chromium.googlesource.com/v8/v8/+/35985ce6abc80b85264fe3b87b246fed5f1806e6

[cpu-profiler] Do not store CodeEntries between profiling sessions.
https://chromium.googlesource.com/v8/v8.git/+/8ec48b2117b8092c4956f1ee11a0c85bec3ba1f8

[cpu-profiler] Remove name_prefix field from CodeEntry
https://chromium.googlesource.com/v8/v8.git/+/6f72af25fe43218b60c68129073ddcddb631566e

[cpu-profiler] Extract rare used fields of CodeEntry to an optional object.
https://chromium.googlesource.com/v8/v8.git/+/fcc1ebb55aab38013855834f556f6e874e0eb8b3

[profiler] Refactoring: decouple StringsStorage from Heap object.
https://chromium.googlesource.com/v8/v8/+/a31320f59c911a277566d6c2fa0b0f2ac83e0748

[cpu-profiler] Add a HandleScope to limit memory consumption.
https://chromium.googlesource.com/v8/v8.git/+/3e9f8a4f635e2d946651d6a4df81378266f32dc9

[cpu-profiler] Lazily create CPU profiler.
https://chromium.googlesource.com/v8/v8/+/1426ea1d6d45be0b4d9476bdb5bf3f27cfe578a0

[cpu-profiler] turn several std::map's into unordered_map's.
https://chromium.googlesource.com/v8/v8/+/3ed5dfb8a3cbc7aa0017bd01c2fdd6227485b8ad

[cpu-profiler] Eagerly delete not used CodeEntry'es
https://chromium.googlesource.com/v8/v8.git/+/c6c28f7a412a88df12055e953630a9e93cc64d49

[cpu-profiler] Move bailout reason into rare_info struct
https://chromium.googlesource.com/v8/v8.git/+/29ea4d1ef5360e71c61ecf8db6a5a0a0c3391fd1

[cpu-profiler] Save space in the SourcePositionTable by using a vector.
https://chromium.googlesource.com/v8/v8.git/+/1cb19f0e0a93adbac8c11bc906f951bd8098722d

[cpu-profiler] Only store deopt inline frames for functions that need it
https://chromium.googlesource.com/v8/v8.git/+/0bfcbdd4726920755e51dab28c18ab93e050819b

[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] Use instruction start as the key for the CodeMap
https://chromium.googlesource.com/v8/v8.git/+/ba752ea4c50713dff1e94f45a79db3ba968a8d66

[cpu-profiler] Add flag to always generate accurate line info.
https://chromium.googlesource.com/v8/v8/+/56baf56790de439b3f69e887e94beb3b301ed77c

[cpu-profiler] Turn on detailed line info for optimized code
https://chromium.googlesource.com/v8/v8/+/84894ce6d2af7feb9e1f5574409355120887326c

[cpu-profiler] Separate the flags for generating extra line information
https://chromium.googlesource.com/v8/v8/+/30ff6719db441cc7ef220d449970cc169067e256

Backport-PR-URL: #21558
PR-URL: #21558
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Rod Vagg <rod@vagg.org>
@BethGriggs

This comment has been minimized.

Copy link
Member

commented Oct 12, 2018

Landed in 48f31bd v8.x-staging

@BethGriggs BethGriggs closed this Oct 12, 2018

BethGriggs added a commit that referenced this pull request Oct 12, 2018

deps: V8: backport 20 CPU profiler commits from upstream
[cpu-profiler] Fix bugs and add tests for JITLineInfoTable
https://chromium.googlesource.com/v8/v8/+/4feb5ce7fd5ef8c933f3f5dff2eca1173f85c1e9

[cpu-profiler] Fix incorrect line number calculation.
https://chromium.googlesource.com/v8/v8/+/ddb2856f39632f9e9f623d3cdb4600e636172031

[cpu-profiler] Use std::unordered_map for hashmaps.
https://chromium.googlesource.com/v8/v8/+/35985ce6abc80b85264fe3b87b246fed5f1806e6

[cpu-profiler] Do not store CodeEntries between profiling sessions.
https://chromium.googlesource.com/v8/v8.git/+/8ec48b2117b8092c4956f1ee11a0c85bec3ba1f8

[cpu-profiler] Remove name_prefix field from CodeEntry
https://chromium.googlesource.com/v8/v8.git/+/6f72af25fe43218b60c68129073ddcddb631566e

[cpu-profiler] Extract rare used fields of CodeEntry to an optional object.
https://chromium.googlesource.com/v8/v8.git/+/fcc1ebb55aab38013855834f556f6e874e0eb8b3

[profiler] Refactoring: decouple StringsStorage from Heap object.
https://chromium.googlesource.com/v8/v8/+/a31320f59c911a277566d6c2fa0b0f2ac83e0748

[cpu-profiler] Add a HandleScope to limit memory consumption.
https://chromium.googlesource.com/v8/v8.git/+/3e9f8a4f635e2d946651d6a4df81378266f32dc9

[cpu-profiler] Lazily create CPU profiler.
https://chromium.googlesource.com/v8/v8/+/1426ea1d6d45be0b4d9476bdb5bf3f27cfe578a0

[cpu-profiler] turn several std::map's into unordered_map's.
https://chromium.googlesource.com/v8/v8/+/3ed5dfb8a3cbc7aa0017bd01c2fdd6227485b8ad

[cpu-profiler] Eagerly delete not used CodeEntry'es
https://chromium.googlesource.com/v8/v8.git/+/c6c28f7a412a88df12055e953630a9e93cc64d49

[cpu-profiler] Move bailout reason into rare_info struct
https://chromium.googlesource.com/v8/v8.git/+/29ea4d1ef5360e71c61ecf8db6a5a0a0c3391fd1

[cpu-profiler] Save space in the SourcePositionTable by using a vector.
https://chromium.googlesource.com/v8/v8.git/+/1cb19f0e0a93adbac8c11bc906f951bd8098722d

[cpu-profiler] Only store deopt inline frames for functions that need it
https://chromium.googlesource.com/v8/v8.git/+/0bfcbdd4726920755e51dab28c18ab93e050819b

[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] Use instruction start as the key for the CodeMap
https://chromium.googlesource.com/v8/v8.git/+/ba752ea4c50713dff1e94f45a79db3ba968a8d66

[cpu-profiler] Add flag to always generate accurate line info.
https://chromium.googlesource.com/v8/v8/+/56baf56790de439b3f69e887e94beb3b301ed77c

[cpu-profiler] Turn on detailed line info for optimized code
https://chromium.googlesource.com/v8/v8/+/84894ce6d2af7feb9e1f5574409355120887326c

[cpu-profiler] Separate the flags for generating extra line information
https://chromium.googlesource.com/v8/v8/+/30ff6719db441cc7ef220d449970cc169067e256

Backport-PR-URL: #21558
PR-URL: #21558
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Rod Vagg <rod@vagg.org>

BethGriggs added a commit to BethGriggs/node that referenced this pull request Oct 16, 2018

deps: V8: backport 20 CPU profiler commits from upstream
[cpu-profiler] Fix bugs and add tests for JITLineInfoTable
https://chromium.googlesource.com/v8/v8/+/4feb5ce7fd5ef8c933f3f5dff2eca1173f85c1e9

[cpu-profiler] Fix incorrect line number calculation.
https://chromium.googlesource.com/v8/v8/+/ddb2856f39632f9e9f623d3cdb4600e636172031

[cpu-profiler] Use std::unordered_map for hashmaps.
https://chromium.googlesource.com/v8/v8/+/35985ce6abc80b85264fe3b87b246fed5f1806e6

[cpu-profiler] Do not store CodeEntries between profiling sessions.
https://chromium.googlesource.com/v8/v8.git/+/8ec48b2117b8092c4956f1ee11a0c85bec3ba1f8

[cpu-profiler] Remove name_prefix field from CodeEntry
https://chromium.googlesource.com/v8/v8.git/+/6f72af25fe43218b60c68129073ddcddb631566e

[cpu-profiler] Extract rare used fields of CodeEntry to an optional object.
https://chromium.googlesource.com/v8/v8.git/+/fcc1ebb55aab38013855834f556f6e874e0eb8b3

[profiler] Refactoring: decouple StringsStorage from Heap object.
https://chromium.googlesource.com/v8/v8/+/a31320f59c911a277566d6c2fa0b0f2ac83e0748

[cpu-profiler] Add a HandleScope to limit memory consumption.
https://chromium.googlesource.com/v8/v8.git/+/3e9f8a4f635e2d946651d6a4df81378266f32dc9

[cpu-profiler] Lazily create CPU profiler.
https://chromium.googlesource.com/v8/v8/+/1426ea1d6d45be0b4d9476bdb5bf3f27cfe578a0

[cpu-profiler] turn several std::map's into unordered_map's.
https://chromium.googlesource.com/v8/v8/+/3ed5dfb8a3cbc7aa0017bd01c2fdd6227485b8ad

[cpu-profiler] Eagerly delete not used CodeEntry'es
https://chromium.googlesource.com/v8/v8.git/+/c6c28f7a412a88df12055e953630a9e93cc64d49

[cpu-profiler] Move bailout reason into rare_info struct
https://chromium.googlesource.com/v8/v8.git/+/29ea4d1ef5360e71c61ecf8db6a5a0a0c3391fd1

[cpu-profiler] Save space in the SourcePositionTable by using a vector.
https://chromium.googlesource.com/v8/v8.git/+/1cb19f0e0a93adbac8c11bc906f951bd8098722d

[cpu-profiler] Only store deopt inline frames for functions that need it
https://chromium.googlesource.com/v8/v8.git/+/0bfcbdd4726920755e51dab28c18ab93e050819b

[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] Use instruction start as the key for the CodeMap
https://chromium.googlesource.com/v8/v8.git/+/ba752ea4c50713dff1e94f45a79db3ba968a8d66

[cpu-profiler] Add flag to always generate accurate line info.
https://chromium.googlesource.com/v8/v8/+/56baf56790de439b3f69e887e94beb3b301ed77c

[cpu-profiler] Turn on detailed line info for optimized code
https://chromium.googlesource.com/v8/v8/+/84894ce6d2af7feb9e1f5574409355120887326c

[cpu-profiler] Separate the flags for generating extra line information
https://chromium.googlesource.com/v8/v8/+/30ff6719db441cc7ef220d449970cc169067e256

Backport-PR-URL: nodejs#21558
PR-URL: nodejs#21558
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
Reviewed-By: Yang Guo <yangguo@chromium.org>
Reviewed-By: Rod Vagg <rod@vagg.org>

@BethGriggs BethGriggs referenced this pull request Oct 30, 2018

Merged

v8.13.0 proposal #23974

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.