ES6: Add support for values/keys/entries for Map and Set
authoradamk@chromium.org <adamk@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 3 Jun 2014 00:34:01 +0000 (00:34 +0000)
committeradamk@chromium.org <adamk@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 3 Jun 2014 00:34:01 +0000 (00:34 +0000)
commit509a1a405cb759a07398123da4851e7f98b8af75
tree0aac913c9714b3409208c0ee1baa01a58e1191b2
parent1d57c2d65ff1ade068a1b720a7146275ed81b922
ES6: Add support for values/keys/entries for Map and Set

This allows code like this:

  var map = new Map();
  map.set(1, 'One');
  ...
  var iter = map.values();
  var res;
  while (!(res = iter.next()).done) {
    print(res.value);
  }

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

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
21 files changed:
src/bootstrapper.cc
src/collection-iterator.js [new file with mode: 0644]
src/collection.js
src/flag-definitions.h
src/macros.py
src/objects-debug.cc
src/objects-inl.h
src/objects.cc
src/objects.h
src/runtime.cc
src/runtime.h
test/cctest/test-api.cc
test/cctest/test-ordered-hash-table.cc
test/mjsunit/harmony/collection-iterator.js [new file with mode: 0644]
test/mjsunit/regress/regress-3281.js
test/mjsunit/runtime-gen/mapiteratorinitialize.js [moved from test/mjsunit/runtime-gen/mapcreateiterator.js with 64% similarity]
test/mjsunit/runtime-gen/mapiteratornext.js
test/mjsunit/runtime-gen/setiteratorinitialize.js [moved from test/mjsunit/runtime-gen/setcreateiterator.js with 60% similarity]
test/mjsunit/runtime-gen/setiteratornext.js
tools/generate-runtime-tests.py
tools/gyp/v8.gyp