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