I have extended the megamorphic case to handle non-string keys. Now it starts with looking up monomorphic cache (this still works pretty good in many cases), but if it misses it calls the KeyedCallIC_Generic stub to get the function in
the fastest possible way. This does not regress usual tests (SunSpider etc).

Also rebased a CL to the current TOT.

On 2010/05/27 12:07:46, Mads Ager wrote:
First high-level comments without really reading much of the code:

1. Doesn't this mean that we will always enter the runtime system for calling functions in arrays: a[0]()? This used to be a KeyedLoadIC followed by a call
which is pretty fast. We should make sure that this is still fast.

2. Do we really want to have a megamorphic case here or do we want an approach more like for the KeyedLoadICs where we have a generic stub that handles most cases (array loads and the like) fairly well and just always go back to the
generic version on miss?



http://codereview.chromium.org/2280007/show

--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev

Reply via email to