Introduce FeedbackNexus for vector-based ics.
authormvstanton@chromium.org <mvstanton@chromium.org>
Tue, 28 Oct 2014 16:05:08 +0000 (16:05 +0000)
committermvstanton@chromium.org <mvstanton@chromium.org>
Tue, 28 Oct 2014 16:05:45 +0000 (16:05 +0000)
commita2e21393ed168e9811828333b5ac6b20da1ebfcb
treed23de4c5dbbd6fcebc556ff3667e91428e715098
parent369910849a2500ae70d59d7e772226e86164366d
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.

R=ishell@chromium.org

Review URL: https://codereview.chromium.org/683933002

Cr-Commit-Position: refs/heads/master@{#24952}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/ic/ic-inl.h
src/ic/ic-state.cc
src/ic/ic-state.h
src/ic/ic.cc
src/ic/ic.h
src/type-feedback-vector.cc
src/type-feedback-vector.h
test/cctest/test-feedback-vector.cc