Make sure builtins preserve guarantees about empty element array prototypes.
authormvstanton <mvstanton@chromium.org>
Mon, 20 Apr 2015 15:16:50 +0000 (08:16 -0700)
committerCommit bot <commit-bot@chromium.org>
Mon, 20 Apr 2015 15:16:34 +0000 (15:16 +0000)
commit9987221c02b63bb93c6013e9706bd5e93322ef14
tree83fbf3541743e488474f9a0e7064baae3349820f
parentad854ea11e787a673a40b7917a955bee6d7dc253
Make sure builtins preserve guarantees about empty element array prototypes.

We have a bottleneck around storing elements in the array and object prototypes,
but the Push() and Unshift() builtins don't respect them.

Fix this exactly to the level of existing support for stores.

BUG=v8:4043
LOG=N
NOTRY=true

Review URL: https://codereview.chromium.org/1066003003

Cr-Commit-Position: refs/heads/master@{#27943}
src/builtins.cc
src/hydrogen.cc
test/mjsunit/elide-double-hole-check-10.js [new file with mode: 0644]
test/mjsunit/elide-double-hole-check-11.js [new file with mode: 0644]