v8/test/test262
littledan 1aee75551e Ensure IteratorClose is called for errors in non-declaring assignments
There was a bug in for-of loops without newly declared variables: If,
in performing the assignment, an exception were thrown, then
IteratorClose would not be called. The problem was that the assignment
is done as part of assign_each, which happens before the loop is put
back in the state which is recognized to be breaking/throwing/returning
early.

This patch modifies the for-of desugaring by setting the loop state
before, rather than after, evaluating the assign_each portion, which is
responsible for evaluating the assignment in for-of loops which do not
have a declaration.

This patch, together with https://codereview.chromium.org/1728973002 ,
allow all test262 iterator return-related tests to pass.

R=rossberg
BUG=v8:4776
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#34262}
2016-02-24 18:52:29 +00:00
..
archive.py [Swarming] work around slow calls in archive.py 2016-02-24 11:04:22 +00:00
harness-adapt.js [test] Copy test262-es6 into test262. 2015-09-25 13:03:36 +00:00
list.py [Swarming] Speed up test262 upload/download. 2016-02-19 14:41:29 +00:00
README Make test262 README file revision independent. 2015-11-04 10:52:44 +00:00
test262.gyp [Swarming] Speed up test262 upload/download. 2016-02-19 14:41:29 +00:00
test262.isolate [Swarming] Speed up test262 upload/download. 2016-02-19 14:41:29 +00:00
test262.status Ensure IteratorClose is called for errors in non-declaring assignments 2016-02-24 18:52:29 +00:00
testcfg.py [Swarming] Speed up test262 upload/download. 2016-02-19 14:41:29 +00:00

This directory contains code for binding the test262 test suite
into the v8 test harness. The tests are checked out as a dependency from

  https://chromium.googlesource.com/external/github.com/tc39/test262

at a revision specified in the DEPS file as 'data' in this directory. They are
fetched with 'gclient sync'. To update to a newer version, please change the
DEPS file.

Using a newer version, e.g. 'deadbeef' may be possible but the tests are only
known to pass (and indeed run) with the DEPS revision. Example:

  cd data
  git fetch
  git checkout deadbeef

If you do update to a newer revision you may have to change the test
harness adapter code since it uses internal functionality from the
harness that comes bundled with the tests.  You will most likely also
have to update the test expectation file.