v8/test/test262
Leszek Swirski 00a2481a24 [ignition] Move destructuring assignments to bytecode generation
Instead of de-sugaring destructuring assignment in the parser (using the
pattern rewriter), pass the Object/ArrayLiterals through to the bytecode
generator, which can desugar them in-place.

This allows us to decrease the amount of AST node creation, and improve
the generated bytecode using domain-specific knowledge. As a side effect
we partially fix an old execution ordering spec bug.

Currently only implemented for assignments, not declarations, as the
latter has some additional complexity.

Bug: v8:4951
Change-Id: I3d69d232bea2968ef20df68a74014d9e05808cfe
Reviewed-on: https://chromium-review.googlesource.com/c/1375660
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58512}
2019-01-03 09:41:27 +00:00
..
local-tests/test [test262] Test262 Roll 2018-02-22 22:31:50 +00:00
BUILD.gn [tools] Add FAIL_PHASE_ONLY status file modifier for test262 tests 2018-11-22 12:43:05 +00:00
detachArrayBuffer.js [typedarrays] Use Detach instead of Neuter 2018-12-11 11:57:30 +00:00
harness-adapt-donotevaluate.js [tools] Add FAIL_PHASE_ONLY status file modifier for test262 tests 2018-11-22 12:43:05 +00:00
harness-adapt.js test262 roll 2017-03-13 14:33:07 +00:00
harness-agent.js [d8] Update new Worker API to match the Web API 2018-09-20 00:10:28 +00:00
prune-local-tests.sh test262 roll 2017-02-10 19:05:55 +00:00
README Make test262 README file revision independent. 2015-11-04 10:52:44 +00:00
test262.status [ignition] Move destructuring assignments to bytecode generation 2019-01-03 09:41:27 +00:00
testcfg.py [class] Parse static private fields 2018-12-20 20:58:43 +00:00
upstream-local-tests.sh test262 roll 2017-03-13 14:33:07 +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.