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

Issue 1728593002: [Interpreter] Add support for cpu profiler logging. (Closed)

Created:
4 years, 10 months ago by rmcilroy
Modified:
4 years, 10 months ago
Reviewers:
Benedikt Meurer, ulan, Yang
CC:
v8-reviews_googlegroups.com, Hannes Payer (out of office), ulan
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[Interpreter] Add support for cpu profiler logging. Adds support for cpu profiler logging to the interpreter. Modifies the the API to be passed AbstractCode objects instead of Code objects, and adds extra functions to AbstractCode which is required by log.cc and cpu-profiler.cc. The main change in sampler.cc is to determine if a stack frame is an interpreter stack frame, and if so, use the bytecode address as the pc for that frame. This allows sampling of bytecode functions. This requires adding support to SafeStackIterator to determine if a frame is interpreted, which we do by checking the PC against pre-stored addresses for the start and end of interpreter entry builtins. Also removes CodeDeleteEvents which are dead code and haven't been reported for some time. Still to do is tracking source positions which will be done in a followup CL. BUG=v8:4766 LOG=N Committed: https://crrev.com/cb29f9cdbceace4e8ea3a9701e421acea3ff9c6d Cr-Commit-Position: refs/heads/master@{#34321}

Patch Set 1 : #

Total comments: 1

Patch Set 2 : #

Total comments: 8

Patch Set 3 : Address review feedback #

Total comments: 1

Patch Set 4 : Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+439 lines, -470 lines) Patch
M src/builtins.cc View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M src/code-stubs.cc View 3 1 chunk +2 lines, -1 line 0 comments Download
M src/compiler.h View 1 chunk +5 lines, -0 lines 0 comments Download
M src/compiler.cc View 1 2 3 4 chunks +7 lines, -8 lines 0 comments Download
M src/compiler/code-generator.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M src/compiler/wasm-compiler.cc View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M src/crankshaft/lithium.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/frames.cc View 1 2 3 2 chunks +14 lines, -0 lines 0 comments Download
M src/full-codegen/full-codegen.cc View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M src/heap/mark-compact.cc View 1 2 3 2 chunks +4 lines, -13 lines 0 comments Download
M src/heap/spaces.cc View 1 2 3 1 chunk +0 lines, -2 lines 0 comments Download
M src/ic/handler-compiler.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/ic/ic-compiler.cc View 3 6 chunks +12 lines, -7 lines 0 comments Download
M src/log.h View 1 2 4 chunks +50 lines, -72 lines 0 comments Download
M src/log.cc View 1 2 3 30 chunks +119 lines, -197 lines 0 comments Download
M src/objects.h View 1 2 3 3 chunks +35 lines, -1 line 0 comments Download
M src/objects.cc View 1 2 3 1 chunk +4 lines, -2 lines 0 comments Download
M src/objects-inl.h View 1 2 3 4 chunks +55 lines, -1 line 0 comments Download
M src/profiler/cpu-profiler.h View 1 2 2 chunks +23 lines, -24 lines 0 comments Download
M src/profiler/cpu-profiler.cc View 1 2 8 chunks +31 lines, -38 lines 0 comments Download
M src/profiler/profile-generator.cc View 1 chunk +1 line, -0 lines 0 comments Download
M src/profiler/sampler.cc View 1 chunk +12 lines, -1 line 0 comments Download
M src/regexp/arm/regexp-macro-assembler-arm.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/regexp/arm64/regexp-macro-assembler-arm64.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/regexp/ia32/regexp-macro-assembler-ia32.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/regexp/mips/regexp-macro-assembler-mips.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/regexp/mips64/regexp-macro-assembler-mips64.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/regexp/ppc/regexp-macro-assembler-ppc.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/regexp/x64/regexp-macro-assembler-x64.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/regexp/x87/regexp-macro-assembler-x87.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/runtime/runtime-function.cc View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M src/snapshot/serialize.cc View 1 2 3 chunks +8 lines, -10 lines 0 comments Download
M test/cctest/cctest.status View 1 2 3 2 chunks +0 lines, -27 lines 0 comments Download
M test/cctest/test-cpu-profiler.cc View 10 chunks +21 lines, -27 lines 0 comments Download
M test/cctest/test-log.cc View 1 2 1 chunk +5 lines, -6 lines 0 comments Download
M test/cctest/test-log-stack-tracer.cc View 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-profile-generator.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M tools/ll_prof.py View 1 2 2 chunks +0 lines, -14 lines 0 comments Download

Depends on Patchset:

Dependent Patchsets:

Messages

Total messages: 40 (17 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1728593002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1728593002/1
4 years, 10 months ago (2016-02-23 15:47:11 UTC) #2
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_arm_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm_rel/builds/14176) v8_linux_mips64el_compile_rel on ...
4 years, 10 months ago (2016-02-23 15:49:02 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1728593002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1728593002/20001
4 years, 10 months ago (2016-02-23 18:02:56 UTC) #6
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_mips64el_compile_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_mips64el_compile_rel/builds/10630)
4 years, 10 months ago (2016-02-23 18:21:32 UTC) #8
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1728593002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1728593002/40001
4 years, 10 months ago (2016-02-23 18:50:46 UTC) #12
rmcilroy
Yang: Please take a look at everything Benedikt: Please take a look at compiler/, crankshaft/ ...
4 years, 10 months ago (2016-02-23 18:52:55 UTC) #14
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 10 months ago (2016-02-23 19:18:56 UTC) #16
rmcilroy
Ping?
4 years, 10 months ago (2016-02-25 10:42:04 UTC) #17
Benedikt Meurer
LGTM on ic, compiler and crankshaft.
4 years, 10 months ago (2016-02-25 10:56:46 UTC) #18
ulan
https://codereview.chromium.org/1728593002/diff/60001/src/heap/mark-compact.cc File src/heap/mark-compact.cc (right): https://codereview.chromium.org/1728593002/diff/60001/src/heap/mark-compact.cc#newcode3886 src/heap/mark-compact.cc:3886: if (obj->IsCode() && obj->IsBytecodeArray()) { This condition seems to ...
4 years, 10 months ago (2016-02-25 11:03:59 UTC) #19
rmcilroy
https://codereview.chromium.org/1728593002/diff/60001/src/heap/mark-compact.cc File src/heap/mark-compact.cc (right): https://codereview.chromium.org/1728593002/diff/60001/src/heap/mark-compact.cc#newcode3886 src/heap/mark-compact.cc:3886: if (obj->IsCode() && obj->IsBytecodeArray()) { On 2016/02/25 11:03:59, ulan ...
4 years, 10 months ago (2016-02-25 11:46:54 UTC) #20
Yang
LGTM with comment. https://codereview.chromium.org/1728593002/diff/60001/src/heap/mark-compact.cc File src/heap/mark-compact.cc (right): https://codereview.chromium.org/1728593002/diff/60001/src/heap/mark-compact.cc#newcode3886 src/heap/mark-compact.cc:3886: if (obj->IsCode() && obj->IsBytecodeArray()) { On ...
4 years, 10 months ago (2016-02-25 11:50:43 UTC) #21
rmcilroy
https://codereview.chromium.org/1728593002/diff/60001/src/isolate.h File src/isolate.h (right): https://codereview.chromium.org/1728593002/diff/60001/src/isolate.h#newcode618 src/isolate.h:618: return interpreter_entry_trampoline_start_; On 2016/02/25 11:50:43, Yang wrote: > Do ...
4 years, 10 months ago (2016-02-25 11:55:11 UTC) #22
Yang
On 2016/02/25 11:55:11, rmcilroy wrote: > https://codereview.chromium.org/1728593002/diff/60001/src/isolate.h > File src/isolate.h (right): > > https://codereview.chromium.org/1728593002/diff/60001/src/isolate.h#newcode618 > ...
4 years, 10 months ago (2016-02-25 11:58:38 UTC) #23
ulan
lgtm https://codereview.chromium.org/1728593002/diff/60001/src/heap/mark-compact.cc File src/heap/mark-compact.cc (right): https://codereview.chromium.org/1728593002/diff/60001/src/heap/mark-compact.cc#newcode3886 src/heap/mark-compact.cc:3886: if (obj->IsCode() && obj->IsBytecodeArray()) { On 2016/02/25 11:46:54, ...
4 years, 10 months ago (2016-02-25 12:07:50 UTC) #24
rmcilroy
On 2016/02/25 11:58:38, Yang wrote: > On 2016/02/25 11:55:11, rmcilroy wrote: > > https://codereview.chromium.org/1728593002/diff/60001/src/isolate.h > ...
4 years, 10 months ago (2016-02-25 12:10:40 UTC) #25
rmcilroy
PTAL, thanks. https://codereview.chromium.org/1728593002/diff/60001/src/heap/mark-compact.cc File src/heap/mark-compact.cc (right): https://codereview.chromium.org/1728593002/diff/60001/src/heap/mark-compact.cc#newcode3886 src/heap/mark-compact.cc:3886: if (obj->IsCode() && obj->IsBytecodeArray()) { On 2016/02/25 ...
4 years, 10 months ago (2016-02-25 15:06:55 UTC) #27
ulan
heap part lgtm
4 years, 10 months ago (2016-02-25 15:12:30 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1728593002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1728593002/80001
4 years, 10 months ago (2016-02-26 10:10:09 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: v8_android_arm_compile_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_android_arm_compile_rel/builds/13988) v8_linux64_asan_rel on tryserver.v8 (JOB_FAILED, ...
4 years, 10 months ago (2016-02-26 10:11:35 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1728593002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1728593002/100001
4 years, 10 months ago (2016-02-26 10:36:16 UTC) #36
commit-bot: I haz the power
Committed patchset #4 (id:100001)
4 years, 10 months ago (2016-02-26 11:04:14 UTC) #38
commit-bot: I haz the power
4 years, 10 months ago (2016-02-26 11:05:00 UTC) #40
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/cb29f9cdbceace4e8ea3a9701e421acea3ff9c6d
Cr-Commit-Position: refs/heads/master@{#34321}

Powered by Google App Engine
This is Rietveld 408576698