v8/test/test262
Shu-yu Guo d3c1b5a849 [interpreter] Remove await from async generator yield*
Implements the normative change
https://github.com/tc39/ecma262/pull/2819, which removes the await
inside async generator yield*. The delegating iterator result is already
awaited, and this effectively removes an extra tick and unwrapping.

The implementation of `yield` uses the existing AsyncGeneratorYield
builtin, which already performs an Await. It is renamed to
AsyncGeneratorYieldWithAwait.

The implementation of `yield*` uses a new builtin named
AsyncGeneratorYieldNoAwait, which does not perform an Await.

Bug: v8:13275
Change-Id: I88569f1e982edfb6a193c2fa07544fc59732f380
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3919916
Commit-Queue: Shu-yu Guo <syg@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#83545}
2022-10-05 21:49:47 +00:00
..
local-tests/test Reland "[intl] Impl ECMA402 PR 471 rounding behavior" 2020-10-02 00:14:46 +00:00
BUILD.gn [infra] Fork test262-harness 2022-02-23 18:47:35 +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] Expose gc() to test262 harness 2019-07-23 14:09:05 +00:00
harness-agent.js [d8] Update new Worker API to match the Web API 2018-09-20 00:10:28 +00:00
harness-ishtmldda.js Support $262.IsHTMLDDA 2020-05-05 06:19:02 +00:00
OWNERS [test262] Remove myself from OWNERS 2021-01-15 17:13:56 +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 [interpreter] Remove await from async generator yield* 2022-10-05 21:49:47 +00:00
testcfg.py Reland "[intl] Implement DurationFormat" 2022-10-05 07:42:28 +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.