https://codereview.chromium.org/220923003/diff/1/src/ic.cc
File src/ic.cc (right):

https://codereview.chromium.org/220923003/diff/1/src/ic.cc#newcode1426
src/ic.cc:1426: if (target_receiver_maps.length() == 0) {
On 2014/04/01 15:22:05, Toon Verwaest wrote:
length() == 0 isn't the same as UNINITIALIZED || PREMONOMORPHIC. We
could also
have length() == 0 if for some reason there's an instance type check
rather than
a map-check. With your change we'd go monomorphic where otherwise we
would've
gone generic. (See the comment below that you removed).

I presume we'd actually need to introduce something similar for load,
rather
than remove it for the store.
The comment that I removed seems to be out-dated: keyed stores in
dictionary mode use KeyedStoreIC::GenerateSlow(masm) which tail calls to
runtime function KeyedStoreIC_Slow, so can never trigger IC miss. I also
ran tests with UNREACHABLE in the removed branch, and it never
triggered.

Keyed loads in dictionary mode are guarded by map checks.

https://codereview.chromium.org/220923003/

--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to