Fix a bug in for/in iteration of arguments objects.
authorkmillikin@chromium.org <kmillikin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 8 Jul 2011 07:31:48 +0000 (07:31 +0000)
committerkmillikin@chromium.org <kmillikin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Fri, 8 Jul 2011 07:31:48 +0000 (07:31 +0000)
commitfe23339bdd9e2eeeee973d96a038ec5d412085a1
treee4c58dfd6284dabbfb933f0ed1710c7b19e34d39
parent436c547a27761abd2529ef5dc2262119d216a79b
Fix a bug in for/in iteration of arguments objects.

We did not properly combine the property names from the parameter map
and the arguments backing store.  They could overwrite each other and
be unsorted.

Also fix an unrelated bug: deleting from a dictionary-mode arguments
backing store could corrupt the parameter map.

R=rossberg@chromium.org
BUG=1531
TEST=mjsunit/regress/regress-1531.js

Review URL: http://codereview.chromium.org/7278033

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/objects.cc
src/objects.h
test/mjsunit/regress/regress-1531.js [new file with mode: 0644]