v8/test
adamk@chromium.org 70c3a714a1 ES6 Map/Set iterators/forEach improvements
This changes how Map/Set interacts with its iterators. When the
underlying table is rehashed or cleared, we create a new table (like
before) but we add a reference from the old table to the new table. We
also add an array describing how to transition the iterator from the
old table to the new table.

When Next is called on the iterator it checks if there is a newer table
that it should transition to. If there is, it updates the index based
on the previously recorded changes and finally changes itself to point
at the new table.

With these changes Map/Set no longer keeps the iterators alive. Also,
as before, the iterators keep the underlying table(s) alive but not the
actual Map/Set.

BUG=v8:1793
LOG=Y
R=mstarzinger@chromium.org, rossberg@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 14:22:05 +00:00
..
benchmarks Merge experimental/a64 to bleeding_edge. 2014-02-12 09:19:30 +00:00
cctest Revert "Fix Heap::IsHeapIterable." 2014-05-20 14:03:38 +00:00
fuzz-natives Refactor mjsunit/fuzz-natives-* into a separate test suite. 2014-05-07 12:31:26 +00:00
intl Store i18n meta data in hidden symbols instead of js accessible properties 2014-04-01 10:56:16 +00:00
message Clean up some A64 specific code in common code that was introduced by A64 merge 2014-02-12 13:27:13 +00:00
mjsunit ES6 Map/Set iterators/forEach improvements 2014-05-20 14:22:05 +00:00
mozilla Mark slow mozilla test. 2014-05-14 15:05:44 +00:00
preparser Merge experimental/a64 to bleeding_edge. 2014-02-12 09:19:30 +00:00
promises-aplus Re^3-land "Ship promises and weak collections" 2014-05-06 14:48:34 +00:00
test262 MIPS: Add big-endian support for MIPS. 2014-04-15 16:39:21 +00:00
webkit Adapt test expectations in webkit. 2014-05-15 12:46:32 +00:00