Ensure there is a smi check of the receiver for global load and call ICs.
authorkmillikin@chromium.org <kmillikin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 13 Mar 2012 11:39:30 +0000 (11:39 +0000)
committerkmillikin@chromium.org <kmillikin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 13 Mar 2012 11:39:30 +0000 (11:39 +0000)
commit7d6fd56fd51df955a9f57450c3108521ad02498c
tree338b8c56c11131f28f620c3379d2c9013822bb22
parent235e9e20a7974b8ca2a414beb6abf771e12daad9
Ensure there is a smi check of the receiver for global load and call ICs.

There was a comment that, for such ICs specialized to the global object,
they were always contextual loads.  This is very brittle.  It is a
micro-optimization that relies too much on the way that things happen to
work today.

Instead, never omit the smi check because it's safer.

R=vegorov@chromium.org
BUG=117794
TEST=regress-117794.js

Review URL: https://chromiumcodereview.appspot.com/9691038

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