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

Issue 2122183002: [Interpreter] Collect type feedback for calls in the bytecode handler (Closed)

Created:
4 years, 5 months ago by mythria
Modified:
4 years, 5 months ago
CC:
v8-reviews_googlegroups.com, oth, rmcilroy
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[Interpreter] Collect type feedback for calls in the bytecode handler Collect type feedback in the call bytecode handler. The current implementation only collects feedback for JS function objects. The other objects and Array functions do not collect any feedback. They will be marked Megamorphic. BUG=v8:4280, v8:4780 LOG=N Committed: https://crrev.com/fd420203ecb5abe427bda14aa896d90919d998fb Cr-Commit-Position: refs/heads/master@{#37700}

Patch Set 1 #

Patch Set 2 : fixed few comments. #

Total comments: 20

Patch Set 3 : Addressed comments and ports to ia32/arm/arm64 #

Patch Set 4 : Fixed a bug with the default argument for InterpreterPushArgs builtin. #

Patch Set 5 : updated cctest.status #

Total comments: 18

Patch Set 6 : Addressed Comments from Ross and MIPS port. #

Patch Set 7 : Fixed a type error. #

Patch Set 8 : Actually fixed the compile error. #

Patch Set 9 : Fixed testConstructCount to not use CallICNexus. #

Total comments: 1

Patch Set 10 : Fixed cctest.status #

Patch Set 11 : updated cctest.status to mark the tests fail with ignition. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+406 lines, -90 lines) Patch
M src/arm/builtins-arm.cc View 1 2 3 4 5 6 2 chunks +12 lines, -4 lines 0 comments Download
M src/arm64/builtins-arm64.cc View 1 2 3 4 5 6 2 chunks +12 lines, -4 lines 0 comments Download
M src/builtins.h View 1 2 3 chunks +21 lines, -5 lines 0 comments Download
M src/builtins.cc View 1 2 1 chunk +12 lines, -3 lines 0 comments Download
M src/code-factory.h View 1 2 3 1 chunk +3 lines, -2 lines 0 comments Download
M src/code-factory.cc View 1 2 1 chunk +5 lines, -4 lines 0 comments Download
M src/compiler/bytecode-graph-builder.cc View 1 2 1 chunk +4 lines, -3 lines 0 comments Download
M src/globals.h View 1 2 3 4 5 6 7 1 chunk +14 lines, -0 lines 0 comments Download
M src/ia32/builtins-ia32.cc View 1 2 3 4 5 6 2 chunks +13 lines, -4 lines 0 comments Download
M src/interpreter/bytecode-array-builder.h View 1 2 3 4 5 1 chunk +2 lines, -1 line 0 comments Download
M src/interpreter/bytecode-generator.cc View 1 2 3 4 5 1 chunk +13 lines, -2 lines 0 comments Download
M src/interpreter/interpreter.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/interpreter/interpreter.cc View 1 2 1 chunk +10 lines, -6 lines 0 comments Download
M src/interpreter/interpreter-assembler.h View 1 2 3 4 5 1 chunk +12 lines, -0 lines 0 comments Download
M src/interpreter/interpreter-assembler.cc View 1 2 3 1 chunk +155 lines, -2 lines 0 comments Download
M src/mips/builtins-mips.cc View 1 2 3 4 5 6 2 chunks +12 lines, -4 lines 0 comments Download
M src/mips64/builtins-mips64.cc View 1 2 3 4 5 6 2 chunks +12 lines, -4 lines 0 comments Download
M src/x64/builtins-x64.cc View 1 2 3 4 5 6 2 chunks +13 lines, -4 lines 0 comments Download
M test/cctest/cctest.status View 1 2 3 4 5 6 7 8 9 10 2 chunks +10 lines, -12 lines 0 comments Download
M test/cctest/interpreter/test-interpreter.cc View 1 2 5 chunks +25 lines, -12 lines 0 comments Download
M test/cctest/test-compiler.cc View 1 chunk +4 lines, -1 line 0 comments Download
M test/cctest/test-feedback-vector.cc View 1 2 3 4 5 6 7 8 2 chunks +36 lines, -7 lines 0 comments Download
M test/mjsunit/regress/regress-353551.js View 1 1 chunk +1 line, -1 line 0 comments Download
M test/unittests/interpreter/bytecode-array-builder-unittest.cc View 1 2 1 chunk +4 lines, -4 lines 0 comments Download

Messages

Total messages: 58 (39 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2122183002/1
4 years, 5 months ago (2016-07-06 13:33:23 UTC) #2
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux_arm64_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm64_rel_ng/builds/4421) v8_linux_gcc_compile_rel on ...
4 years, 5 months ago (2016-07-06 13:37:11 UTC) #4
mythria
I added support to collect type feedback to the call bytecode handler. As discussed, I ...
4 years, 5 months ago (2016-07-07 08:18:36 UTC) #6
rmcilroy
Looks good overall. A couple of comments. https://codereview.chromium.org/2122183002/diff/20001/src/builtins.h File src/builtins.h (right): https://codereview.chromium.org/2122183002/diff/20001/src/builtins.h#newcode456 src/builtins.h:456: bool is_js_function ...
4 years, 5 months ago (2016-07-08 09:58:00 UTC) #7
Yang
On 2016/07/08 09:58:00, rmcilroy wrote: > Looks good overall. A couple of comments. > > ...
4 years, 5 months ago (2016-07-08 10:39:15 UTC) #8
Benedikt Meurer
Hey Mythri, Looks promising, thanks for the hard work, and sorry for the delayed review. ...
4 years, 5 months ago (2016-07-09 18:19:22 UTC) #9
rmcilroy
https://codereview.chromium.org/2122183002/diff/20001/src/compiler/bytecode-graph-builder.cc File src/compiler/bytecode-graph-builder.cc (right): https://codereview.chromium.org/2122183002/diff/20001/src/compiler/bytecode-graph-builder.cc#newcode981 src/compiler/bytecode-graph-builder.cc:981: // TODO(rmcilroy): Set receiver_hint correctly based on whether the ...
4 years, 5 months ago (2016-07-11 09:28:27 UTC) #10
mythria
Thanks Benedikt and Ross. I addressed your comments and also ported it to ia32/arm/arm64. PTAL. ...
4 years, 5 months ago (2016-07-11 15:25:25 UTC) #19
rmcilroy
https://codereview.chromium.org/2122183002/diff/20001/test/cctest/cctest.status File test/cctest/cctest.status (right): https://codereview.chromium.org/2122183002/diff/20001/test/cctest/cctest.status#newcode151 test/cctest/cctest.status:151: # TODO(mythria,4780): Related to type feedback support for calls. ...
4 years, 5 months ago (2016-07-11 15:58:55 UTC) #20
Benedikt Meurer
+1 on tests. Otherwise LGTM.
4 years, 5 months ago (2016-07-12 03:25:35 UTC) #21
mythria
Hi Michael, As discussed offline, I use slot id of 0 to indicate we don't ...
4 years, 5 months ago (2016-07-12 09:01:34 UTC) #23
rmcilroy
LGTM with some comments, thanks! https://codereview.chromium.org/2122183002/diff/80001/src/arm/builtins-arm.cc File src/arm/builtins-arm.cc (right): https://codereview.chromium.org/2122183002/diff/80001/src/arm/builtins-arm.cc#newcode1171 src/arm/builtins-arm.cc:1171: } else { DCHECK_EQ(function_type, ...
4 years, 5 months ago (2016-07-12 09:36:21 UTC) #24
mvstanton
I just looked at the feedback slot, LGTM on that. https://codereview.chromium.org/2122183002/diff/80001/src/interpreter/bytecode-generator.cc File src/interpreter/bytecode-generator.cc (right): https://codereview.chromium.org/2122183002/diff/80001/src/interpreter/bytecode-generator.cc#newcode2532 ...
4 years, 5 months ago (2016-07-12 13:25:22 UTC) #37
mythria
Thank you all. I addressed comments from Ross and update the tests by refactoring the ...
4 years, 5 months ago (2016-07-12 15:20:35 UTC) #46
Benedikt Meurer
Still LGTM. Thanks Mythri!
4 years, 5 months ago (2016-07-12 18:30:37 UTC) #51
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2122183002/190001
4 years, 5 months ago (2016-07-13 07:56:11 UTC) #54
commit-bot: I haz the power
Committed patchset #11 (id:190001)
4 years, 5 months ago (2016-07-13 07:58:49 UTC) #55
commit-bot: I haz the power
CQ bit was unchecked.
4 years, 5 months ago (2016-07-13 07:58:54 UTC) #56
commit-bot: I haz the power
4 years, 5 months ago (2016-07-13 08:00:35 UTC) #58
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/fd420203ecb5abe427bda14aa896d90919d998fb
Cr-Commit-Position: refs/heads/master@{#37700}

Powered by Google App Engine
This is Rietveld 408576698