v8/test/mjsunit/harmony
Joyee Cheung 713ebae3b4 [class] Add IC support for defining class fields to replace runtime call
Introduces several new runtime mechanics for defining private fields,
including:
  - Bytecode StaKeyedPropertyAsDefine
  - Builtins StoreOwnIC{Trampoline|Baseline|_NoFeedback}
  - Builtins KeyedDefineOwnIC{Trampoline|Baseline|_Megamorphic}
  - TurboFan IR opcode JSDefineProperty

These new operations can reduce a runtime call per class field into a
more traditional Store equivalent. In the microbenchmarks, this
results in a substantial win over the status quo (~8x benchmark score
for single fields with the changes, ~20x with multiple fields).

The TurboFan JSDefineProperty op is lowered in
JSNativeContextSpecialization, however this required some hacks.
Because private fields are defined as DONT_ENUM when added to the
object, we can't find a suitable transition using the typical data
property (NONE) flags. I've added a mechanism to specify the required
PropertyAttributes for the transition we want to look up.

Details:

New bytecodes:
  - StaKeyedPropertyAsDefine, which is essentially StaKeyedProperty
    but with a different IC builtin (KeyedDefineOwnIC). This is a
    bytecode rather than a flag for the existing StaKeyedProperty in
    order to avoid impacting typical keyed stores in any way due to
    additional branching and testing.

New builtins:
  - StoreOwnIC{TTrampoline|Baseline|_NoFeedback} is now used for
    StaNamedOwnProperty. Unlike the regular StoreIC, this variant will
    no longer look up the property name in the prototype.
    In adddition, this CL changes an assumption that
    StoreNamedOwnProperty can't result in a map transition, as we
    can't rely on the property already being present in the Map due
    to an object literal boilerplate.

    In the context of class features, this replaces the runtime
    function %CreateDataProperty().

  - KeyedDefineOwnIC{Trampoline|Baseline|_Megamorphic} is used by the
    new StaKeyedPropertyAsDefine bytecode. This is similar to an
    ordinary KeyedStoreIC, but will not check the prototype for
    setters, and for private fields, will take the slow path if the
    field already exists.

    In the context of class features, this replaces the runtime
    function %AddPrivateField().

TurboFan IR:
  - JSDefineProperty is introduced to represent a situation where we
    need to use "Define" semantics, in particular, it codifies that we
    do not consult the prototype chain, and the semantics relating to
    private fields are implied as well.

R=leszeks@chromium.org, syg@chromium.org, rmcilroy@chromium.org

Bug: v8:9888
Change-Id: Idcc947585c0e612f9e8533aa4e2e0f8f0df8875d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2795831
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Commit-Queue: Joyee Cheung <joyee@igalia.com>
Cr-Commit-Position: refs/heads/main@{#77377}
2021-10-13 10:40:24 +00:00
..
bigint [bigint] Truncate huge error messages 2021-09-01 10:09:52 +00:00
regress Remove always-true --harmony-object-from-entries runtime flag 2019-06-24 15:01:01 +00:00
weakrefs Rename stress_flush_bytecode to stress_flush_code 2021-08-02 19:02:57 +00:00
aggregate-error.js [flags] Remove --harmony-promise-any 2020-11-12 01:09:38 +00:00
array-concat-array-proto-getter.js
array-concat-array-proto.js
array-concat-object-proto-dict-getter.js
array-concat-object-proto-dict.js
array-concat-object-proto-generic-dict.js
array-concat-object-proto.js
array-findlast-unscopables.js [builtins] Implement Array#findFromLast and friends 2021-07-29 19:37:15 +00:00
array-flat-species.js Remove always-true --harmony-array-flat runtime flag 2019-02-02 17:54:27 +00:00
array-flat.js Remove always-true --harmony-array-flat runtime flag 2019-02-02 17:54:27 +00:00
array-flatMap-species.js Remove always-true --harmony-array-flat runtime flag 2019-02-02 17:54:27 +00:00
array-flatMap.js Remove always-true --harmony-array-flat runtime flag 2019-02-02 17:54:27 +00:00
array-prototype-findlast.js [builtins] Implement Array#findFromLast and friends 2021-07-29 19:37:15 +00:00
array-prototype-findlastindex.js [builtins] Implement Array#findFromLast and friends 2021-07-29 19:37:15 +00:00
array-sort-comparefn.js [js] Remove CHECK_OBJECT_COERCIBLE for Array methods 2017-10-20 19:29:36 +00:00
async-await-optimization.js [async-await] Refactor await optimization and include async generators 2018-10-05 13:25:56 +00:00
async-for-of-non-iterable.js Remove always-true --harmony-async-iteration runtime flag 2018-01-12 20:14:34 +00:00
async-from-sync-iterator-next-tick-count.js [await] Add async iterator tests for await optimization 2019-04-03 17:42:51 +00:00
async-from-sync-iterator-return-tick-count.js [await] Add async iterator tests for await optimization 2019-04-03 17:42:51 +00:00
async-from-sync-iterator-throw-tick-count.js [await] Add async iterator tests for await optimization 2019-04-03 17:42:51 +00:00
async-from-sync-iterator.js Replace %RunMicrotasks with %PerformMicrotaskCheckpoint 2018-12-06 11:10:18 +00:00
async-generators-basic.js Replace %RunMicrotasks with %PerformMicrotaskCheckpoint 2018-12-06 11:10:18 +00:00
async-generators-resume-return.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
async-generators-return.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
async-generators-throw-caught.js Add a synthetic return for async generator functions 2020-02-24 19:33:46 +00:00
async-generators-yield.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
async-iterators-resolve.js [await] Update async iterators to return a rejected promise on error 2019-03-18 18:32:58 +00:00
atomics-on-arraybuffer-detach.js [atomics] Relax Atomics methods to work on ArrayBuffers 2020-08-13 22:10:07 +00:00
atomics-value-check.js [test] Make worker related tests more fuzzable 2021-01-26 12:09:59 +00:00
atomics-waitasync-1thread-2timeout.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
atomics-waitasync-1thread-buffer-out-of-scope-timeout.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
atomics-waitasync-1thread-promise-out-of-scope.js Reland2: [Atomics.waitAsync] Implement Atomics.waitAsync 2020-07-21 06:43:48 +00:00
atomics-waitasync-1thread-timeout.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
atomics-waitasync-1thread-timeouts-and-no-timeouts.js [test] Make worker related tests more fuzzable 2021-01-26 12:09:59 +00:00
atomics-waitasync-1thread-wake-up-all.js Reland2: [Atomics.waitAsync] Implement Atomics.waitAsync 2020-07-21 06:43:48 +00:00
atomics-waitasync-1thread-wake-up-fifo.js Reland2: [Atomics.waitAsync] Implement Atomics.waitAsync 2020-07-21 06:43:48 +00:00
atomics-waitasync-1thread-wake-up-simple.js Reland2: [Atomics.waitAsync] Implement Atomics.waitAsync 2020-07-21 06:43:48 +00:00
atomics-waitasync-helpers.js [test] Make worker related tests more fuzzable 2021-01-26 12:09:59 +00:00
atomics-waitasync-worker-shutdown-before-wait-finished-2-waits.js [test] Make worker related tests more fuzzable 2021-01-26 12:09:59 +00:00
atomics-waitasync-worker-shutdown-before-wait-finished-2-workers.js [test] Make worker related tests more fuzzable 2021-01-26 12:09:59 +00:00
atomics-waitasync-worker-shutdown-before-wait-finished-no-timeout.js [test] Make worker related tests more fuzzable 2021-01-26 12:09:59 +00:00
atomics-waitasync-worker-shutdown-before-wait-finished-timeout.js [test] Make worker related tests more fuzzable 2021-01-26 12:09:59 +00:00
atomics-waitasync.js Reland2: [Atomics.waitAsync] Implement Atomics.waitAsync 2020-07-21 06:43:48 +00:00
atomics.js [atomics] Relax Atomics methods to work on ArrayBuffers 2020-08-13 22:10:07 +00:00
bigintarray-keyedstore-tobigint.js Remove always-true --harmony-bigint runtime flag 2018-10-01 11:31:13 +00:00
block-lazy-compile.js [Test] Add PrepareForOptimization to some mjsunit tests. 2019-05-03 13:32:32 +00:00
class-static-blocks.js [class] Disallow return in class static blocks 2021-05-18 06:19:07 +00:00
dataview-accessors.js
define-private-class-field-stress.js [class] Add IC support for defining class fields to replace runtime call 2021-10-13 10:40:24 +00:00
error-cause.js [init] Error cause should not present on Error.prototype 2021-07-23 06:38:46 +00:00
eval-param-scoping.js Remove per-parameter position var scope 2019-12-19 10:38:00 +00:00
for-await-of.js Replace %RunMicrotasks with %PerformMicrotaskCheckpoint 2018-12-06 11:10:18 +00:00
function-tostring.js Remove always-true --harmony-function-tostring runtime flag 2018-10-03 15:04:16 +00:00
futex.js [test] Make worker related tests more fuzzable 2021-01-26 12:09:59 +00:00
generators-reduced.js [Test] Add PrepareForOptimization to some mjsunit tests. 2019-05-03 13:32:32 +00:00
generators.js [Test] Add PrepareForOptimization to some mjsunit tests. 2019-05-03 13:32:32 +00:00
global-configurable.js Remove always-true --harmony-global runtime flag 2019-06-26 09:47:14 +00:00
global-writable.js Remove always-true --harmony-global runtime flag 2019-06-26 09:47:14 +00:00
global.js Remove always-true --harmony-global runtime flag 2019-06-26 09:47:14 +00:00
harmony-string-pad-end.js [builtins] Port String.prototype.{padStart, padEnd} to CSA 2017-10-16 14:19:19 +00:00
harmony-string-pad-start.js [builtins] Port String.prototype.{padStart, padEnd} to CSA 2017-10-16 14:19:19 +00:00
has-own.js [Object.hasOwn] Implementation Object.hasOwn tc39 proposal 2021-05-31 08:46:56 +00:00
hashbang-eval.js Remove always-enabled --harmony-hashbang flag 2019-06-11 15:47:08 +00:00
import-from-compilation-errored.js [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
import-from-evaluation-errored.js [top-level-await] Ship top-level await 2021-03-15 23:34:34 +00:00
import-from-fetch-errored.js [d8] Throw Error objects instead of strings by default 2021-01-21 13:13:21 +00:00
import-from-instantiation-errored.js Reland "[runtime] Use Isolate::ThrowAt with MessageLocation" 2020-10-24 20:33:31 +00:00
logical-assignment-function-name.js Reland "Set .name of anonymous functions on the RHS of logical assignment." 2020-06-03 23:14:58 +00:00
logical-assignment.js Implement logical assignment 2020-04-23 07:23:58 +00:00
module-parsing-eval.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-1.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-2.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-3.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-4.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-5.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-6.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-7.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-8.mjs [d8] Exit with error code upon unhandled promise rejection 2020-06-24 07:21:58 +00:00
modules-import-9.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-10.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-11.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-12.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-13.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-14.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-15-top-level-await.mjs [d8] Throw Error objects instead of strings by default 2021-01-21 13:13:21 +00:00
modules-import-15.mjs [top-level-await] Ship top-level await 2021-03-15 23:34:34 +00:00
modules-import-16.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-17.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-assertions-1.mjs [modules][api] Add version of HostImportModuleDynamically with import assertions 2021-01-26 04:15:15 +00:00
modules-import-assertions-2.mjs [modules][api] Add version of HostImportModuleDynamically with import assertions 2021-01-26 04:15:15 +00:00
modules-import-assertions-3.mjs [modules][api] Add version of HostImportModuleDynamically with import assertions 2021-01-26 04:15:15 +00:00
modules-import-assertions-4.mjs [modules][api] Add version of HostImportModuleDynamically with import assertions 2021-01-26 04:15:15 +00:00
modules-import-assertions-dynamic-1.mjs [modules][api] Add version of HostImportModuleDynamically with import assertions 2021-01-26 04:15:15 +00:00
modules-import-assertions-dynamic-2.mjs [modules][api] Add version of HostImportModuleDynamically with import assertions 2021-01-26 04:15:15 +00:00
modules-import-assertions-dynamic-3.mjs [modules][api] Add version of HostImportModuleDynamically with import assertions 2021-01-26 04:15:15 +00:00
modules-import-assertions-dynamic-4.mjs [modules][api] Add version of HostImportModuleDynamically with import assertions 2021-01-26 04:15:15 +00:00
modules-import-assertions-dynamic-5.mjs [modules][api] Add version of HostImportModuleDynamically with import assertions 2021-01-26 04:15:15 +00:00
modules-import-assertions-dynamic-6.mjs [modules][api] Add version of HostImportModuleDynamically with import assertions 2021-01-26 04:15:15 +00:00
modules-import-assertions-dynamic-7.mjs [modules][api] Add version of HostImportModuleDynamically with import assertions 2021-01-26 04:15:15 +00:00
modules-import-assertions-dynamic-8.mjs [modules][api] Add version of HostImportModuleDynamically with import assertions 2021-01-26 04:15:15 +00:00
modules-import-assertions-dynamic-9.mjs [modules][api] Add version of HostImportModuleDynamically with import assertions 2021-01-26 04:15:15 +00:00
modules-import-assertions-dynamic-10.mjs [modules][api] Add version of HostImportModuleDynamically with import assertions 2021-01-26 04:15:15 +00:00
modules-import-assertions-dynamic-11.mjs Fix top-level await crash from synthetic module being evaluated twice 2021-02-10 16:50:25 +00:00
modules-import-assertions-dynamic-12.mjs Handle failure in KeyAccumulator::GetKeys 2021-05-06 17:05:51 +00:00
modules-import-large.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-meta.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-namespace.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-import-rqstd-order-async-cycle.mjs [top-level-await] Implement spec fix for cycle root detection 2021-02-03 18:07:58 +00:00
modules-import-rqstd-order-async-subgraph.mjs [top-level-await] Implement the new post-order requirement for async subgraphs 2021-03-19 19:22:04 +00:00
modules-import-rqstd-order-top-level-await-1.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-rqstd-order-top-level-await-2.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-rqstd-order-top-level-await-3.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-rqstd-order-top-level-await-4.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-rqstd-order-top-level-await-5.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-rqstd-order-top-level-await-6.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-rqstd-order-top-level-await-7.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-rqstd-order-top-level-await-8.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-1.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-2.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-3.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-4.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-5.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-6.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-7.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-8.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-cycle.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-import-top-level-await-exception-1.mjs [d8] Exit with error code upon unhandled promise rejection 2020-06-24 07:21:58 +00:00
modules-import-top-level-await-exception-2.mjs [d8] Exit with error code upon unhandled promise rejection 2020-06-24 07:21:58 +00:00
modules-import-top-level-await-exception-3.mjs [d8] Exit with error code upon unhandled promise rejection 2020-06-24 07:21:58 +00:00
modules-skip-1-rqstd-order-indirect-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-1-rqstd-order-indirect-unreached-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-1-rqstd-order-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-1-rqstd-order-unreached-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-1-rqstd-order.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-1-top-level-await-cycle.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-1-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-1.json [modules][api] Add version of HostImportModuleDynamically with import assertions 2021-01-26 04:15:15 +00:00
modules-skip-1.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-2-rqstd-order-indirect-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-2-rqstd-order-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-2-rqstd-order.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-2-top-level-await-cycle.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-2-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-2.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-3-rqstd-order-indirect-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-3-rqstd-order-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-3-rqstd-order.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-3-top-level-await-cycle.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-3-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-3.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-4-rqstd-order-indirect-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-4-rqstd-order-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-4-rqstd-order.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-4-top-level-await-cycle.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-4-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-4.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-5-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-5.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-6-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-6.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-7-top-level-await.mjs [top-level-await] Add support for parsing top level await 2019-09-24 14:01:32 +00:00
modules-skip-7.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-8.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-9.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-10.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-11.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-12.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-13.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-async-cycle-1.mjs [top-level-await] Implement spec fix for cycle root detection 2021-02-03 18:07:58 +00:00
modules-skip-async-cycle-2.mjs [top-level-await] Implement spec fix for cycle root detection 2021-02-03 18:07:58 +00:00
modules-skip-async-cycle-3.mjs [top-level-await] Implement spec fix for cycle root detection 2021-02-03 18:07:58 +00:00
modules-skip-async-cycle-leaf.mjs [top-level-await] Implement spec fix for cycle root detection 2021-02-03 18:07:58 +00:00
modules-skip-async-cycle-start.mjs [top-level-await] Implement spec fix for cycle root detection 2021-02-03 18:07:58 +00:00
modules-skip-async-subgraph-1.mjs [top-level-await] Implement the new post-order requirement for async subgraphs 2021-03-19 19:22:04 +00:00
modules-skip-async-subgraph-2.mjs [top-level-await] Implement the new post-order requirement for async subgraphs 2021-03-19 19:22:04 +00:00
modules-skip-async-subgraph-async.mjs [top-level-await] Implement the new post-order requirement for async subgraphs 2021-03-19 19:22:04 +00:00
modules-skip-async-subgraph-start.mjs [top-level-await] Implement the new post-order requirement for async subgraphs 2021-03-19 19:22:04 +00:00
modules-skip-async-subgraph-x.mjs [top-level-await] Implement the new post-order requirement for async subgraphs 2021-03-19 19:22:04 +00:00
modules-skip-empty.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-export-import-meta.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-imports-json-1.mjs [modules][api] Add version of HostImportModuleDynamically with import assertions 2021-01-26 04:15:15 +00:00
modules-skip-large1.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-large2.mjs [test] Remove module pragma in favor of .mjs 2019-06-27 13:25:48 +00:00
modules-skip-top-level-await-cycle-error-indirection.mjs [modules] Fix AsyncModuleExecutionFulfilled with pending error 2021-08-09 15:15:03 +00:00
modules-skip-top-level-await-cycle-error-throwing.mjs [modules] Fix AsyncModuleExecutionFulfilled with pending error 2021-08-09 15:15:03 +00:00
modules-skip-top-level-await-cycle-error.mjs [modules] Fix AsyncModuleExecutionFulfilled with pending error 2021-08-09 15:15:03 +00:00
modules-top-level-await-cycle-error.mjs [modules] Fix AsyncModuleExecutionFulfilled with pending error 2021-08-09 15:15:03 +00:00
nullish.js [nullish] Add support for nullish operator 2019-08-21 15:48:34 +00:00
numeric-separator.js [harmony-numeric-separator] remove flag 2019-08-01 10:10:24 +00:00
object-fromentries.js Remove always-true --harmony-object-from-entries runtime flag 2019-06-24 15:01:01 +00:00
optional-catch-binding-breaks.js Remove always-true --harmony-optional-catch-binding runtime flag 2018-06-05 16:24:20 +00:00
optional-catch-binding.js Remove always-true --harmony-optional-catch-binding runtime flag 2018-06-05 16:24:20 +00:00
optional-chaining-this-private.js [class] Fix parenthesized calls of optional chains containing private fields 2020-05-25 19:04:54 +00:00
optional-chaining-this.js Fix the receiver when calling parenthesized optional chains 2019-11-29 00:44:06 +00:00
optional-chaining.js Support the o?.#foo syntax 2020-04-14 10:16:25 +00:00
private-accessors.js [flags] Remove --harmony-private-methods 2020-11-12 23:21:53 +00:00
private-brand-checks.js [parser] Fix parsing '#x in expr' in binary expressions 2021-09-23 17:36:03 +00:00
private-fields-ic.js [class] Remove flags for class fields 2019-05-01 02:02:51 +00:00
private-fields-special-object.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
private-fields-static.js [class] Remove flags for class fields 2019-05-01 02:02:51 +00:00
private-fields.js [class] fix undefined private name access in computed property keys 2019-10-10 19:43:01 +00:00
private-methods-empty-inner.js [flags] Remove --harmony-private-methods 2020-11-12 23:21:53 +00:00
private-methods.js [flags] Remove --harmony-private-methods 2020-11-12 23:21:53 +00:00
private-name-scopes.js [class] Fix private name scope chain 2019-09-06 00:52:07 +00:00
private-symbols.js [builtins] Port Proxy has trap to CSA 2017-08-16 13:05:45 +00:00
private.js Remove %_ClassOf and SharedFunctionInfo::instance_class_name 2018-02-15 11:52:08 +00:00
promise-all-settled.js [flags] Remove --harmony-promise-all-settled 2020-11-03 19:34:42 +00:00
promise-any-overflow-1.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
promise-any-overflow-2.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
promise-any-resolve-not-callable.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
promise-any.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
promise-prototype-finally.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
public-instance-class-fields.js [class] Remove flags for class fields 2019-05-01 02:02:51 +00:00
public-static-class-fields.js [class] Remove flags for class fields 2019-05-01 02:02:51 +00:00
regexp-change-exec.js
regexp-dotall.js Ship RegExp dotAll mode / s flag 2017-07-28 08:17:38 +00:00
regexp-match-indices.js [dict-proto] Constness tracking of dictionary properties (jitless) 2021-02-04 11:42:33 +00:00
regexp-named-captures.js [regexp] Fix the order of named captures on the groups object 2019-10-16 07:37:05 +00:00
regexp-overriden-exec.js [turbofan] Brokerize reduction of RegExp.prototype.test 2019-07-17 11:40:51 +00:00
regexp-property-binary.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-char-class.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-enumerated.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-exact-match.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-general-category.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-invalid.js Reland "[regexp] implement regexp property sequence proposal" 2018-09-19 08:39:22 +00:00
regexp-property-lu-ui0.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui1.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui2.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui3.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui4.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui5.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui6.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui7.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui8.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui9.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-lu-ui.js [mjsunit] Split up long RegExp tests 2017-11-22 13:38:52 +00:00
regexp-property-script-extensions.js Roll ICU to ICU 62.1 2018-07-11 10:24:26 +00:00
regexp-property-scripts.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regexp-property-special.js Remove always-true --harmony-regexp-property runtime flag 2018-06-05 09:19:59 +00:00
regress-generators-resume.js [Test] Add PrepareForOptimization to some mjsunit tests. 2019-05-03 13:32:32 +00:00
relative-indexing-methods.js Add 'at' to Array.prototype[@@unscopables] 2020-11-24 15:41:11 +00:00
set-prototype-of.js
sharedarraybuffer-stress.js [ubsan] Make ARM and ARM64 UBSan-clean 2019-09-16 15:03:45 +00:00
sharedarraybuffer-worker-gc-stress.js [d8][mjsunit][tools] Improve d8 file API 2021-06-01 13:37:57 +00:00
sharedarraybuffer.js [builtins] TypedArray.prototype.set with number 2021-09-02 00:06:23 +00:00
static-private-methods.js [flags] Remove --harmony-private-methods 2020-11-12 23:21:53 +00:00
string-matchAll-deleted-matchAll.js Remove always-true --harmony-string-matchall runtime flag 2019-04-25 10:46:05 +00:00
string-matchAll.js Reland "[torque] Allow storing to bitfield structs that are stored in Smis" 2020-04-22 10:34:46 +00:00
string-replaceAll.js [replaceAll] Fix replaceAll overflow with StringCompareSequence. 2019-12-26 18:47:05 +00:00
symbol-async-iterator.js Remove always-true --harmony-async-iteration runtime flag 2018-01-12 20:14:34 +00:00
symbol-description.js Remove always-true --harmony-symbol-description runtime flag 2019-02-14 10:36:05 +00:00
to-length.js [interpreter] Remove unused interpreter intrinsics 2021-06-17 13:43:41 +00:00
to-name.js
to-number.js [cleanup] Remove a lot of dead intrinsics/runtime functions. 2018-09-20 12:48:57 +00:00
to-string.js [cleanup] Remove ToString intrinsic 2021-04-23 15:02:42 +00:00
trailing-commas-length.js [cleanup] Remove on-by-default --harmony-trailing-commas flag 2017-06-13 00:09:23 +00:00
typedarray-findlast.js [builtins] Implement Array#findFromLast and friends 2021-07-29 19:37:15 +00:00
typedarray-findlastindex.js [builtins] Implement Array#findFromLast and friends 2021-07-29 19:37:15 +00:00
typedarray-set-length-detach.js [elements] Remove detach CHECK from the generic TypedArray#set 2020-09-22 16:10:38 +00:00
well-formed-json-stringify-checked.js Remove always-true --harmony-json-stringify runtime flag 2019-04-24 14:51:09 +00:00
well-formed-json-stringify-unchecked.js Remove always-true --harmony-json-stringify runtime flag 2019-04-24 14:51:09 +00:00