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

Issue 680883004: Introduce FeedbackNexus for vector-based ics. (Closed)

Created:
6 years, 1 month ago by mvstanton
Modified:
6 years, 1 month ago
Reviewers:
Igor Sheludko
CC:
v8-dev
Project:
v8
Visibility:
Public.

Description

Introduce FeedbackNexus for vector-based ics. A FeedbackNexus is the combination of a feedback vector, a slot(s) in the vector, along with methods to query and manipulate that information in a type-correct way. A CallIC will have a CallICNexus, a LoadIC a LoadICNexus, etc., reflecting the fact that different types of ICs configure their data in unique ways. This CL limits itself to introducing and using the nexus type only for CallICs. A follow-up will use them for Load and KeyedLoadICs for the case when the --vector-ics flag is turned on. The notion of a Nexus is also embedded at the lowest level of the IC class. This makes sense because more ICs should become vector-based in the future. This CL is based on https://codereview.chromium.org/679073002/ which should land first. BUG= R=ishell@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=24945

Patch Set 1 : Patch One. #

Total comments: 12

Patch Set 2 : Added test using CallICNexus. #

Patch Set 3 : Comment response. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+673 lines, -158 lines) Patch
M src/ic/ic.h View 1 2 10 chunks +48 lines, -24 lines 0 comments Download
M src/ic/ic.cc View 1 2 13 chunks +81 lines, -87 lines 0 comments Download
M src/ic/ic-inl.h View 1 chunk +1 line, -19 lines 0 comments Download
M src/ic/ic-state.h View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M src/ic/ic-state.cc View 1 2 1 chunk +8 lines, -2 lines 0 comments Download
M src/objects.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/objects-inl.h View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/type-feedback-vector.h View 1 2 4 chunks +139 lines, -14 lines 0 comments Download
M src/type-feedback-vector.cc View 1 2 4 chunks +201 lines, -4 lines 0 comments Download
M src/type-feedback-vector-inl.h View 1 2 1 chunk +5 lines, -0 lines 0 comments Download
M src/utils.h View 1 2 1 chunk +39 lines, -0 lines 0 comments Download
M test/cctest/test-feedback-vector.cc View 1 2 2 chunks +107 lines, -5 lines 0 comments Download
M test/cctest/test-utils.cc View 1 2 1 chunk +40 lines, -0 lines 0 comments Download

Messages

Total messages: 8 (4 generated)
mvstanton
Hi Igor, Here is the FeedbackNexus, now in use for the production code CallIC. I ...
6 years, 1 month ago (2014-10-27 13:13:55 UTC) #4
Igor Sheludko
lgtm with nits: https://codereview.chromium.org/680883004/diff/40001/src/ic/ic.cc File src/ic/ic.cc (right): https://codereview.chromium.org/680883004/diff/40001/src/ic/ic.cc#newcode545 src/ic/ic.cc:545: reinterpret_cast<CallICNexus*>(nexus)); static_cast? https://codereview.chromium.org/680883004/diff/40001/src/ic/ic.cc#newcode569 src/ic/ic.cc:569: nexus->ConfigureUninitialized(); Does ...
6 years, 1 month ago (2014-10-28 11:12:36 UTC) #6
mvstanton
Thanks Igor, here are the changes. I used a template to avoid casting in IC[Utility]::Clear(). ...
6 years, 1 month ago (2014-10-28 13:23:29 UTC) #7
mvstanton
6 years, 1 month ago (2014-10-28 14:50:31 UTC) #8
Message was sent while issue was closed.
Committed patchset #3 (id:100001) manually as 24945 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698