With this fix, we only create the enum cache for own property descriptors (originally...
authorjarin@chromium.org <jarin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 27 Mar 2014 15:33:06 +0000 (15:33 +0000)
committerjarin@chromium.org <jarin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Thu, 27 Mar 2014 15:33:06 +0000 (15:33 +0000)
commit4608bdecccedda32de2651f192ced76d4db5f3c1
treecaffc1e45d12500e3bea8fe22c3bb8c11b6b8e1a
parent1110f4fcbbf5d3f361b76c377d7b9d0ec2cc6e98
With this fix, we only create the enum cache for own property descriptors (originally we cached all descriptors in the map).  The problem was that the size of all descriptors could be trimmed during GC triggered by allocating the storage for the cache, so we could have ended up with a wrong storage size.

This is really Toon's fix, I have only created a small repro case.

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/handles.cc
test/mjsunit/regress/regress-enum-prop-keys-cache-size.js [new file with mode: 0644]