Reapply load ICs for nonexistent properties.
authorager@chromium.org <ager@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 15 Apr 2010 11:25:41 +0000 (11:25 +0000)
committerager@chromium.org <ager@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 15 Apr 2010 11:25:41 +0000 (11:25 +0000)
commitafc15bb48fadd0ddc727d467b7a2f33a1cfec6d6
treefa2398666be9448b540e260568701b70fa9b0c0a
parent09aa20da0838e57fb93bb4d451c34b17c130923a
Reapply load ICs for nonexistent properties.

We need to be careful to check global property cells for the property
encountered during lookup.  Therefore, the ICs have to be specific to
the name of the property if global objects are involved.  In
principle, this means that we could get a large number of monomorphic
ICs for the same map if there is a global object in the prototype
chain.  However, since this is only done for normal load ICs and not
for keyed load ICs I do not expect this to be a problem.  I will
experiment with it once this goes in.

BUG=675
Review URL: http://codereview.chromium.org/1559033

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/arm/stub-cache-arm.cc
src/globals.h
src/ia32/stub-cache-ia32.cc
src/ic.cc
src/stub-cache.cc
src/stub-cache.h
src/x64/stub-cache-x64.cc
test/mjsunit/regress/regress-675.js [new file with mode: 0644]