Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(176)

Issue 1809203007: Linux perf integration with the new support for JIT. (Closed)

Created:
4 years, 9 months ago by Jarin
Modified:
4 years, 8 months ago
CC:
v8-reviews_googlegroups.com, Michael Hablich
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Linux perf integration with the new support for JIT. Difference from --perf-basic-prof: - correctly attributes samples when code space gets reused (when unused code object dies and a new code objects is allocated at the same place). - outputs compiled machine code for instruction-level profile. Just like --perf-basic-prof, the file writer is not synchronized (even worse, there is a per-isolate file handle), so we will run into trouble with multiple isolates. However, this patch is still an improvement on --perf-basic-prof, and it should be fine to replace ll-prof. The patch also introduces experimental support for debug info, but it does not seem to be picked by the perf tool. Usage: You need the perf tool from Linux kernel >4.5. Then run: $ perf record -k mono d8 --perf-prof <your JS file> $ perf inject -j -i perf.data -o perf.data.jitted $ perf report -i perf.data.jitted Some explanations: The "-k mono" switch from "perf record" tells the perf tool to use the monotonic clock for perf sample timestamping. The "perf inject -j" command injects the collected code events into the perf data file, writing the output into perf.data.jitted. The perf report command then creates the report. Committed: https://crrev.com/82e95f597b3563e3c1947d760ba138f67d45bf6a Cr-Commit-Position: refs/heads/master@{#35091}

Patch Set 1 #

Patch Set 2 : Tweaks. #

Total comments: 1

Patch Set 3 : Respect the only_functions flag. #

Patch Set 4 : Fixes #

Unified diffs Side-by-side diffs Delta from patch set Stats (+475 lines, -105 lines) Patch
M BUILD.gn View 1 chunk +2 lines, -0 lines 0 comments Download
M src/base/platform/time.h View 1 1 chunk +0 lines, -7 lines 0 comments Download
M src/base/platform/time.cc View 1 2 chunks +0 lines, -84 lines 0 comments Download
M src/flag-definitions.h View 1 chunk +5 lines, -0 lines 0 comments Download
M src/log.h View 2 chunks +2 lines, -0 lines 0 comments Download
M src/log.cc View 4 chunks +24 lines, -13 lines 0 comments Download
M src/log-utils.h View 1 chunk +1 line, -1 line 0 comments Download
A src/perf-jit.h View 1 2 3 1 chunk +118 lines, -0 lines 0 comments Download
A src/perf-jit.cc View 1 2 3 1 chunk +321 lines, -0 lines 0 comments Download
M tools/gyp/v8.gyp View 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 17 (10 generated)
Jarin
Could you take a look, please?
4 years, 9 months ago (2016-03-27 18:32:19 UTC) #3
Benedikt Meurer
LGTM.
4 years, 8 months ago (2016-03-28 16:52:05 UTC) #7
ofrobots
https://codereview.chromium.org/1809203007/diff/20001/src/perf-jit.cc File src/perf-jit.cc (right): https://codereview.chromium.org/1809203007/diff/20001/src/perf-jit.cc#newcode158 src/perf-jit.cc:158: void PerfJitLogger::LogRecordedBuffer(AbstractCode* abstract_code, Drive-by comment: Similar to PerfBasicLogger, it ...
4 years, 8 months ago (2016-03-28 20:20:40 UTC) #9
Jarin
On 2016/03/28 20:20:40, ofrobots wrote: > https://codereview.chromium.org/1809203007/diff/20001/src/perf-jit.cc > File src/perf-jit.cc (right): > > https://codereview.chromium.org/1809203007/diff/20001/src/perf-jit.cc#newcode158 > ...
4 years, 8 months ago (2016-03-29 05:42:00 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1809203007/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1809203007/60001
4 years, 8 months ago (2016-03-29 06:14:20 UTC) #13
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 8 months ago (2016-03-29 06:24:03 UTC) #15
commit-bot: I haz the power
4 years, 8 months ago (2016-03-29 06:25:41 UTC) #17
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/82e95f597b3563e3c1947d760ba138f67d45bf6a
Cr-Commit-Position: refs/heads/master@{#35091}

Powered by Google App Engine
This is Rietveld 408576698