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

Issue 1707693003: [Interpreter] Enable runtime profiler support for Ignition. (Closed)

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

Description

[Interpreter] Enable runtime profiler support for Ignition. Adds a profiling counter to each BytecodeArray object, and adds code to Jump and Return bytecode handlers to update this counter by the size of the jump or the distance from the return to the start of the function. This is more accurate than fullcodegen's approach since it takes forward jumps into account as well as back-edges. Modifies RuntimeProfiler to track ticks for interpreted frames. Currently we use the SharedFunctionInfo::profiler_ticks() instead of adding another to tick field to avoid adding another field to BytecodeArray since SharedFunctionInfo::profiler_ticks() is only used by Crankshaft otherwise so we shouldn't need both for BUG=v8:4689 LOG=N Committed: https://crrev.com/b62bf1e6fb7061f89b9ba0a06493109042b86978 Cr-Commit-Position: refs/heads/master@{#34166}

Patch Set 1 #

Patch Set 2 : Update on forward edges too #

Total comments: 8

Patch Set 3 : Fix comment #

Patch Set 4 : Add test and modify comment. #

Total comments: 4

Patch Set 5 : Address comments #

Patch Set 6 : Fix InterpreterAssembler unittests. #

Patch Set 7 : Reorder BytecodeArray fields to avoid unaligned access on MIPS. #

Patch Set 8 : Fix for --debug-code case #

Patch Set 9 : Really fix --debug-code #

Unified diffs Side-by-side diffs Delta from patch set Stats (+268 lines, -134 lines) Patch
M src/arm/builtins-arm.cc View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
M src/arm64/builtins-arm64.cc View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
M src/compiler/code-stub-assembler.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/execution.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/heap/heap.cc View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M src/heap/objects-visiting-inl.h View 1 2 3 4 5 6 2 chunks +2 lines, -2 lines 0 comments Download
M src/ia32/builtins-ia32.cc View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
M src/interpreter/interpreter.h View 1 2 3 4 5 1 chunk +3 lines, -0 lines 0 comments Download
M src/interpreter/interpreter.cc View 1 2 3 4 5 1 chunk +7 lines, -0 lines 0 comments Download
M src/interpreter/interpreter-assembler.h View 1 2 3 4 5 1 chunk +4 lines, -0 lines 0 comments Download
M src/interpreter/interpreter-assembler.cc View 1 2 3 4 5 5 chunks +47 lines, -2 lines 0 comments Download
M src/mips/builtins-mips.cc View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
M src/mips64/builtins-mips64.cc View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
M src/objects.h View 1 2 3 4 5 6 2 chunks +9 lines, -4 lines 0 comments Download
M src/objects-inl.h View 1 2 3 4 5 1 chunk +8 lines, -0 lines 0 comments Download
M src/ppc/builtins-ppc.cc View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
M src/runtime-profiler.h View 1 2 3 4 1 chunk +4 lines, -1 line 0 comments Download
M src/runtime-profiler.cc View 1 2 3 4 4 chunks +165 lines, -98 lines 0 comments Download
M src/x64/builtins-x64.cc View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
M src/x87/builtins-x87.cc View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
M test/mjsunit/mjsunit.status View 1 2 3 4 5 1 chunk +0 lines, -3 lines 0 comments Download
M test/unittests/interpreter/interpreter-assembler-unittest.cc View 1 2 3 4 5 6 7 8 8 chunks +16 lines, -15 lines 0 comments Download

Depends on Patchset:

Messages

Total messages: 35 (19 generated)
rmcilroy
Jakob / Michi, PTAL. Hopefully we are on the same page and this is what ...
4 years, 10 months ago (2016-02-17 17:16:25 UTC) #3
Jakob Kummerow
LGTM with a few nits. Higher-level nit: I tend to prefer the term "profiling budget" ...
4 years, 10 months ago (2016-02-17 17:45:36 UTC) #5
rmcilroy
Opps, forgot to hit publish on this... Michi, would are you wanting to take a ...
4 years, 10 months ago (2016-02-18 16:05:57 UTC) #6
Michael Starzinger
LGTM on the approach itself and on the plumbing around it, didn't look at runtime-profiler.cc ...
4 years, 10 months ago (2016-02-18 17:55:26 UTC) #7
rmcilroy
https://codereview.chromium.org/1707693003/diff/60001/src/interpreter/interpreter-assembler.cc File src/interpreter/interpreter-assembler.cc (right): https://codereview.chromium.org/1707693003/diff/60001/src/interpreter/interpreter-assembler.cc#newcode467 src/interpreter/interpreter-assembler.cc:467: // TODO(rmcilroy): Deal with self optimization of primitive functions. ...
4 years, 10 months ago (2016-02-19 12:32:32 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1707693003/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1707693003/80001
4 years, 10 months ago (2016-02-19 12:32:42 UTC) #11
commit-bot: I haz the power
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/10468)
4 years, 10 months ago (2016-02-19 12:38:02 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1707693003/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1707693003/100001
4 years, 10 months ago (2016-02-19 14:40:23 UTC) #16
commit-bot: I haz the power
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/10482)
4 years, 10 months ago (2016-02-19 14:47:26 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1707693003/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1707693003/120001
4 years, 10 months ago (2016-02-19 15:08:51 UTC) #21
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux_dbg_ng on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_dbg_ng/builds/1654) v8_linux_dbg_ng_triggered on tryserver.v8 (JOB_FAILED, ...
4 years, 10 months ago (2016-02-19 15:50:00 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1707693003/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1707693003/140001
4 years, 10 months ago (2016-02-19 16:19:40 UTC) #26
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux_dbg_ng on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_dbg_ng/builds/1659) v8_linux_dbg_ng_triggered on tryserver.v8 (JOB_FAILED, ...
4 years, 10 months ago (2016-02-19 16:52:43 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1707693003/160001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1707693003/160001
4 years, 10 months ago (2016-02-19 17:25:29 UTC) #31
commit-bot: I haz the power
Committed patchset #9 (id:160001)
4 years, 10 months ago (2016-02-19 18:47:01 UTC) #33
commit-bot: I haz the power
4 years, 10 months ago (2016-02-19 18:47:24 UTC) #35
Message was sent while issue was closed.
Patchset 9 (id:??) landed as
https://crrev.com/b62bf1e6fb7061f89b9ba0a06493109042b86978
Cr-Commit-Position: refs/heads/master@{#34166}

Powered by Google App Engine
This is Rietveld 408576698