[CSS Container Queries] offsetWidth/Height and similar should update layout for conta...
[webkit.git] / JSTests / ChangeLog
blobfdc5e219da7da51824e9b1183860a2cee8c13177
1 2022-02-22  Yusuke Suzuki  <ysuzuki@apple.com>
3         [JSC] ShadowRealm JSRemoteFunction creation should convert CopyNameAndLength errors to TypeError
4         https://bugs.webkit.org/show_bug.cgi?id=237007
6         Reviewed by Alexey Shvayka.
8         * test262/expectations.yaml:
10 2022-02-22  Yusuke Suzuki  <ysuzuki@apple.com>
12         [JSC] TypeError from JSRemoteFunction should be generated by JSRemoteFunction's JSGlobalObject
13         https://bugs.webkit.org/show_bug.cgi?id=237013
15         Reviewed by Saam Barati.
17         * test262/expectations.yaml:
19 2022-02-21  Yusuke Suzuki  <ysuzuki@apple.com>
21         [JSC] Fix ShadowRealm unwinding
22         https://bugs.webkit.org/show_bug.cgi?id=237001
24         Reviewed by Saam Barati.
26         * test262/expectations.yaml:
28 2022-02-21  Yusuke Suzuki  <ysuzuki@apple.com>
30         [JSC] Temporal.PlainDate should validate input range
31         https://bugs.webkit.org/show_bug.cgi?id=236936
33         Reviewed by Darin Adler.
35         * stress/temporal-plaindate.js:
36         (shouldThrow):
38 2022-02-21  Yusuke Suzuki  <ysuzuki@apple.com>
40         [JSC] ShadowRealm wrapArgument should check exceptions
41         https://bugs.webkit.org/show_bug.cgi?id=236984
43         Reviewed by Alexey Shvayka.
45         * stress/exception-in-wrap-argument-for-shadow-realm.js: Added.
46         (shouldThrow):
48 2022-02-21  Yusuke Suzuki  <ysuzuki@apple.com>
50         [JSC] Update test262
51         https://bugs.webkit.org/show_bug.cgi?id=236990
53         Reviewed by Alexey Shvayka.
55         * test262/expectations.yaml:
56         * test262/test262-Revision.txt:
58 2022-02-21  Yusuke Suzuki  <ysuzuki@apple.com>
60         [JSC] Add explicit exception check after appendWithoutSideEffects
61         https://bugs.webkit.org/show_bug.cgi?id=236986
62         rdar://88258776
64         Reviewed by Saam Barati.
66         * stress/array-to-string-oom.js: Added.
68 2022-02-21  Yusuke Suzuki  <ysuzuki@apple.com>
70         [JSC] Add CalendarDateTime parsing
71         https://bugs.webkit.org/show_bug.cgi?id=236886
73         Reviewed by Dean Jackson.
75         * stress/temporal-instant.js:
76         * stress/temporal-plaindate.js:
77         * stress/temporal-plaintime.js:
79 2022-02-19  Commit Queue  <commit-queue@webkit.org>
81         Unreviewed, reverting r290194 and r290210.
82         https://bugs.webkit.org/show_bug.cgi?id=236890
84         debug crash
86         Reverted changesets:
88         "[JSC] Make ArrayPrototype just an array"
89         https://bugs.webkit.org/show_bug.cgi?id=236869
90         https://commits.webkit.org/r290194
92         "Unreviewed, use ArrayWithUndecided in ArrayPrototype"
93         https://bugs.webkit.org/show_bug.cgi?id=236869
94         https://commits.webkit.org/r290210
96 2022-02-19  Yusuke Suzuki  <ysuzuki@apple.com>
98         Unreviewed, use ArrayWithUndecided in ArrayPrototype
99         https://bugs.webkit.org/show_bug.cgi?id=236869
101         * stress/array-prototype-concat.js: Added.
103 2022-02-19  Dean Jackson  <dino@apple.com>
105         [JSC] Implement Temporal.PlainDate
106         https://bugs.webkit.org/show_bug.cgi?id=230033
107         <rdar://problem/83127747>
109         Reviewed by Yusuke Suzuki.
111         Some basic tests for PlainDate.
113         * stress/temporal-plaindate.js: Added.
114         (shouldBe):
115         (shouldThrow):
116         (shouldBe.String.Temporal.PlainDate.from):
117         (let.text.of.failures.shouldThrow):
119 2022-02-17  Mikhail R. Gadelha  <mikhail@igalia.com>
121         [32bit] Increase fixedExecutableMemoryPoolSize on ARM to 32MB
122         https://bugs.webkit.org/show_bug.cgi?id=236606
124         Reviewed by Mark Lam.
126         Increased executable memory on ARM to 32MB and make it consistent with
127         other 32 bit platforms (MIPS and x86). This patch also enables some
128         tests that now pass because of the increased memory; each test was
129         executed 1000 times and there was no failure.
131         let-const-tdz-environment-parsing-and-hash-consing-speed.js was disabled
132         on MIPS because the jitted code is still a bit too bigger for the 32MB,
133         but it can probably be enable when the EXTRA_CTI_THUNKS patch lands.
135         * microbenchmarks/let-const-tdz-environment-parsing-and-hash-consing-speed.js:
136         * stress/arrowfunction-lexical-bind-superproperty.js:
137         * stress/proxy-revoke.js:
138         * stress/regress-169445.js:
139         * stress/tagged-template-object-collect.js:
141 2022-02-17  Angelos Oikonomopoulos  <angelos@igalia.com>
143         [JSC] Unskip test on mips
144         https://bugs.webkit.org/show_bug.cgi?id=236645
146         Unreviewed gardening.
148         Can't reproduce this locally after 20 iterations.
150         * stress/sampling-profiler-richards.js:
152 2022-02-16  Geza Lore  <glore@igalia.com>
154         [JSC][32-bit] Fix and re-enable flaky test
155         https://bugs.webkit.org/show_bug.cgi?id=181227
157         Reviewed by Adrian Perez de Castro.
159         * stress/new-largeish-contiguous-array-with-size.js:
160         Re-enable on ARMv7, re-enable and increase leniency on MIPS.
162 2022-02-15  Mark Lam  <mark.lam@apple.com>
164         Defer TerminationsExceptions while in operationMaterializeObjectInOSR.
165         https://bugs.webkit.org/show_bug.cgi?id=236686
166         rdar://81337114
168         Reviewed by Saam Barati.
170         These tests are identical except that they are customized with different watchdog
171         timeout periods for a Debug / Release build.  This is a necessary condition in
172         order for the test to manifest this issue if the code is regressed.
174         * stress/termination-exception-in-operationMaterializeObjectInOSR-debug.js: Added.
175         * stress/termination-exception-in-operationMaterializeObjectInOSR-release.js: Added.
177 2022-02-15  Xan Lopez  <xan@igalia.com>
179         [JSC] Reduce iterations for getter-richards.js on MIPS
180         https://bugs.webkit.org/show_bug.cgi?id=236594
182         Reviewed by Adrian Perez de Castro.
184         * typeProfiler/getter-richards.js: do 50 iterations on MIPS.
186 2022-02-14  Yusuke Suzuki  <ysuzuki@apple.com>
188         `Array#{ groupBy, groupByToMap }` should throw a `TypeError` when `this` is `null` or `undefined`
189         https://bugs.webkit.org/show_bug.cgi?id=236541
191         Reviewed by Alexey Shvayka.
193         * stress/array-group-by-null-or-undefined.js: Added.
194         (shouldThrow):
196 2022-02-09  Angelos Oikonomopoulos  <angelos@igalia.com>
198         Skip failing shadow realms tests on MIPS
199         https://bugs.webkit.org/show_bug.cgi?id=236361
201         Unreviewed gardening.
203         * stress/shadow-realm-evaluate.js:
204         * stress/shadow-realm-import-value.js:
206 2022-02-08  Yusuke Suzuki  <ysuzuki@apple.com>
208         [JSC] YarrJIT inlining should be disabled when we have DotStarEnclosure
209         https://bugs.webkit.org/show_bug.cgi?id=236332
210         rdar://88483574
212         Reviewed by Michael Saboff.
214         * stress/yarr-inlining-dot-star-enclosure.js: Added.
215         (test):
217 2022-02-08  Caitlin Potter  <caitp@igalia.com>
219         [JSC] move function wrapping logic to a new Function type
220         https://bugs.webkit.org/show_bug.cgi?id=235382
222         Reviewed by Yusuke Suzuki.
224         Adds a new file testing CopyNameAndLength stuff in the ShadowRealm proposal,
225         and fix up assertions about this in shadow-realm-evaluate.js
227         * stress/shadow-realm-evaluate.js:
228         * stress/shadow-realm-remote-function-copy-length-and-name.js: Added.
230 2022-02-06  Yusuke Suzuki  <ysuzuki@apple.com>
232         [Wasm] ref.null check should be done first in B3 call_ref
233         https://bugs.webkit.org/show_bug.cgi?id=236206
235         Reviewed by Mark Lam.
237         * wasm.yaml:
238         * wasm/function-references-spec-tests/call-null-ref.wast.js: Added.
240 2022-02-06  Alexey Shvayka  <ashvayka@apple.com>
242         Object literal doesn't properly resolve name clash between an accessor and a constant property
243         https://bugs.webkit.org/show_bug.cgi?id=220574
245         Reviewed by Yusuke Suzuki.
247         * stress/class-static-accessor-name-clash-with-field.js: Added.
248         * stress/object-literal-accessor-name-clash-with-constant.js: Added.
250 2022-02-05  Alexey Shvayka  <ashvayka@apple.com>
252         Attempting to [[Set]] JSArray's read-only "length" should throw even with current [[Value]]
253         https://bugs.webkit.org/show_bug.cgi?id=221177
255         Reviewed by Saam Barati.
257         * stress/array-prototype-methods-set-length.js: Added.
259 2022-02-04  Yusuke Suzuki  <ysuzuki@apple.com>
261         WeakRef deref can return null instead of undefined
262         https://bugs.webkit.org/show_bug.cgi?id=235880
264         Reviewed by Sam Weinig and Alexey Shvayka.
266         * stress/v8-finalizationregistry-and-weakref.js:
267         (setTimeout):
269 2022-02-02  Alexey Shvayka  <ashvayka@apple.com>
271         Speed-up JSON.stringify() by avoiding "toJSON" property lookups
272         https://bugs.webkit.org/show_bug.cgi?id=235996
274         Reviewed by Saam Barati.
276         * microbenchmarks/json-stringify-many-objects-to-json.js:
277         Make this test a little more realistic by moving "toJSON" onto prototype.
279         * microbenchmarks/vanilla-todomvc-json-stringify.js: Added.
281 2022-02-02  Yusuke Suzuki  <ysuzuki@apple.com>
283         [JSC] wasm atomic opcodes should be rejected if alignment is not equal to natural width
284         https://bugs.webkit.org/show_bug.cgi?id=235990
286         Reviewed by Saam Barati.
288         * wasm/stress/invalid-atomic-alignment.js: Added.
289         (async buildAndThrow):
291 2022-02-01  Commit Queue  <commit-queue@webkit.org>
293         Unreviewed, reverting r288538.
294         https://bugs.webkit.org/show_bug.cgi?id=235968
296         `Array#groupBy` name has web-compat issue
297         <https://github.com/tc39/proposal-array-grouping/issues/37>
299         Reverted changeset:
301         "[JSC] Enable Array#groupBy and Array#groupByToMap"
302         https://bugs.webkit.org/show_bug.cgi?id=235549
303         https://commits.webkit.org/r288538
305 2022-01-28  Tom Tartarin  <tom@leaningtech.com>
307         [JSC] Add support for WASM branch hinting proposal
308         https://bugs.webkit.org/show_bug.cgi?id=235581
310         Reviewed by Yusuke Suzuki.
312         Add test for branch hinting custom section
314         * wasm.yaml:
315         * wasm/branch-hints/branchHintsModule.wasm: Added.
316         * wasm/branch-hints/branchHintsSection.js: Added.
317         (const.module):
319 2022-01-24  Yusuke Suzuki  <ysuzuki@apple.com>
321         [JSC] Enable Array#groupBy and Array#groupByToMap
322         https://bugs.webkit.org/show_bug.cgi?id=235549
324         Reviewed by Ross Kirsling.
326         * stress/unscopables.js:
328 2022-01-24  Yusuke Suzuki  <ysuzuki@apple.com>
330         [JSC] Support import assertion syntax
331         https://bugs.webkit.org/show_bug.cgi?id=235312
333         Reviewed by Ross Kirsling.
335         * modules/import-meta-syntax.js:
336         (shouldThrow):
337         * stress/import-syntax.js:
338         * stress/modules-syntax-error.js:
339         * stress/modules-syntax-import-assertion-error.js: Added.
340         (shouldThrow):
341         * stress/modules-syntax-import-assertion.js: Added.
343 2022-01-21  Yusuke Suzuki  <ysuzuki@apple.com>
345         [JSC] Relax Date.parse requirement
346         https://bugs.webkit.org/show_bug.cgi?id=235468
348         Reviewed by Darin Adler.
350         * stress/date-relaxed-separator.js: Added.
351         (shouldBe):
353 2022-01-19  Yusuke Suzuki  <ysuzuki@apple.com>
355         [JSC] Implement Temporal.Now.instant()
356         https://bugs.webkit.org/show_bug.cgi?id=234836
358         Reviewed by Ross Kirsling.
360         * stress/temporal-now-instant.js: Added.
361         (shouldBe):
363 2022-01-19  Yusuke Suzuki  <ysuzuki@apple.com>
365         [JSC] Fix YarrJIT backtrackCharacterClassNonGreedy breakpoint
366         https://bugs.webkit.org/show_bug.cgi?id=235348
368         Reviewed by Michael Saboff.
370         * stress/regexp-unicode-surrogate-pair-increment-should-involve-length-check.js:
372 2022-01-19  Michael Catanzaro  <mcatanzaro@gnome.org>
374         Unreviewed, skip new test max-typed-array-length-toString.js when memory-limited
375         https://bugs.webkit.org/show_bug.cgi?id=235217
377         * stress/max-typed-array-length-toString.js:
379 2022-01-18  Mark Lam  <mark.lam@apple.com>
381         Gardening: resolve test failure on CLoop.
383         Not reviewed.
385         Change test to not rely on WebAssembly.
387         * stress/max-typed-array-length-toString.js:
389 2022-01-15  Yusuke Suzuki  <ysuzuki@apple.com>
391         [JSC] Fix Date functions' argument coercion
392         https://bugs.webkit.org/show_bug.cgi?id=235271
394         Reviewed by Alexey Shvayka.
396         * test262/expectations.yaml:
398 2022-01-15  Yusuke Suzuki  <ysuzuki@apple.com>
400         [JSC] Fix misc issues in WebAssembly.Exception
401         https://bugs.webkit.org/show_bug.cgi?id=235261
403         Reviewed by Alexey Shvayka.
405         * wasm/stress/create-tag-from.js:
406         * wasm/v8/exceptions-api.js:
407         (TestGetArg):
409 2022-01-15  Yusuke Suzuki  <ysuzuki@apple.com>
411         [JSC] Upgrade test262
412         https://bugs.webkit.org/show_bug.cgi?id=235263
414         Reviewed by Alexey Shvayka.
416         Update to the latest one.
418         * test262/config.yaml:
419         * test262/expectations.yaml:
420         * test262/test262-Revision.txt:
422 2022-01-14  Mark Lam  <mark.lam@apple.com>
424         JSStringJoiner's constructor should take a size_t length.
425         https://bugs.webkit.org/show_bug.cgi?id=235217
426         rdar://87538657
428         Reviewed by Yusuke Suzuki.
430         * stress/max-typed-array-length-toString.js: Added.
432 2022-01-14  Alexey Shvayka  <ashvayka@apple.com>
434         JSArray::fastSlice() should not convert the source from CoW
435         https://bugs.webkit.org/show_bug.cgi?id=234990
437         Reviewed by Yusuke Suzuki.
439         * stress/array-slice-cow.js:
441 2022-01-14  Justin Michaud  <justin_michaud@apple.com>
443         Update libWABT
444         https://bugs.webkit.org/show_bug.cgi?id=235050
446         Update libWabt to support new simd instructions, and add stubs so that the 
447         wasm test runner can run in v8.
449         Reviewed by Yusuke Suzuki.
451         * wasm/assert.js:
452         * wasm/libwabt.js:
453         (WabtModule):
454         (set get if):
456 2022-01-11  Asumu Takikawa  <asumu@igalia.com>
458         [Wasm] Unify memory import handling in module loader and JS cases
459         https://bugs.webkit.org/show_bug.cgi?id=234116
461         Reviewed by Yusuke Suzuki.
463         Add an instantiation test case that tests that instantiating the same
464         binary module twice will not crash.
466         * wasm/js-api/web-assembly-instantiate.js:
467         (assert.asyncTest.async test):
468         (assert.asyncTest):
470 2022-01-10  Yusuke Suzuki  <ysuzuki@apple.com>
472         Unreviewed, add a bit more Intl.Locale hourCycle tests to investigate flakiness
474         * stress/intl-locale-info.js:
475         (let.l.new.Intl.Locale.shouldBe):
476         (shouldBe):
478 2022-01-07  Alexey Shvayka  <ashvayka@apple.com>
480         Expand the set of objects we take JSArray::fastSlice() path for
481         https://bugs.webkit.org/show_bug.cgi?id=234539
483         Reviewed by Yusuke Suzuki.
485         * microbenchmarks/array-slice-call-cloned-arguments.js: Added.
486         * stress/array-slice-beyond-length.js: Added.
487         * stress/array-slice-length-lookup.js: Added.
489 2022-01-06  Saam Barati  <sbarati@apple.com>
491         preparePatchpointForExceptions needs to handle tuples
492         https://bugs.webkit.org/show_bug.cgi?id=234909
494         Reviewed by Yusuke Suzuki.
496         Add support to the builder to have functions return tuples.
498         * wasm/Builder.js:
499         (const._normalizeFunctionSignature):
500         (const._maybeRegisterType):
501         * wasm/Builder_WebAssemblyBinary.js:
502         (const.emitters.Type):
503         * wasm/stress/exception-throw-from-function-returning-tuple.js: Added.
504         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.testCatchWithExceptionThrownFromFunctionReturningTuple):
506 2022-01-03  Yusuke Suzuki  <ysuzuki@apple.com>
508         Array.prototype.toLocaleString does not respect deletion of Object.prototype.toLocaleString
509         https://bugs.webkit.org/show_bug.cgi?id=232723
511         Reviewed by Alexey Shvayka.
513         * ChakraCore/test/Array/toLocaleString.baseline-jsc:
514         * stress/array-tolocalestring-delete-tolocalestring.js: Added.
515         (shouldThrow):
516         * stress/array-tolocalestring-empty-separator.js: Added.
517         (shouldBe):
518         * stress/array-tolocalestring-options.js: Added.
519         (shouldBe):
520         * stress/array-tolocalestring-undefined-null.js: Added.
521         (shouldBe):
522         (shouldBe.toLocaleString):
524 2022-01-03  Yusuke Suzuki  <ysuzuki@apple.com>
526         [JSC] Fix Intl.PluralRules.selectRange input validation
527         https://bugs.webkit.org/show_bug.cgi?id=234817
529         Reviewed by Alexey Shvayka.
531         * stress/intl-pluralrules-select-range-validate-inputs.js: Added.
532         (shouldThrow):
533         (Intl.PluralRules.prototype.selectRange.shouldThrow):
535 2022-01-03  Yusuke Suzuki  <ysuzuki@apple.com>
537         [JSC] Update UCD to Unicode 14.0.0
538         https://bugs.webkit.org/show_bug.cgi?id=234811
540         Reviewed by Sam Weinig.
542         * test262/expectations.yaml:
544 2022-01-03  Yusuke Suzuki  <ysuzuki@apple.com>
546         [JSC] Read-modify-write operation's second put-to-scope should not throw error if binding does not exist
547         https://bugs.webkit.org/show_bug.cgi?id=234813
549         Reviewed by Alexey Shvayka.
551         * stress/global-object-read-modify-write-remove-at-get-strict.js: Added.
552         (shouldThrow):
553         * stress/global-object-read-modify-write-remove-at-get.js: Added.
554         (shouldBe):
555         * test262/expectations.yaml:
557 2022-01-03  Yusuke Suzuki  <ysuzuki@apple.com>
559         [JSC] Fix length of Intl.NumberFormat.formatRange and Intl.PluralRules.selectRange
560         https://bugs.webkit.org/show_bug.cgi?id=234806
562         Reviewed by Alexey Shvayka.
564         * stress/intl-numberformat-format-range-v3.js:
565         (nf.formatRange.nf.formatRangeToParts.methods.forEach):
566         * stress/intl-pluralrules-selectrange.js:
568 2022-01-03  Yusuke Suzuki  <ysuzuki@apple.com>
570         [JSC] Update test262
571         https://bugs.webkit.org/show_bug.cgi?id=234807
573         Reviewed by Alexey Shvayka.
575         * test262/config.yaml:
576         * test262/expectations.yaml:
577         * test262/test262-Revision.txt:
579 2022-01-02  Yusuke Suzuki  <ysuzuki@apple.com>
581         [JSC] Use emitPutProperty / emitGetPropertyValue consistently to handle private names in edge cases
582         https://bugs.webkit.org/show_bug.cgi?id=234794
584         Reviewed by Alexey Shvayka.
586         * test262/expectations.yaml:
588 2021-12-22  Saam Barati  <sbarati@apple.com>
590         LLInt should loop OSR into BBQ and BBQ should loop OSR into OMG
591         https://bugs.webkit.org/show_bug.cgi?id=234542
593         Reviewed by Yusuke Suzuki.
595         * wasm/wast-tests/harness.js:
597 2021-12-19  Ross Kirsling  <ross.kirsling@sony.com>
599         [JSC] OpPow should have a "small int exponent" fast path at lower tiers
600         https://bugs.webkit.org/show_bug.cgi?id=234408
602         Reviewed by Yusuke Suzuki.
604         * microbenchmarks/pow-double-int.js: Added.
605         * microbenchmarks/pow-int-int.js: Added.
607 2021-12-16  Devin Rousso  <drousso@apple.com>
609         Implement Array.prototype.groupBy and Array.prototype.groupByToMap
610         https://bugs.webkit.org/show_bug.cgi?id=234327
612         Reviewed by Yusuke Suzuki.
614         * stress/array-groupBy.js: Added.
615         (shouldBe):
616         (shouldBeObject):
617         (shouldBeObject.replacer):
618         (notReached):
619         (toObject):
620         (reverseInsertionOrder):
621         * stress/array-groupByToMap.js: Added.
622         (shouldBe):
623         (shouldBeObject):
624         (shouldBeObject.replacer):
625         (shouldBeMap):
626         (notReached):
627         (toObject):
628         (reverseInsertionOrder):
630 2021-12-15  Joseph Griego  <jgriego@igalia.com>
632         [Shadow Realms] Wrapped functions must only throw TypeError from calling realm
633         https://bugs.webkit.org/show_bug.cgi?id=234357
635         Test the cases when the exception would be thrown by a function
636         originating from both the shadow realm and the incubating realm.
638         Reviewed by Yusuke Suzuki.
640         * stress/shadow-realm-evaluate.js:
641         (shouldBe):
642         (let.f.realm.evaluate):
643         (shouldBe.f):
645 2021-12-13  Yusuke Suzuki  <ysuzuki@apple.com>
647         [JSC] Update Intl tests based on ICU 69~
648         https://bugs.webkit.org/show_bug.cgi?id=234276
650         Reviewed by Mark Lam.
652         Rebaseline Intl tests based on ICU 69~'s CLDR update.
654         * stress/array-toLocaleString.js:
655         * stress/date-toLocaleString.js:
656         * stress/intl-canonical-locale-alias-mapping.js:
657         (Intl.getCanonicalLocales):
658         * stress/intl-datetimeformat-formatrange-relevant-extensions-ja.js:
659         (vm.icuVersion):
660         * stress/intl-datetimeformat-formatrangetoparts-relevant-extensions-ja.js:
661         * stress/intl-datetimeformat.js:
662         * stress/intl-enumeration.js:
663         * stress/intl-locale-info.js:
664         (shouldBe):
665         * stress/intl-locale.js:
667 2021-12-10  Yusuke Suzuki  <ysuzuki@apple.com>
669         Unreviewed, we may not throw an stack overflow error
671         * stress/stack-overflow-in-custom-hasInstance.js:
672         (catch):
674 2021-12-08  Asumu Takikawa  <asumu@igalia.com>
676         Support WebAssembly.Memory imports in Wasm/ESM modules.
677         https://bugs.webkit.org/show_bug.cgi?id=184745
679         Reviewed by Yusuke Suzuki.
681         * wasm/modules/wasm-imports-js-exports.js:
682         (then):
683         * wasm/modules/wasm-imports-js-exports/memory-fail-1.js: Added.
684         * wasm/modules/wasm-imports-js-exports/memory-fail-1.wasm: Added.
685         * wasm/modules/wasm-imports-js-exports/memory-fail-1.wat: Added.
686         * wasm/modules/wasm-imports-js-exports/memory-fail-2.js: Added.
687         * wasm/modules/wasm-imports-js-exports/memory-fail-2.wasm: Added.
688         * wasm/modules/wasm-imports-js-exports/memory-fail-2.wat: Added.
689         * wasm/modules/wasm-imports-js-exports/memory-fail-3.js: Added.
690         * wasm/modules/wasm-imports-js-exports/memory-fail-3.wasm: Added.
691         * wasm/modules/wasm-imports-js-exports/memory-fail-3.wat: Added.
692         * wasm/modules/wasm-imports-js-exports/memory-fail-4.js: Added.
693         * wasm/modules/wasm-imports-js-exports/memory-fail-4.wasm: Added.
694         * wasm/modules/wasm-imports-js-exports/memory-fail-4.wat: Added.
695         * wasm/modules/wasm-imports-js-exports/memory-fail-5.js: Added.
696         * wasm/modules/wasm-imports-js-exports/memory-fail-5.wasm: Added.
697         * wasm/modules/wasm-imports-js-exports/memory-fail-5.wat: Added.
698         * wasm/modules/wasm-imports-js-exports/memory.js: Added.
699         (export.setMemory):
700         * wasm/modules/wasm-imports-js-exports/memory.wasm: Added.
701         * wasm/modules/wasm-imports-js-exports/memory.wat: Added.
702         * wasm/modules/wasm-imports-js-exports/shared-memory.js: Added.
703         * wasm/modules/wasm-imports-js-exports/shared-memory.wasm: Added.
704         * wasm/modules/wasm-imports-js-exports/shared-memory.wat: Added.
705         * wasm/modules/wasm-imports-js-re-exports-wasm-exports.js:
706         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wasm:
707         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wat:
708         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/re-export.js:
709         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wasm:
710         * wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wat:
712 2021-12-07  Saam Barati  <sbarati@apple.com>
714         TypedArray prototype set should go down the fast path when using non clamped integer types of the same byte size
715         https://bugs.webkit.org/show_bug.cgi?id=233905
717         Reviewed by Keith Miller.
719         * microbenchmarks/typed-array-prototype-set.js: Added.
720         * microbenchmarks/typed-array-prototype-set-order.js: Added.
721         * stress/typed-array-prototype-set.js: Added.
723 2021-12-02  Yusuke Suzuki  <ysuzuki@apple.com>
725         [JSC] shell's $.globalObjectFor is not safe for non object cells
726         https://bugs.webkit.org/show_bug.cgi?id=233794
728         Reviewed by Saam Barati.
730         * stress/dollar-global-object.js: Added.
732 2021-12-02  Saam Barati  <sbarati@apple.com>
734         Fix OOM crash in JSValue::toWTFStringForConsole
735         https://bugs.webkit.org/show_bug.cgi?id=233775
736         <rdar://85259423>
738         Reviewed by Mark Lam.
740         * stress/pretty-print-oom.js: Added.
742 2021-11-30  Saam Barati  <sbarati@apple.com>
744         GetMyArgumentByValOutOfBounds needs to check for negative indices
745         https://bugs.webkit.org/show_bug.cgi?id=232966
746         <rdar://problem/85519898>
748         Reviewed by Yusuke Suzuki.
750         * get-my-argument-by-val-negative-1.js: Added.
751         * get-my-argument-by-val-negative-2.js: Added.
752         * get-my-argument-by-val-negative-3.js: Added.
754 2021-11-29  Yusuke Suzuki  <ysuzuki@apple.com>
756         [JSC] jumpForTypedArrayOutOfBounds should use asAnyInt since it uses isAnyInt
757         https://bugs.webkit.org/show_bug.cgi?id=233610
758         rdar://85820476
760         Reviewed by Saam Barati.
762         * stress/anyint-index.js: Added.
763         (foo):
765 2021-11-29  Saam Barati  <sbarati@apple.com>
767         FTL's implementation of HasIndexedProperty for InBounds accesses checks the inverse of what it should be checking when exiting by seeing a hole
768         https://bugs.webkit.org/show_bug.cgi?id=233408
769         <rdar://problem/85787251>
771         Reviewed by Mark Lam.
773         * stress/in-by-val-has-indexed-property-ftl-3.js: Added.
774         * stress/in-by-val-has-indexed-property-ftl-2.js: Added.
775         * stress/in-by-val-has-indexed-property-ftl.js: Added.
777 2021-11-29  Yusuke Suzuki  <ysuzuki@apple.com>
779         [JSC] slice should be aware of TerminationException
780         https://bugs.webkit.org/show_bug.cgi?id=233593
781         rdar://85823844
783         Reviewed by Mark Lam.
785         * stress/slice-termination-exception.js: Added.
786         (async infiniteLoop):
788 2021-11-29  Yusuke Suzuki  <ysuzuki@apple.com>
790         [JSC] Add Intl.NumberFormat.formatRangeToParts
791         https://bugs.webkit.org/show_bug.cgi?id=233539
793         Reviewed by Ross Kirsling.
795         * stress/intl-numberformat-format-large.js:
796         (nf.formatRangeToParts.shouldBe.JSON.stringify.nf.formatRangeToParts):
797         (nf.formatRangeToParts.shouldBe.JSON.stringify.nf2.formatRangeToParts):
798         * stress/intl-numberformat-format-range-v3.js:
799         (nf.formatRange.nf.formatRangeToParts.methods.forEach):
800         (nf.formatRange.string_appeared_here.forEach): Deleted.
801         * stress/intl-numberformat-format-string-v3.js:
802         (nf.formatRangeToParts.shouldBe.JSON.stringify.nf.formatRangeToParts):
803         (nf.formatRangeToParts.shouldBe.JSON.stringify.nf2.formatRangeToParts):
804         * stress/intl-numberformat-format-string.js:
805         (nf.formatRangeToParts.shouldBe.JSON.stringify.nf.formatRangeToParts):
806         (nf.formatRangeToParts.shouldBe.JSON.stringify.nf2.formatRangeToParts):
808 2021-11-29  Yusuke Suzuki  <ysuzuki@apple.com>
810         [JSC] Public Class Field initialization is slow
811         https://bugs.webkit.org/show_bug.cgi?id=232479
813         Reviewed by Alexey Shvayka.
815         * microbenchmarks/class-fields-classic-constructor-assignments.js: Added.
816         (Classic_Constructor_Assignments):
817         (bench):
818         * microbenchmarks/class-fields-private-fields.js: Added.
819         (ES2022_Private_Fields):
820         (bench):
821         * microbenchmarks/class-fields-public-fields.js: Added.
822         (ES2022_Public_Fields):
823         (bench):
824         * stress/class-fields-getter-override.js: Added.
825         (shouldThrow):
826         (defineCGetter.):
827         (B):
828         (define0Getter.):
829         (define0Getter):
830         (D):
831         * stress/custom-get-set-proto-chain-put.js:
832         (let.object.of.getObjects):
833         * stress/freeze-and-seal-should-prevent-extensions.js:
834         * stress/object-assign-fast-path.js:
835         * stress/ordinary-set-exceptions.js:
836         (shouldThrow):
837         * stress/put-non-reified-static-function-or-custom.js:
838         * wasm/js-api/test_basic_api.js:
839         (const.c.in.constructorProperties.switch):
841 2021-11-29  Yusuke Suzuki  <ysuzuki@apple.com>
843         [JSC] private name operation should use RETURN_IF_EXCEPTION
844         https://bugs.webkit.org/show_bug.cgi?id=233577
845         rdar://85813869
847         Reviewed by Mark Lam.
849         * stress/termination-error-in-private-name.js: Added.
850         (C):
852 2021-11-29  Yusuke Suzuki  <ysuzuki@apple.com>
854         [JSC] GetTypedArrayLengthAsInt52 can get Array::Generic ArrayMode
855         https://bugs.webkit.org/show_bug.cgi?id=233571
856         rdar://85812164
858         Reviewed by Mark Lam.
860         * stress/get-typed-array-length-as-int52-generic.js: Added.
861         (foo.bar):
862         (foo):
864 2021-11-24  Michael Catanzaro  <mcatanzaro@gnome.org>
866         Skip new stress test get-array-length-reuse.js if memory-limited
867         https://bugs.webkit.org/show_bug.cgi?id=233299
868         rdar://85502079
870         Reviewed by Yusuke Suzuki.
872         * stress/get-array-length-reuse.js:
874 2021-11-24  Aditi Singh  <asingh@igalia.com>
876         [JSC] Implement Date.prototype.toTemporalInstant()
877         https://bugs.webkit.org/show_bug.cgi?id=232075
879         Reviewed by Yusuke Suzuki.
881         * stress/date-to-temporal-instant.js: Added.
882         (shouldBe):
883         (shouldThrow):
885 2021-11-19  Asumu Takikawa  <asumu@igalia.com>
887         Fix WebAssembly memory.fill out of bounds error message
888         https://bugs.webkit.org/show_bug.cgi?id=233392
890         Reviewed by Yusuke Suzuki.
892         * wasm/references/memory_fill_out_of_bounds.js: Added.
893         (async test):
895 2021-11-19  Saam Barati  <sbarati@apple.com>
897         Fix assertion added in r285592
898         https://bugs.webkit.org/show_bug.cgi?id=233373
900         Reviewed by Keith Miller.
902         * stress/validate-assert-uid-is-not-index-or-it-is-symbol.js: Added.
903         (main.v11):
904         (main.v29):
905         (main):
907 2021-11-19  Joseph Griego  <jgriego@igalia.com>
909         [JSC] Shadow realms: set correct Function prototype on wrapped functions
910         https://bugs.webkit.org/show_bug.cgi?id=233143
912         Reviewed by Yusuke Suzuki.
914         At present, the Function prototype set on each of the returned wrapped
915         functions will be the Function object from the realm the shadow realm
916         builtin is from--to comply with the latest draft of the shadow realms
917         spec [1], wrapped function objects should have the Function prototype
918         from the realm the wrapper object is destined for, instead.
920         At present, this requires tracking both the calling (destination) and
921         target (source) realm and switching between the two as function
922         arguments are wrapped (when the notion of source and destination realm
923         also flips)
925         Adds a simple builtin (moveFunctionToRealm) that can switch the Function
926         prototype given only the Shadow Realm object corresponding to the
927         correct global object.
929         Also marks the corresponding part of test262 as passing.
931         * test262/expectations.yaml:
933 2021-11-19  Angelos Oikonomopoulos  <angelos@igalia.com>
935         [JSC] Workaround for failing mips tests
936         https://bugs.webkit.org/show_bug.cgi?id=233359
938         Reviewed by Adrian Perez de Castro.
940         Re-enable tests skipped on mips after adding workaround.
942         * stress/call-varargs-double-new-array-buffer.js:
943         * stress/callee-save-fpr.js:
944         * stress/forward-varargs-double-new-array-buffer.js:
945         * stress/new-array-with-spread-cow-double.js:
946         * stress/new-array-with-spread-double-new-array-buffer.js:
947         * stress/spread-escapes-but-new-array-buffer-does-not-double.js:
949 2021-11-17  Yusuke Suzuki  <ysuzuki@apple.com>
951         [JSC] TypedArray GetArrayLength should not use Reuse
952         https://bugs.webkit.org/show_bug.cgi?id=233299
953         rdar://85502079
955         Reviewed by Robin Morisset.
957         * stress/get-array-length-reuse.js: Added.
958         (foo):
960 2021-11-17  Saam Barati  <sbarati@apple.com>
962         Run the memmove fast path in JSGenericTypedArrayView<Adaptor>::set when using a combination of Uint8 and Uint8Clamped
963         https://bugs.webkit.org/show_bug.cgi?id=233271
964         <rdar://85259288>
966         Reviewed by Yusuke Suzuki.
968         * microbenchmarks/typed-array-set-uint8-and-uint8clamped.js: Added.
970 2021-11-15  Yusuke Suzuki  <ysuzuki@apple.com>
972         [JSC] Use operation path when PutByVal child1 is not speculated as a Cell
973         https://bugs.webkit.org/show_bug.cgi?id=233147
974         rdar://85344310
976         Reviewed by Mark Lam.
978         * stress/put-by-val-slow-dfg.js: Added.
979         (foo):
981 2021-11-15  Angelos Oikonomopoulos  <angelos@igalia.com>
983         Skip tests newly-failing on mips
984         https://bugs.webkit.org/show_bug.cgi?id=233124
986         Unreviewed gardening.
988         After 3f59d2aa489ec843e055fc3104c275851d7fbd35, these tests started
989         failing with a SIGBUS on MIPS (on fuloong hardware, they pass on the
990         ci20 boards). Temporarily skip them on this arch until we can track
991         down the issue.
993         * stress/call-varargs-double-new-array-buffer.js:
994         * stress/callee-save-fpr.js:
995         * stress/forward-varargs-double-new-array-buffer.js:
996         * stress/new-array-with-spread-cow-double.js:
997         * stress/new-array-with-spread-double-new-array-buffer.js:
998         * stress/spread-escapes-but-new-array-buffer-does-not-double.js:
1000 2021-11-14  Yusuke Suzuki  <ysuzuki@apple.com>
1002         [JSC] Use CallLinkInfo in LLInt
1003         https://bugs.webkit.org/show_bug.cgi?id=232746
1005         Reviewed by Saam Barati.
1007         * stress/is-callable-in-ftl-needs-to-be-aware-of-proxy.js:
1008         * stress/sampling-profiler-wasm-name-section.js:
1009         (platformSupportsSamplingProfiler.vm.isWasmSupported):
1010         * stress/sampling-profiler-wasm.js:
1011         (platformSupportsSamplingProfiler.vm.isWasmSupported):
1012         * stress/sampling-profiler/samplingProfiler.js:
1013         (doesTreeHaveStackTrace):
1014         (runTest):
1015         * wasm/function-tests/nameSection.js:
1017 2021-11-14  Mikhail R. Gadelha  <mikhail@igalia.com>
1019         Prevent fused multiply add during ParseInt
1020         https://bugs.webkit.org/show_bug.cgi?id=232951
1022         Reviewed by Yusuke Suzuki.
1024         When parsing the string in parseInt, gcc can wrongfully generate
1025         a fused multiply-add instruction, causing the conversion to be wrong
1026         for some high values. An add followed by a multiply gives the correct
1027         result and it is the code generated most of the times.
1029         This patch adds a volatile qualifier to the number variable, so the
1030         compiler doesn't try to optimize it, and enables a failing test on
1031         mips.
1033         Alternative solutions that I tried but gcc seems to ignore: #pragma
1034         STDC FP_CONTRACT OFF, compiling with -ffp-contract=off, and setting function
1035         attributes __attribute__((optimize("fp-contract=off"))) and
1036         __attribute__((optimize("-ffp-contract=off"))), so volative seems to be
1037         a good compromise.
1039         The issue was found when cross compiling to mips with gcc 8.4.0 and
1040         options -ffp-contract=off -mmadd4.
1042         * ChakraCore.yaml:
1044 2021-11-12  Joseph Griego  <jgriego@igalia.com>
1046         [JSC] update test262
1047         https://bugs.webkit.org/show_bug.cgi?id=233058
1049         For picking up changes to the ShadowRealms test set.
1051         Reviewed by Yusuke Suzuki.
1053         * test262/expectations.yaml:
1054         * test262/harness/arrayContains.js: Removed.
1055         * test262/harness/async-gc.js:
1056         * test262/latest-changes-summary.txt:
1057         * test262/test/built-ins/Array/prototype/every/callbackfn-resize-arraybuffer.js: Added.
1058         (testWithTypedArrayConstructors):
1059         * test262/test/built-ins/Array/prototype/filter/callbackfn-resize-arraybuffer.js: Added.
1060         (testWithTypedArrayConstructors):
1061         * test262/test/built-ins/Array/prototype/find/callbackfn-resize-arraybuffer.js: Added.
1062         (testWithTypedArrayConstructors):
1063         * test262/test/built-ins/Array/prototype/findIndex/callbackfn-resize-arraybuffer.js: Added.
1064         (testWithTypedArrayConstructors):
1065         * test262/test/built-ins/Array/prototype/findLast/callbackfn-resize-arraybuffer.js: Added.
1066         (testWithTypedArrayConstructors):
1067         * test262/test/built-ins/Array/prototype/findLastIndex/callbackfn-resize-arraybuffer.js: Added.
1068         (testWithTypedArrayConstructors):
1069         * test262/test/built-ins/Array/prototype/forEach/callbackfn-resize-arraybuffer.js: Added.
1070         (testWithTypedArrayConstructors):
1071         * test262/test/built-ins/Array/prototype/map/callbackfn-resize-arraybuffer.js: Added.
1072         (testWithTypedArrayConstructors):
1073         * test262/test/built-ins/Array/prototype/reduce/callbackfn-resize-arraybuffer.js: Added.
1074         (testWithTypedArrayConstructors):
1075         * test262/test/built-ins/Array/prototype/reduceRight/callbackfn-resize-arraybuffer.js: Added.
1076         (testWithTypedArrayConstructors):
1077         * test262/test/built-ins/Array/prototype/some/callbackfn-resize-arraybuffer.js: Added.
1078         (testWithTypedArrayConstructors):
1079         * test262/test/built-ins/DataView/prototype/byteLength/resizable-array-buffer-auto.js:
1080         (catch):
1081         * test262/test/built-ins/DataView/prototype/byteOffset/resizable-array-buffer-auto.js:
1082         (catch):
1083         * test262/test/built-ins/FinalizationRegistry/gc-has-one-chance-to-call-cleanupCallback.js:
1084         * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/callback-not-callable-throws.js:
1085         * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-reference.js:
1086         * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-unregister.js:
1087         * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/custom-this.js:
1088         * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/holdings-multiple-values.js:
1089         * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/length.js:
1090         * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/name.js:
1091         * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/prop-desc.js:
1092         * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/reentrancy.js:
1093         * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/return-undefined-with-gc.js:
1094         * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/return-undefined.js:
1095         * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/this-does-not-have-internal-cells-throws.js:
1096         * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/this-not-object-throws.js:
1097         * test262/test/built-ins/FinalizationRegistry/prototype/unregister/unregister-cleaned-up-cell.js:
1098         * test262/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-2.js:
1099         * test262/test/built-ins/RegExp/match-indices/indices-array-non-unicode-match.js:
1100         * test262/test/built-ins/RegExp/match-indices/indices-array-unicode-match.js:
1101         * test262/test/built-ins/RegExp/match-indices/indices-array-unicode-property-names.js:
1102         * test262/test/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-proto-from-caller-realm.js:
1103         * test262/test/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-throws-typeerror-from-caller-realm.js: Added.
1104         (realm.Reflect.construct):
1105         * test262/test/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-throws-typeerror-on-non-primitive-arguments.js: Added.
1106         (Symbol.toPrimitive):
1107         (toString):
1108         (valueOf):
1109         (apply):
1110         * test262/test/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-throws-typeerror-on-non-primitive-returns.js: Added.
1111         (r.evaluate):
1112         * test262/test/built-ins/ShadowRealm/prototype/evaluate/wrapped-functions-accepts-callable-objects.js:
1113         * test262/test/built-ins/SharedArrayBuffer/prototype/prop-desc.js: Added.
1114         * test262/test/built-ins/Temporal/Duration/compare/calendar-fields-iterable.js:
1115         * test262/test/built-ins/Temporal/Duration/compare/relativeto-string-zoneddatetime-wrong-offset.js: Added.
1116         * test262/test/built-ins/Temporal/Duration/compare/relativeto-sub-minute-offset.js: Added.
1117         * test262/test/built-ins/Temporal/Duration/prototype/add/calendar-fields-iterable.js:
1118         * test262/test/built-ins/Temporal/Duration/prototype/add/relativeto-propertybag-no-time-units.js: Added.
1119         (const.result.instance.add.new.Temporal.Duration):
1120         * test262/test/built-ins/Temporal/Duration/prototype/add/relativeto-string-zoneddatetime-wrong-offset.js: Added.
1121         (instance.add.new.Temporal.Duration):
1122         * test262/test/built-ins/Temporal/Duration/prototype/add/relativeto-sub-minute-offset.js: Added.
1123         (const.result.instance.add.new.Temporal.Duration):
1124         (instance.add.new.Temporal.Duration):
1125         * test262/test/built-ins/Temporal/Duration/prototype/round/calendar-fields-iterable.js:
1126         * test262/test/built-ins/Temporal/Duration/prototype/round/relativeto-propertybag-no-time-units.js: Added.
1127         * test262/test/built-ins/Temporal/Duration/prototype/round/relativeto-string-zoneddatetime-wrong-offset.js: Added.
1128         * test262/test/built-ins/Temporal/Duration/prototype/round/relativeto-sub-minute-offset.js: Added.
1129         * test262/test/built-ins/Temporal/Duration/prototype/subtract/calendar-fields-iterable.js:
1130         * test262/test/built-ins/Temporal/Duration/prototype/subtract/relativeto-propertybag-no-time-units.js: Added.
1131         (const.result.instance.subtract.new.Temporal.Duration):
1132         * test262/test/built-ins/Temporal/Duration/prototype/subtract/relativeto-string-zoneddatetime-wrong-offset.js: Added.
1133         (instance.subtract.new.Temporal.Duration):
1134         * test262/test/built-ins/Temporal/Duration/prototype/subtract/relativeto-sub-minute-offset.js: Added.
1135         (const.result.instance.subtract.new.Temporal.Duration):
1136         (instance.subtract.new.Temporal.Duration):
1137         * test262/test/built-ins/Temporal/Duration/prototype/total/calendar-fields-iterable.js:
1138         * test262/test/built-ins/Temporal/Duration/prototype/total/relativeto-propertybag-no-time-units.js: Added.
1139         * test262/test/built-ins/Temporal/Duration/prototype/total/relativeto-string-zoneddatetime-wrong-offset.js: Added.
1140         * test262/test/built-ins/Temporal/Duration/prototype/total/relativeto-sub-minute-offset.js: Added.
1141         * test262/test/built-ins/Temporal/Instant/prototype/toString/timezone-offset.js: Added.
1142         (test):
1143         * test262/test/built-ins/Temporal/Instant/prototype/toString/timezone-string-datetime.js:
1144         * test262/test/built-ins/Temporal/Instant/prototype/toString/timezone.js:
1145         * test262/test/built-ins/Temporal/PlainDate/prototype/since/largestunit-higher-units.js:
1146         * test262/test/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/plaintime-propertybag-no-time-units.js: Added.
1147         * test262/test/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/plaintime-propertybag-no-time-units.js: Added.
1148         * test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/plaintime-propertybag-no-time-units.js: Added.
1149         * test262/test/built-ins/Temporal/PlainTime/compare/plaintime-propertybag-no-time-units.js: Added.
1150         * test262/test/built-ins/Temporal/PlainTime/from/plaintime-propertybag-no-time-units.js: Added.
1151         * test262/test/built-ins/Temporal/PlainTime/prototype/equals/plaintime-propertybag-no-time-units.js: Added.
1152         * test262/test/built-ins/Temporal/PlainTime/prototype/since/plaintime-propertybag-no-time-units.js: Added.
1153         * test262/test/built-ins/Temporal/PlainTime/prototype/until/plaintime-propertybag-no-time-units.js: Added.
1154         * test262/test/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/basic.js: Added.
1155         (test):
1156         * test262/test/built-ins/Temporal/ZonedDateTime/from/zoneddatetime-sub-minute-offset.js: Added.
1157         (string_appeared_here.forEach):
1158         * test262/test/built-ins/Temporal/ZonedDateTime/prototype/equals/sub-minute-offset.js: Added.
1159         * test262/test/built-ins/Temporal/ZonedDateTime/prototype/getISOFields/offset.js: Added.
1160         (test):
1161         * test262/test/built-ins/Temporal/ZonedDateTime/prototype/offset/basic.js: Added.
1162         (test):
1163         * test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/sub-minute-offset.js: Added.
1164         * test262/test/built-ins/Temporal/ZonedDateTime/prototype/toJSON/balance-negative-time-units.js:
1165         * test262/test/built-ins/Temporal/ZonedDateTime/prototype/toJSON/offset.js: Added.
1166         (test):
1167         * test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/balance-negative-time-units.js:
1168         * test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/offset.js: Added.
1169         (test):
1170         * test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/sub-minute-offset.js: Added.
1171         * test262/test/built-ins/Temporal/ZonedDateTime/prototype/with/offset-property-sub-minute.js: Added.
1172         (string_appeared_here.forEach):
1173         * test262/test/built-ins/Temporal/ZonedDateTime/prototype/with/receiver-offset-broken.js: Added.
1174         (ObservedCalendar):
1175         (ObservedCalendar.prototype.toString):
1176         (ObservedCalendar.prototype.mergeFields):
1177         (ObservedCalendar.prototype.resetCalls):
1178         * test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/plaintime-propertybag-no-time-units.js: Added.
1179         * test262/test/built-ins/Temporal/getOwnPropertyNames.js:
1180         * test262/test/built-ins/TypedArray/prototype/every/callbackfn-resize.js: Added.
1181         (testWithTypedArrayConstructors):
1182         * test262/test/built-ins/TypedArray/prototype/filter/callbackfn-resize.js: Added.
1183         (testWithTypedArrayConstructors):
1184         * test262/test/built-ins/TypedArray/prototype/find/callbackfn-resize.js: Added.
1185         (testWithTypedArrayConstructors):
1186         * test262/test/built-ins/TypedArray/prototype/findIndex/callbackfn-resize.js: Added.
1187         (testWithTypedArrayConstructors):
1188         * test262/test/built-ins/TypedArray/prototype/findLast/callbackfn-resize.js: Added.
1189         (testWithTypedArrayConstructors):
1190         * test262/test/built-ins/TypedArray/prototype/findLastIndex/callbackfn-resize.js: Added.
1191         (testWithTypedArrayConstructors):
1192         * test262/test/built-ins/TypedArray/prototype/forEach/callbackfn-resize.js: Added.
1193         (testWithTypedArrayConstructors):
1194         * test262/test/built-ins/TypedArray/prototype/map/callbackfn-resize.js: Added.
1195         (testWithTypedArrayConstructors):
1196         * test262/test/built-ins/TypedArray/prototype/reduce/callbackfn-resize.js: Added.
1197         (testWithTypedArrayConstructors):
1198         * test262/test/built-ins/TypedArray/prototype/reduceRight/callbackfn-resize.js: Added.
1199         (testWithTypedArrayConstructors):
1200         * test262/test/built-ins/TypedArray/prototype/some/callbackfn-resize.js: Added.
1201         (testWithTypedArrayConstructors):
1202         * test262/test/built-ins/WeakRef/prototype/deref/gc-cleanup-not-prevented-with-wr-deref.js:
1203         * test262/test/harness/arrayContains.js: Removed.
1204         * test262/test/harness/testTypedArray.js:
1205         * test262/test/intl402/Collator/prototype/resolvedOptions/order.js:
1206         * test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/order-dayPeriod.js:
1207         * test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/order-fractionalSecondDigits.js:
1208         * test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/order-style.js:
1209         * test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/order.js:
1210         * test262/test/intl402/ListFormat/prototype/resolvedOptions/order.js:
1211         * test262/test/intl402/NumberFormat/constructor-options-roundingMode-invalid.js: Added.
1212         (brokenToString.toString):
1213         * test262/test/intl402/NumberFormat/constructor-options-throwing-getters-rounding-mode.js: Added.
1214         (get roundingMode):
1215         * test262/test/intl402/NumberFormat/constructor-signDisplay-negative.js: Added.
1216         * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-ceil.js: Added.
1217         * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-expand.js: Added.
1218         * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-floor.js: Added.
1219         * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-half-ceil.js: Added.
1220         * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-half-even.js: Added.
1221         * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-half-expand.js: Added.
1222         * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-half-floor.js: Added.
1223         * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-half-trunc.js: Added.
1224         * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-trunc.js: Added.
1225         * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-currency-de-DE.js: Added.
1226         * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-currency-en-US.js: Added.
1227         * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-currency-ja-JP.js: Added.
1228         * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-currency-ko-KR.js: Added.
1229         * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-currency-zh-TW.js: Added.
1230         * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-de-DE.js: Added.
1231         * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-en-US.js: Added.
1232         * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-ja-JP.js: Added.
1233         * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-ko-KR.js: Added.
1234         * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-zh-TW.js: Added.
1235         * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-currency-de-DE.js: Added.
1236         (verifyFormatParts):
1237         (verifyFormatParts.nf.formatToParts):
1238         * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-currency-en-US.js: Added.
1239         (verifyFormatParts):
1240         (verifyFormatParts.nf.formatToParts):
1241         * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-currency-ja-JP.js: Added.
1242         (verifyFormatParts):
1243         (verifyFormatParts.nf.formatToParts):
1244         * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-currency-ko-KR.js: Added.
1245         (verifyFormatParts):
1246         (verifyFormatParts.nf.formatToParts):
1247         * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-currency-zh-TW.js: Added.
1248         (verifyFormatParts):
1249         (verifyFormatParts.nf.formatToParts):
1250         * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-de-DE.js: Added.
1251         (verifyFormatParts):
1252         (verifyFormatParts.nf.formatToParts):
1253         * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-en-US.js: Added.
1254         (verifyFormatParts):
1255         (verifyFormatParts.nf.formatToParts):
1256         * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-ja-JP.js: Added.
1257         (verifyFormatParts):
1258         (verifyFormatParts.nf.formatToParts):
1259         * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-ko-KR.js: Added.
1260         (verifyFormatParts):
1261         (verifyFormatParts.nf.formatToParts):
1262         * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-zh-TW.js: Added.
1263         (verifyFormatParts):
1264         (verifyFormatParts.nf.formatToParts):
1265         * test262/test/intl402/NumberFormat/prototype/resolvedOptions/order.js:
1266         * test262/test/intl402/NumberFormat/prototype/resolvedOptions/roundingMode.js: Added.
1267         * test262/test/intl402/PluralRules/prototype/resolvedOptions/order.js:
1268         * test262/test/intl402/RelativeTimeFormat/prototype/resolvedOptions/order.js:
1269         * test262/test/intl402/Segmenter/prototype/resolvedOptions/order.js:
1270         * test262/test/language/block-scope/syntax/for-in/acquire-properties-from-array.js:
1271         * test262/test/language/block-scope/syntax/for-in/acquire-properties-from-object.js:
1272         * test262/test/language/expressions/dynamic-import/usage/nested-arrow-assignment-expression-eval-script-code-host-resolves-module-code.js:
1273         * test262/test/language/expressions/dynamic-import/usage/nested-arrow-import-then-eval-script-code-host-resolves-module-code.js:
1274         * test262/test/language/expressions/dynamic-import/usage/nested-async-arrow-function-await-eval-script-code-host-resolves-module-code.js:
1275         * test262/test/language/expressions/dynamic-import/usage/nested-async-arrow-function-return-await-eval-script-code-host-resolves-module-code.js:
1276         * test262/test/language/expressions/dynamic-import/usage/nested-async-function-await-eval-script-code-host-resolves-module-code.js:
1277         * test262/test/language/expressions/dynamic-import/usage/nested-async-function-eval-script-code-host-resolves-module-code.js:
1278         * test262/test/language/expressions/dynamic-import/usage/nested-async-function-return-await-eval-script-code-host-resolves-module-code.js:
1279         * test262/test/language/expressions/dynamic-import/usage/nested-async-gen-await-eval-script-code-host-resolves-module-code.js:
1280         * test262/test/language/expressions/dynamic-import/usage/nested-async-gen-return-await-eval-script-code-host-resolves-module-code.js:
1281         * test262/test/language/expressions/dynamic-import/usage/nested-block-import-then-eval-script-code-host-resolves-module-code.js:
1282         * test262/test/language/expressions/dynamic-import/usage/nested-do-while-eval-script-code-host-resolves-module-code.js:
1283         * test262/test/language/expressions/dynamic-import/usage/nested-else-import-then-eval-script-code-host-resolves-module-code.js:
1284         * test262/test/language/expressions/dynamic-import/usage/nested-function-import-then-eval-script-code-host-resolves-module-code.js:
1285         * test262/test/language/expressions/dynamic-import/usage/nested-if-braceless-eval-script-code-host-resolves-module-code.js:
1286         * test262/test/language/expressions/dynamic-import/usage/nested-if-import-then-eval-script-code-host-resolves-module-code.js:
1287         * test262/test/language/expressions/dynamic-import/usage/nested-while-import-then-eval-script-code-host-resolves-module-code.js:
1288         * test262/test/language/expressions/dynamic-import/usage/syntax-nested-block-labeled-eval-script-code-host-resolves-module-code.js:
1289         * test262/test/language/expressions/dynamic-import/usage/top-level-import-then-eval-script-code-host-resolves-module-code.js:
1290         * test262/test262-Revision.txt:
1292 2021-11-12  Guillaume Emont  <guijemont@igalia.com>
1294         Unskip typeProfiler/getter-richards.js on armv7
1295         https://bugs.webkit.org/show_bug.cgi?id=233050
1297         Unreviewed gardening.
1299         Our arm bots are now fast enough to run this, it does still timeout on
1300         some of our test mips devices though.
1302         * typeProfiler/getter-richards.js:
1304 2021-11-12  Xan Lopez  <xan@igalia.com>
1306         [JSC][32bit] Unskip JSTests/microbenchmarks/redefine-property-accessor-dictionary.js
1307         https://bugs.webkit.org/show_bug.cgi?id=233034
1309         Unreviewed gardening.
1311         This is skipped for memoryLimited *and* mips|arm systems, but a)
1312         seems to run fine on both setups and b) is almost identical to the
1313         other tests/benchmarks that landed in the same patch, that do not
1314         have that limitation. Optimistically remove the skip and let's see
1315         if it sticks.
1317         * microbenchmarks/redefine-property-accessor-dictionary.js:
1319 2021-11-11  Michael Saboff  <msaboff@apple.com>
1321         Inline RegExp.test JIT code in DFG and FTL
1322         https://bugs.webkit.org/show_bug.cgi?id=230469
1324         Reviewed by Saam Barati.
1326         New microbenchmark.
1328         * microbenchmarks/regexp-test-inlined.js: Added.
1330 2021-11-10  Saam Barati  <sbarati@apple.com>
1332         in_by_val should not constant fold to in_by_id when the property is a property index
1333         https://bugs.webkit.org/show_bug.cgi?id=232753
1335         Reviewed by Yusuke Suzuki.
1337         * stress/dont-in-by-id-when-index-2.js: Added.
1338         (assert):
1339         (main.v179):
1340         (main.async v244):
1341         (main):
1342         * stress/dont-in-by-id-when-index.js: Added.
1343         (assert):
1344         (test):
1346 2021-11-10  Xan Lopez  <xan@igalia.com>
1348         [JSC][32bit] Unskip JSTests/stress/json-stringify-string-builder-overflow.js
1349         https://bugs.webkit.org/show_bug.cgi?id=232944
1351         Unreviewed gardening.
1353         This seems to survive 1000 iterations on both armv7 and mips
1354         hw. Remove the arch-specific skips leaving the memory limited
1355         ones.
1357         * stress/json-stringify-string-builder-overflow.js:
1359 2021-11-09  Saam Barati  <sbarati@apple.com>
1361         When inlining NewSymbol in the DFG don't universally call ToString on the input
1362         https://bugs.webkit.org/show_bug.cgi?id=232754
1364         Reviewed by Robin Morisset.
1366         * stress/inline-new-symbol-dfg-undefined-first-arg.js: Added.
1367         (assert):
1368         (foo):
1370 2021-11-09  Angelos Oikonomopoulos  <angelos@igalia.com>
1372         Unskip array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg on ARM
1373         https://bugs.webkit.org/show_bug.cgi?id=232811
1375         Unreviewed gardening.
1377         Gate the number of iterations adjustment on $memoryLimited instead of
1378         the arch.
1380         * stress/array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg.js:
1382 2021-11-09  Mikhail R. Gadelha  <mikhail@igalia.com>
1384         Unskip deltablue-for-of.js on arm and mips
1385         https://bugs.webkit.org/show_bug.cgi?id=227291
1387         Unreviewed gardening.
1389         The test is not crashing but timeouts because of the number of
1390         iterations. So to enable testing in more archs, we reduced the
1391         number of iterations and constraints.
1393         * typeProfiler/deltablue-for-of.js:
1394         (deltaBlue):
1396 2021-11-09  Angelos Oikonomopoulos  <angelos@igalia.com>
1398         Unskip microbenchmarks/memcpy-typed-loop.js on arm/mips
1399         https://bugs.webkit.org/show_bug.cgi?id=232813
1401         Unreviewed gardening.
1403         Can't reproduce this any more.
1404         * microbenchmarks/memcpy-typed-loop.js:
1406 2021-11-08  Yusuke Suzuki  <ysuzuki@apple.com>
1408         [JSC] Implement IntlNumberFormat v3
1409         https://bugs.webkit.org/show_bug.cgi?id=215438
1411         Reviewed by Ross Kirsling.
1413         * stress/intl-numberformat-format-large.js: Added.
1414         (shouldBe):
1415         * stress/intl-numberformat-format-range-v3.js: Added.
1416         (shouldBe):
1417         (shouldThrow):
1418         (shouldNotThrow):
1419         (nf.formatRange.string_appeared_here.forEach):
1420         (nf.formatRangeToParts.validRanges.forEach):
1421         (nf6.formatRange.shouldThrow):
1422         * stress/intl-numberformat-format-string-v3.js: Added.
1423         (shouldBe):
1424         * stress/intl-numberformat-format-string.js: Added.
1425         (shouldBe):
1426         * stress/intl-numberformat-format-to-parts.js:
1427         * stress/intl-numberformat-rounding-increment-resolved-match-v3.js: Added.
1428         (shouldBe):
1429         (validRoundingIncrements.forEach):
1430         * stress/intl-numberformat-rounding-increment-v3.js: Added.
1431         (shouldThrow):
1432         (validRoundingIncrements.forEach):
1433         (invalidRoundingIncrements.forEach):
1434         * stress/intl-numberformat-rounding-increment-value-hanidec.js: Added.
1435         (shouldBe):
1436         * stress/intl-numberformat-rounding-increment-value-v3.js: Added.
1437         (shouldBe):
1438         * stress/intl-numberformat-rounding-increment-value.js: Added.
1439         (shouldBe):
1440         * stress/intl-numberformat-rounding-mode-table-v3.js: Added.
1441         (shouldBe):
1442         (Object.keys.expectations.forEach):
1443         * stress/intl-numberformat-rounding-mode-v3.js: Added.
1444         (shouldBe):
1445         (shouldThrow):
1446         (validRoundingMode.forEach):
1447         (invalidRoundingMode.forEach):
1448         (let.options.get signDisplay):
1449         (let.options.get roundingMode):
1450         * stress/intl-numberformat-sign-display-v3.js: Added.
1451         (shouldBe):
1452         * stress/intl-numberformat-trailing-zero-display-resolved-options-v3.js: Added.
1453         (shouldBe):
1454         * stress/intl-numberformat-trailing-zero-display-v3.js: Added.
1455         (shouldBe):
1456         * stress/intl-numberformat-usegrouping-v3.js: Added.
1457         (shouldBe):
1458         (shouldThrow):
1459         (validUseGrouping.forEach):
1460         (invalidUseGrouping.forEach):
1461         (all.forEach):
1462         (mgd1.forEach):
1463         (mgd2.forEach):
1464         * stress/intl-numberformat.js:
1465         (testNumberFormat):
1466         (shouldBe.testNumberFormat.Intl.NumberFormat):
1467         * stress/intl-pluralrules-selectrange.js: Added.
1468         (shouldBe):
1469         * test262/config.yaml:
1471 2021-11-08  Saam Barati  <sbarati@apple.com>
1473         We need to PreferNumber when calling toPrimitive for negate
1474         https://bugs.webkit.org/show_bug.cgi?id=232679
1476         Reviewed by Alexey Shvayka.
1478         * stress/negate-prefer-number-to-primitive.js
1480 2021-11-05  Russell Epstein  <repstein@apple.com>
1482         Cherry-pick r284635. rdar://problem/85039977
1484     [JSC] Inserted GetTypedArrayLengthAsInt52 for PutByVal should have NodeResultInt52
1485     https://bugs.webkit.org/show_bug.cgi?id=232059
1486     
1487     Reviewed by Saam Barati.
1488     
1489     JSTests:
1490     
1491     * stress/inserted-gettypedarraylengthasint52-should-have-int52-result-for-put-by-val.js: Added.
1492     (foo.bar):
1493     (foo):
1494     
1495     Source/JavaScriptCore:
1496     
1497     When inserting GetTypedArrayLengthAsInt52 after fixup phase, we must set NodeResultInt52.
1498     
1499     * dfg/DFGSSALoweringPhase.cpp:
1500     (JSC::DFG::SSALoweringPhase::handleNode):
1501     
1502     
1503     git-svn-id: https://svn.webkit.org/repository/webkit/trunk@284635 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1505     2021-10-21  Yusuke Suzuki  <ysuzuki@apple.com>
1507             [JSC] Inserted GetTypedArrayLengthAsInt52 for PutByVal should have NodeResultInt52
1508             https://bugs.webkit.org/show_bug.cgi?id=232059
1510             Reviewed by Saam Barati.
1512             * stress/inserted-gettypedarraylengthasint52-should-have-int52-result-for-put-by-val.js: Added.
1513             (foo.bar):
1514             (foo):
1516 2021-11-04  Alexey Shvayka  <ashvayka@apple.com>
1518         We need to PreferNumber when calling toPrimitive for coercion to BigInt
1519         https://bugs.webkit.org/show_bug.cgi?id=232720
1521         Reviewed by Saam Barati.
1523         * stress/big-int-constructor.js:
1524         * stress/bigint-asintn.js:
1525         * stress/bigint-asuintn.js:
1527 2021-11-04  Mikhail R. Gadelha  <mikhail@igalia.com>
1529         Unskip tests disabled because of the recent 32 bits issues
1530         https://bugs.webkit.org/show_bug.cgi?id=230490
1532         Unreviewed gardening.
1534         * ChakraCore.yaml:
1536 2021-11-02  Philip Chimento  <pchimento@igalia.com>
1538         [JSC] Implement Temporal.Instant
1539         https://bugs.webkit.org/show_bug.cgi?id=229826
1541         Reviewed by Yusuke Suzuki.
1543         * stress/temporal-instant.js: Added.
1544         (shouldBe):
1545         (shouldNotBe):
1546         (shouldThrow):
1547         (instants.forEach):
1548         (shouldThrow.new.Temporal.Instant):
1549         (const.maxValue.new.Temporal.Instant):
1550         (shouldBe.epoch.subtract):
1551         * test262/config.yaml: No need to ignore all Temporal.Instant tests
1552           anymore, only the ones for the unimplemented methods.
1554 2021-11-02  Saam Barati  <sbarati@apple.com>
1556         EnumeratorGetByVal for IndexedMode+OwnStructureMode doesn't always recover the property name
1557         https://bugs.webkit.org/show_bug.cgi?id=231321
1558         <rdar://problem/84211697>
1560         Reviewed by Yusuke Suzuki.
1562         * stress/enumerator-get-by-val-needs-to-recover-property-name.js: Added.
1564 2021-11-01  Saam Barati  <sbarati@apple.com>
1566         ArrayBuffer species watchpoint being invalidated doesn't mean it's not an ArrayBuffer constructor from the same global object
1567         https://bugs.webkit.org/show_bug.cgi?id=231322
1568         <rdar://problem/84212078>
1570         Reviewed by Yusuke Suzuki.
1572         * stress/array-buffer-species-watchpoint-should-not-dictate-if-constructor-is-correct.js: Added.
1573         (main.async v23):
1574         (main):
1576 2021-11-01  Robin Morisset  <rmorisset@apple.com>
1578         JSGenericTypedArrayView<Adaptor>::set crashes if the length + objectOffset is > UINT32_MAX
1579         https://bugs.webkit.org/show_bug.cgi?id=231975
1580         rdar://84402043
1582         Reviewed by Yusuke Suzuki.
1584         - regress-84402043 is the testcase that revealed the problem.
1585         - typed-array-set-large(-offset) test the same function, in the typed-array to typed-array case
1586         - typed-array-large-slice tests the only caller that passes a non-0 objectOffset, and found other issues with it
1587         - typed-array-large-oob-eventually-not.js is just another test of the Wasm4GB change that I had forgotten to commit
1589         * stress/regress-84402043.js: Added.
1590         * stress/typed-array-large-oob-eventually-not.js: Added.
1591         (test):
1592         * stress/typed-array-large-slice.js: Added.
1593         (expect):
1594         * stress/typed-array-set-large-offset.js: Added.
1595         * stress/typed-array-set-large.js: Added.
1597 2021-10-29  Yusuke Suzuki  <ysuzuki@apple.com>
1599         Unreviewed, reduce # of iterations in stress/validate-int-52-ai-state.js due to Debug timeout
1601         * stress/validate-int-52-ai-state.js:
1603 2021-10-29  Yusuke Suzuki  <ysuzuki@apple.com>
1605         Unreviewed, skip stress/unlinked-code-block-destructor.js when it is debug build
1607         The bug was not related to Debug build. And it is timing out on Debug build due to
1608         heavy test load.
1610         * stress/unlinked-code-block-destructor.js:
1612 2021-10-29  Yusuke Suzuki  <ysuzuki@apple.com>
1614         Unreviewed, reduce # of iteration since it is timing out on Debug JSC bot
1616         * stress/put-private-name-ic-write-barrier.js:
1617         (PutPrivateNameIC):
1619 2021-10-29  Dmitry Bezhetskov  <dbezhetskov@igalia.com>
1621         [WASM-Function-References] Add support for (ref.null heaptype)
1622         https://bugs.webkit.org/show_bug.cgi?id=229707
1624         Reviewed by Yusuke Suzuki.
1626         Added spec tests for (ref.null $t) : https://github.com/WebAssembly/function-references/blob/master/test/core/ref_null.wast.
1628         * wasm.yaml:
1629         * wasm/function-references-spec-tests/call_ref.wast.js:
1630         * wasm/function-references-spec-tests/ref_null.wast.js: Added.
1632 2021-10-27  Dmitry Bezhetskov  <dbezhetskov@igalia.com>
1634         [WASM-Function-References] Add call_ref spec tests
1635         https://bugs.webkit.org/show_bug.cgi?id=229710
1637         Reviewed by Yusuke Suzuki.
1638         
1639         Add tests for call_ref instruction from the spec repo:
1640         https://github.com/WebAssembly/function-references/blob/master/test/core/call_ref.wast.
1641         Also added tests for Funcref/Externref in Wasm tables and globals to test
1642         new internal representation of Funcref = (ref null funcref).
1643         
1644         * wasm.yaml:
1645         * wasm/function-references-spec-tests/call_ref.wast.js: Added.
1646         * wasm/function-references/ref_types.js:
1647         (async testRefGlobalCheck):
1648         (async testNonNullExternrefIncompatible):
1649         (async testNonNullFuncrefIncompatible):
1650         (async testWasmJSGlobals):
1651         (async testRefTypesInTables):
1652         * wasm/wasm.json:
1654 2021-10-26  Yusuke Suzuki  <ysuzuki@apple.com>
1656         Unreivewed, fix CLoop build and test failure
1658         CLoop is running Yarr interpreter instead of Yarr JIT.
1660         * mozilla/ecma_3/RegExp/regress-85721.js:
1662 2021-10-26  Yusuke Suzuki  <ysuzuki@apple.com>
1664         Unreviewed, fix test262 bot failures
1665         https://bugs.webkit.org/show_bug.cgi?id=232005
1667         * test262/expectations.yaml:
1669 2021-10-25  Yusuke Suzuki  <ysuzuki@apple.com>
1671         [JSC] Don't branch around register allocation in DFG enumerator get by val
1672         https://bugs.webkit.org/show_bug.cgi?id=232260
1673         rdar://84544469
1675         Reviewed by Robin Morisset.
1677         * stress/dont-branch-around-regalloc-enumerator-get-by-val-float.js: Added.
1678         (foo):
1680 2021-10-24  Alexey Shvayka  <ashvayka@apple.com>
1682         InternalFunction::createSubclassStructure() should use prototype's global object
1683         https://bugs.webkit.org/show_bug.cgi?id=231874
1685         Reviewed by Yusuke Suzuki.
1687         * stress/internal-function-subclass-structure-realm.js: Added.
1689 2021-10-23  Phillip Mates  <pmates@igalia.com>
1691         update test262
1692         https://bugs.webkit.org/show_bug.cgi?id=232005
1694         Reviewed by Yusuke Suzuki.
1696         * test262/expectations.yaml:
1697         * test262/latest-changes-summary.txt:
1698         * test262/test/built-ins/Array/prototype/concat/Array.prototype.concat_large-typed-array.js:
1699         (concatTypedArray):
1700         * test262/test/built-ins/Array/prototype/concat/Array.prototype.concat_small-typed-array.js:
1701         (concatTypedArray):
1702         * test262/test/built-ins/Array/prototype/copyWithin/non-negative-target-and-start.js:
1703         * test262/test/built-ins/Function/internals/Call/class-ctor-realm.js:
1704         * test262/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-44.js:
1705         * test262/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-49.js:
1706         * test262/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-b-2.js:
1707         * test262/test/built-ins/ShadowRealm/prototype/evaluate/globalthis-available-properties.js: Added.
1708         * test262/test/built-ins/ShadowRealm/prototype/evaluate/globalthis-config-only-properties.js: Added.
1709         (const.remainingNames.names.filter.name.esNonConfigValues.includes):
1710         (hasOwn.call):
1711         * test262/test/built-ins/ShadowRealm/prototype/evaluate/globalthis-orginary-object.js: Added.
1712         * test262/test/built-ins/ShadowRealm/prototype/evaluate/throws-error-from-ctor-realm.js: Added.
1713         * test262/test/built-ins/ShadowRealm/prototype/evaluate/validates-realm-object.js:
1714         * test262/test/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-proto-from-caller-realm.js:
1715         (checkArgWrapperFn.realm.evaluate.string_appeared_here.assert.sameValue.checkArgWrapperFn):
1716         * test262/test/built-ins/ShadowRealm/prototype/importValue/not-constructor.js:
1717         * test262/test/built-ins/Temporal/PlainDate/prototype/since/largestunit-higher-units.js:
1718         * test262/test/built-ins/Temporal/PlainMonthDay/prototype/toPlainDate/basic.js:
1719         * test262/test/intl402/NumberFormat/prototype/format/signDisplay-currency-de-DE.js:
1720         * test262/test/intl402/NumberFormat/prototype/format/signDisplay-currency-en-US.js:
1721         * test262/test/intl402/NumberFormat/prototype/format/signDisplay-currency-ja-JP.js:
1722         * test262/test/intl402/NumberFormat/prototype/format/signDisplay-currency-ko-KR.js:
1723         * test262/test/intl402/NumberFormat/prototype/format/signDisplay-currency-zh-TW.js:
1724         * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-currency-de-DE.js:
1725         * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-currency-en-US.js:
1726         * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-currency-ja-JP.js:
1727         * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-currency-ko-KR.js:
1728         * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-currency-zh-TW.js:
1729         * test262/test/intl402/Temporal/Instant/prototype/toLocaleString/locales-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/Instant/prototype/toLocaleString/locales-undefined.js.
1730         * test262/test/intl402/Temporal/Instant/prototype/toLocaleString/options-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/Instant/prototype/toLocaleString/options-undefined.js.
1731         * test262/test/intl402/Temporal/PlainDate/prototype/toLocaleString/locales-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainDate/prototype/toLocaleString/locales-undefined.js.
1732         * test262/test/intl402/Temporal/PlainDate/prototype/toLocaleString/options-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainDate/prototype/toLocaleString/options-undefined.js.
1733         * test262/test/intl402/Temporal/PlainDateTime/prototype/toLocaleString/locales-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainDateTime/prototype/toLocaleString/locales-undefined.js.
1734         * test262/test/intl402/Temporal/PlainDateTime/prototype/toLocaleString/options-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainDateTime/prototype/toLocaleString/options-undefined.js.
1735         * test262/test/intl402/Temporal/PlainMonthDay/prototype/toLocaleString/locales-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainMonthDay/prototype/toLocaleString/locales-undefined.js.
1736         * test262/test/intl402/Temporal/PlainMonthDay/prototype/toLocaleString/options-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainMonthDay/prototype/toLocaleString/options-undefined.js.
1737         * test262/test/intl402/Temporal/PlainTime/prototype/toLocaleString/locales-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainTime/prototype/toLocaleString/locales-undefined.js.
1738         * test262/test/intl402/Temporal/PlainTime/prototype/toLocaleString/options-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainTime/prototype/toLocaleString/options-undefined.js.
1739         * test262/test/intl402/Temporal/PlainYearMonth/prototype/toLocaleString/locales-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainYearMonth/prototype/toLocaleString/locales-undefined.js.
1740         * test262/test/intl402/Temporal/PlainYearMonth/prototype/toLocaleString/options-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainYearMonth/prototype/toLocaleString/options-undefined.js.
1741         * test262/test/intl402/Temporal/ZonedDateTime/prototype/toLocaleString/locales-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/toLocaleString/locales-undefined.js.
1742         * test262/test/intl402/Temporal/ZonedDateTime/prototype/toLocaleString/options-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/toLocaleString/options-undefined.js.
1743         * test262/test/language/computed-property-names/basics/number.js:
1744         * test262/test/language/computed-property-names/basics/string.js:
1745         * test262/test/language/computed-property-names/basics/symbol.js:
1746         * test262/test/language/computed-property-names/class/method/generator.js:
1747         * test262/test/language/computed-property-names/class/method/number.js:
1748         * test262/test/language/computed-property-names/class/method/string.js:
1749         * test262/test/language/computed-property-names/class/method/symbol.js:
1750         * test262/test/language/computed-property-names/object/method/generator.js:
1751         * test262/test/language/computed-property-names/object/method/number.js:
1752         * test262/test/language/computed-property-names/object/method/string.js:
1753         * test262/test/language/computed-property-names/object/method/symbol.js:
1754         * test262/test/language/computed-property-names/to-name-side-effects/numbers-object.js:
1755         * test262/test/language/computed-property-names/to-name-side-effects/object.js:
1756         * test262/test/language/identifiers/part-unicode-14.0.0-escaped.js: Added.
1757         * test262/test/language/identifiers/part-unicode-14.0.0.js: Added.
1758         * test262/test/language/identifiers/start-unicode-14.0.0-escaped.js: Added.
1759         * test262/test/language/identifiers/start-unicode-14.0.0.js: Added.
1760         * test262/test/language/rest-parameters/arrow-function.js:
1761         * test262/test/language/rest-parameters/no-alias-arguments.js:
1762         (f):
1763         * test262/test/language/rest-parameters/with-new-target.js:
1764         (Base):
1765         (Child):
1766         * test262/test/language/statements/class/definition/fn-length-static-precedence-order.js:
1767         * test262/test/language/statements/class/definition/fn-name-static-precedence-order.js:
1768         * test262/test/language/statements/class/static-init-arguments-functions.js:
1769         * test262/test/language/statements/class/static-init-arguments-methods.js:
1770         * test262/test/language/statements/class/subclass/builtin-objects/Array/contructor-calls-super-multiple-arguments.js:
1771         * test262/test/language/statements/class/subclass/builtin-objects/Array/regular-subclassing.js:
1772         * test262/test262-Revision.txt:
1774 2021-10-22  Yusuke Suzuki  <ysuzuki@apple.com>
1776         [JSC] GetTypedArrayLengthAsInt52 must be inserted only when we ensure that input is TypedArray via array-mode-based filtering
1777         https://bugs.webkit.org/show_bug.cgi?id=232168
1778         rdar://84366658
1780         Reviewed by Robin Morisset.
1782         * stress/gettypedarraylengthasint52-must-be-emitted-for-typedarray.js: Added.
1783         (foo):
1785 2021-10-22  Asumu Takikawa  <asumu@igalia.com>
1787         Change WebAssembly module import linking time to evaluate step.
1788         https://bugs.webkit.org/show_bug.cgi?id=231114
1790         Reviewed by Yusuke Suzuki.
1792         Added test cases based on Wasm/ESM proposal examples from:
1794           https://github.com/WebAssembly/esm-integration/blob/main/proposals/esm-integration/EXAMPLES.md
1796         The new tests cases cover the bindings made for both JS<->Wasm
1797         and Wasm<->JS cyclic module cases, and importing values from JS
1798         into Wasm modules. The tests do not cover importing memory values
1799         as this does not work yet.
1801         * wasm/modules/wasm-js-cycle.js:
1802         * wasm/modules/wasm-js-cycle/entry-global.wasm:
1803         * wasm/modules/wasm-js-cycle/entry-global.wat:
1804         * wasm/modules/wasm-js-cycle/entry-table.wasm:
1805         * wasm/modules/wasm-js-cycle/entry-table.wat:
1806         * wasm/modules/wasm-js-cycle/global.js:
1807         (from.string_appeared_here.export.incrementGlobal): Deleted.
1808         * wasm/modules/wasm-js-cycle/table.js:
1809         (from.string_appeared_here.export.setTable): Deleted.
1811         * wasm/modules/js-wasm-cycle.js:
1812         (then):
1813         * wasm/modules/js-wasm-cycle/entry-function.js: Added.
1814         (f):
1815         * wasm/modules/js-wasm-cycle/entry-i32-global.js: Added.
1816         * wasm/modules/js-wasm-cycle/entry-i32-value.js: Added.
1817         * wasm/modules/js-wasm-cycle/entry-memory.js: Added.
1818         * wasm/modules/js-wasm-cycle/entry-table.js: Added.
1819         * wasm/modules/js-wasm-cycle/entry-wasm-global.js: Added.
1820         (f):
1821         * wasm/modules/js-wasm-cycle/entry-wasm-memory.js: Added.
1822         (f):
1823         * wasm/modules/js-wasm-cycle/entry-wasm-table.js: Added.
1824         (f):
1825         * wasm/modules/js-wasm-cycle/function.wasm: Added.
1826         * wasm/modules/js-wasm-cycle/function.wat: Added.
1827         * wasm/modules/js-wasm-cycle/i32-global.wasm: Added.
1828         * wasm/modules/js-wasm-cycle/i32-global.wat: Added.
1829         * wasm/modules/js-wasm-cycle/i32-value.wasm: Added.
1830         * wasm/modules/js-wasm-cycle/i32-value.wat: Added.
1831         * wasm/modules/js-wasm-cycle/memory.wasm: Added.
1832         * wasm/modules/js-wasm-cycle/memory.wat: Added.
1833         * wasm/modules/js-wasm-cycle/table.wasm: Added.
1834         * wasm/modules/js-wasm-cycle/table.wat: Added.
1835         * wasm/modules/js-wasm-cycle/wasm-global.wasm: Added.
1836         * wasm/modules/js-wasm-cycle/wasm-global.wat: Added.
1837         * wasm/modules/js-wasm-cycle/wasm-memory.wasm: Added.
1838         * wasm/modules/js-wasm-cycle/wasm-memory.wat: Added.
1839         * wasm/modules/js-wasm-cycle/wasm-table.wasm: Added.
1840         * wasm/modules/js-wasm-cycle/wasm-table.wat: Added.
1841         * wasm/modules/wasm-imports-js-exports.js:
1842         * wasm/modules/wasm-imports-js-exports/global.js: Added.
1843         * wasm/modules/wasm-imports-js-exports/global.wasm: Added.
1844         * wasm/modules/wasm-imports-js-exports/global.wat: Added.
1845         * wasm/modules/wasm-imports-js-exports/table.js: Added.
1846         * wasm/modules/wasm-imports-js-exports/table.wasm: Added.
1847         * wasm/modules/wasm-imports-js-exports/table.wat: Added.
1848         * wasm/modules/wasm-js-cycle.js:
1849         * wasm/modules/wasm-js-cycle/entry-global.wasm: Added.
1850         * wasm/modules/wasm-js-cycle/entry-global.wat: Added.
1851         * wasm/modules/wasm-js-cycle/entry-memory.wasm: Added.
1852         * wasm/modules/wasm-js-cycle/entry-memory.wat: Added.
1853         * wasm/modules/wasm-js-cycle/entry-table.wasm: Added.
1854         * wasm/modules/wasm-js-cycle/entry-table.wat: Added.
1855         * wasm/modules/wasm-js-cycle/global.js: Added.
1856         (export.incrementGlobal):
1857         * wasm/modules/wasm-js-cycle/memory.js: Added.
1858         (from.string_appeared_here.export.setMemory):
1859         * wasm/modules/wasm-js-cycle/table.js: Added.
1860         (export.setTable):
1862 2021-10-21  Yusuke Suzuki  <ysuzuki@apple.com>
1864         [JSC] Inserted GetTypedArrayLengthAsInt52 for PutByVal should have NodeResultInt52
1865         https://bugs.webkit.org/show_bug.cgi?id=232059
1867         Reviewed by Saam Barati.
1869         * stress/inserted-gettypedarraylengthasint52-should-have-int52-result-for-put-by-val.js: Added.
1870         (foo.bar):
1871         (foo):
1873 2021-10-18  Phillip Mates  <pmates@igalia.com>
1875         Test coverage for JSC shadow realms implementation
1876         https://bugs.webkit.org/show_bug.cgi?id=230602
1878         Reviewed by Yusuke Suzuki.
1880         * modules/import-meta-syntax.js:
1881         (shouldThrow):
1882         * stress/eval-indirect.js: Added.
1883         (shouldBe):
1884         (shouldThrow):
1885         * stress/import-syntax.js:
1886         * stress/resources/shadow-realm-example-module.js: Added.
1887         (putInGlobal):
1888         (getFromGlobal):
1889         (getAnObject):
1890         (getCallCount):
1891         * stress/shadow-realm-evaluate.js: Added.
1892         (shouldBe):
1893         (shouldThrow):
1894         (assertionFn):
1895         (shouldBe.String):
1896         (shouldBe.globalObjectFor.doEval):
1897         (shouldBe.globalObjectFor):
1898         * stress/shadow-realm-import-value.js: Added.
1899         (shouldBe):
1900         (shouldThrow):
1901         (async shouldThrowAsync):
1902         (async const):
1903         (doImport):
1904         * stress/shadow-realm.js: Added.
1905         (shouldBe):
1906         (throw.new.Error):
1907         * test262/config.yaml:
1909 2021-10-18  Yusuke Suzuki  <ysuzuki@apple.com>
1911         [JSC] PutByVal's child5 should be KnownInt32Use / Int52RepUse in FTL
1912         https://bugs.webkit.org/show_bug.cgi?id=231884
1913         rdar://84357099
1915         Reviewed by Robin Morisset.
1917         * stress/put-by-val-known-int32.js: Added.
1918         (new.Uint8Array.1000000.map):
1920 2021-10-16  Robin Morisset  <rmorisset@apple.com>
1922         Allow WASM to use up to 4GB
1923         https://bugs.webkit.org/show_bug.cgi?id=229353
1924         rdar://81603447
1926         Reviewed by Yusuke Suzuki.
1928         The big-wasm-memory/wasm-memory-requested... tests used to simply expect an OOM at 2GB.
1929         They now expect success at 4GB, and failure at 4GB+1.
1930         The exceptions they expect are now more specific, as previously there was a rounding issue that was causing the specific exceptions not to be thrown (resulting in the generic OOM exception later in the code).
1931         Finally I made them only run on 64-bit platforms since we don't support typed arrays >=2GB on 32-bits, and I made them only run in one configuration since they can take a little bit of time.
1933         I also added a few new tests, specifically checking our handling of large typed arrays, and especially of indices above INT32_MAX.
1935         * stress/big-wasm-memory-grow-no-max.js:
1936         (test):
1937         * stress/big-wasm-memory-grow.js:
1938         (test):
1939         * stress/big-wasm-memory.js:
1940         (test):
1941         * stress/typed-array-always-large.js: Added.
1942         (getArrayLength):
1943         (getByVal):
1944         (putByVal):
1945         (test):
1946         * stress/typed-array-eventually-large.js: Added.
1947         (getArrayLength):
1948         (getByVal):
1949         (putByVal):
1950         (test):
1951         * stress/typed-array-large-eventually-oob.js: Added.
1952         (getArrayLength):
1953         (getByVal):
1954         (putByVal):
1955         (test):
1956         * wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE-2.js:
1957         * wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE.js:
1959 2021-10-15  Robin Morisset  <rmorisset@apple.com>
1961         Revert r284230, my last fixes to the watch build make it break tests
1962         https://bugs.webkit.org/show_bug.cgi?id=231797
1964         Unreviewed.
1966         * stress/big-wasm-memory-grow-no-max.js:
1967         (test):
1968         * stress/big-wasm-memory-grow.js:
1969         (test):
1970         * stress/big-wasm-memory.js:
1971         (test):
1972         * stress/typed-array-always-large.js: Removed.
1973         (getArrayLength): Deleted.
1974         (getByVal): Deleted.
1975         (putByVal): Deleted.
1976         (test): Deleted.
1977         * stress/typed-array-eventually-large.js: Removed.
1978         (getArrayLength): Deleted.
1979         (getByVal): Deleted.
1980         (putByVal): Deleted.
1981         (test): Deleted.
1982         * stress/typed-array-large-eventually-oob.js: Removed.
1983         (getArrayLength): Deleted.
1984         (getByVal): Deleted.
1985         (putByVal): Deleted.
1986         (test): Deleted.
1987         * wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE-2.js:
1988         * wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE.js:
1990 2021-10-14  Robin Morisset  <rmorisset@apple.com>
1992         Allow WASM to use up to 4GB
1993         https://bugs.webkit.org/show_bug.cgi?id=229353
1994         rdar://81603447
1996         Reviewed by Yusuke Suzuki.
1998         The big-wasm-memory/wasm-memory-requested... tests used to simply expect an OOM at 2GB.
1999         They now expect success at 4GB, and failure at 4GB+1.
2000         The exceptions they expect are now more specific, as previously there was a rounding issue that was causing the specific exceptions not to be thrown (resulting in the generic OOM exception later in the code).
2001         Finally I made them only run on 64-bit platforms since we don't support typed arrays >=2GB on 32-bits, and I made them only run in one configuration since they can take a little bit of time.
2003         I also added a few new tests, specifically checking our handling of large typed arrays, and especially of indices above INT32_MAX.
2005         * stress/big-wasm-memory-grow-no-max.js:
2006         (test):
2007         * stress/big-wasm-memory-grow.js:
2008         (test):
2009         * stress/big-wasm-memory.js:
2010         (test):
2011         * stress/typed-array-always-large.js: Added.
2012         (getArrayLength):
2013         (getByVal):
2014         (putByVal):
2015         (test):
2016         * stress/typed-array-eventually-large.js: Added.
2017         (getArrayLength):
2018         (getByVal):
2019         (putByVal):
2020         (test):
2021         * stress/typed-array-large-eventually-oob.js: Added.
2022         (getArrayLength):
2023         (getByVal):
2024         (putByVal):
2025         (test):
2026         * wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE-2.js:
2027         * wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE.js:
2029 2021-10-14  Commit Queue  <commit-queue@webkit.org>
2031         Unreviewed, reverting r284151.
2032         https://bugs.webkit.org/show_bug.cgi?id=231740
2034         WTR
2036         Reverted changeset:
2038         "Test coverage for JSC shadow realms implementation"
2039         https://bugs.webkit.org/show_bug.cgi?id=230602
2040         https://commits.webkit.org/r284151
2042 2021-10-14  Phillip Mates  <pmates@igalia.com>
2044         Test coverage for JSC shadow realms implementation
2045         https://bugs.webkit.org/show_bug.cgi?id=230602
2047         Reviewed by Yusuke Suzuki.
2049         * modules/import-meta-syntax.js:
2050         (shouldThrow):
2051         * stress/eval-indirect.js: Added.
2052         (shouldBe):
2053         (shouldThrow):
2054         * stress/import-syntax.js:
2055         * stress/resources/shadow-realm-example-module.js: Added.
2056         (putInGlobal):
2057         (getFromGlobal):
2058         (getAnObject):
2059         (getCallCount):
2060         * stress/shadow-realm-evaluate.js: Added.
2061         (shouldBe):
2062         (shouldThrow):
2063         (assertionFn):
2064         (shouldBe.String):
2065         (shouldBe.globalObjectFor.doEval):
2066         (shouldBe.globalObjectFor):
2067         * stress/shadow-realm-import-value.js: Added.
2068         (shouldBe):
2069         (shouldThrow):
2070         (async shouldThrowAsync):
2071         (async const):
2072         (doImport):
2073         * stress/shadow-realm.js: Added.
2074         (shouldBe):
2075         (throw.new.Error):
2076         * test262/config.yaml:
2078 2021-10-11  Saam Barati  <sbarati@apple.com>
2080         Don't branch around register allocation in DFG enumerator get by val and pass in the right LValue type to strictInt52ToJSValue
2081         https://bugs.webkit.org/show_bug.cgi?id=231465
2082         <rdar://83876470>
2084         Reviewed by Yusuke Suzuki.
2086         * stress/dont-branch-around-regalloc-enumerator-get-by-val.js: Added.
2087         (foo):
2089 2021-10-09  Yusuke Suzuki  <ysuzuki@apple.com>
2091         [JSC] Refine RegExp#compile based on regexp-legacy-features proposal
2092         https://bugs.webkit.org/show_bug.cgi?id=231486
2094         Reviewed by Alexey Shvayka.
2096         * stress/regexp-recompile.js: Added.
2097         (shouldBe):
2098         (recompile):
2099         (target):
2100         * test262/expectations.yaml:
2102 2021-10-08  Tadeu Zagallo  <tzagallo@apple.com>
2104         Implement the WebAssembly exception handling proposal
2105         https://bugs.webkit.org/show_bug.cgi?id=229681
2106         <rdar://81603387>
2108         Reviewed by Keith Miller.
2110         Add new tests for the exception handling and import a set of tests used by V8 into wasm/v8.
2112         * wasm.yaml:
2113         * wasm/Builder.js:
2114         (const._importExceptionContinuation.type.Import.field):
2115         (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
2116         (const._exportFunctionContinuation.type.Export.field): Deleted.
2117         (const._exportFunctionContinuation): Deleted.
2118         * wasm/Builder_WebAssemblyBinary.js:
2119         (const.emitters.Import):
2120         (const.emitters.Export):
2121         (const.emitters.Exception):
2122         * wasm/assert.js:
2123         * wasm/self-test/test_BuilderJSON.js:
2124         (ImportBeforeTypeSections): Deleted.
2125         * wasm/stress/catch-with-delegate.js: Added.
2126         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.callback):
2127         (assert.throws):
2128         * wasm/stress/create-tag-from.js: Added.
2129         * wasm/stress/exception-cross-instance-2.js: Added.
2130         (test):
2131         (assert.eq):
2132         * wasm/stress/exception-cross-instance-3.js: Added.
2133         (test):
2134         (assert.eq):
2135         * wasm/stress/exception-cross-instance.js: Added.
2136         (test):
2137         (assert.throws):
2138         (instB.new.WebAssembly.Instance):
2139         * wasm/stress/exception-liveness-tier-up.js: Added.
2140         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.catch):
2141         (assert.eq.):
2142         (assert.eq):
2143         * wasm/stress/exception-multiple-instances.js: Added.
2144         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.const.module.new.WebAssembly.Module):
2145         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.inst.exports.throw):
2146         * wasm/stress/exception-simple-delegate.js: Added.
2147         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.testSimpleThrowDelegate):
2148         (testThrowDelegateSkip):
2149         (testDelegateCaller):
2150         (testSimpleDelegateMerge):
2151         * wasm/stress/exception-simple-throw-catch.js: Added.
2152         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.testSimpleTryCatch):
2153         (testSimpleTryCatchAll):
2154         (testCallTryCatch):
2155         (testCallTryCatchAll):
2156         (testSimpleTryCatchValue):
2157         (testCallTryCatchValue):
2158         (testStackTryCatch):
2159         (testLiveAfterTryCatch):
2160         (testLiveAfterTryCatchAll):
2161         (testUnifyTryCatchCatch):
2162         (testUnifyTryCatchCatchAll):
2163         (testUnifyTryNoThrow):
2164         (testUnifyTryNoCatch):
2165         (testNestedCatch):
2166         * wasm/stress/exception-thrown-from-js-to-wasm-catchall-rethrow.js: Added.
2167         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.callback):
2168         * wasm/stress/exception-thrown-from-js-to-wasm-catchall.js: Added.
2169         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.callback):
2170         * wasm/stress/exception-thrown-from-js-to-wasm.js: Added.
2171         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.callback):
2172         * wasm/stress/exception-thrown-out-of-wasm.js: Added.
2173         * wasm/stress/exception-thrown-over-wasm.js: Added.
2174         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.callback):
2175         * wasm/stress/exception-trap.js: Added.
2176         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.testCannotCatchUnreachable):
2177         (testCannotCatchOOB):
2178         (testWasmAPIThrow):
2179         (testJSCatchAndRethrow):
2180         * wasm/stress/rethrow-from-catch-to-catch.js: Added.
2181         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.callback):
2182         * wasm/stress/rethrow-to-catch.js: Added.
2183         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.callback):
2184         (assert.throws.callback):
2185         (assert.throws):
2186         * wasm/stress/rethrow-to-delegate-to-catch.js: Added.
2187         (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here):
2188         (assert.eq.exn.getArg):
2189         (assert.throws):
2190         (assert.throws.callback):
2191         (assert.eq):
2192         * wasm/stress/simple-export-exception.js: Added.
2193         * wasm/v8/LICENSE: Added.
2194         * wasm/v8/exceptions-api.js: Added.
2195         (TestImport):
2196         (TestImportExport):
2197         (TestExceptionConstructor):
2198         (TestExceptionConstructorWithPayload):
2199         (TestCatchJSException.js_func):
2200         (js_func):
2201         (TestCatchJS):
2202         (TestCatchJSExceptionWithPayload):
2203         (TestGetArg):
2204         * wasm/v8/exceptions-export.js: Added.
2205         (TestExportMultiple):
2206         (TestExportOutOfBounds):
2207         * wasm/v8/exceptions-externref.js: Added.
2208         (TestThrowRefNull):
2209         (TestThrowRefParam):
2210         * wasm/v8/exceptions-import.js: Added.
2211         (NewExportedTag):
2212         (TestImportSimple):
2213         (TestImportMissing):
2214         * wasm/v8/exceptions-rethrow.js: Added.
2215         (TestRethrowInCatch):
2216         (TestRethrowInCatchAll):
2217         (TestRethrowNested):
2218         (TestRethrowRecatch):
2219         * wasm/v8/exceptions-shared.js: Added.
2220         (NewExportedException):
2221         (TestSingleInstance.let.instance.builder.instantiate.):
2222         (TestSingleInstance):
2223         (TestMultiInstanceNonShared.let.instance2.builder.instantiate.):
2224         (TestMultiInstanceShared.let.instance2.builder.instantiate.):
2225         (TestMultiModuleShared.let.instance2.builder2.instantiate.):
2226         * wasm/v8/exceptions-type-reflection.js: Added.
2227         (TestExport):
2228         (TestImportExport):
2229         * wasm/v8/exceptions-utils.js: Added.
2230         (assertWasmThrows):
2231         * wasm/v8/exceptions.js: Added.
2232         (TestThrowSimple):
2233         (TestCatchSimple):
2234         (TestTrapNotCaught):
2235         (TestTrapViaJSNotCaught.js_import):
2236         (TestManuallyThrownRuntimeErrorCaught.throw_exc):
2237         (TestManuallyThrownRuntimeErrorCaught):
2238         (TestExnWithWasmProtoNotCaught.js_import):
2239         (TestExnWithWasmProtoNotCaught):
2240         (TestStackOverflowNotCaught.stack_overflow):
2241         (TestStackOverflowNotCaught):
2242         (TestThrowParamI):
2243         (TestThrowParamF):
2244         (TestThrowParamL):
2245         (TestThrowParamD):
2246         (TestCatchCrossFunctions.throw_value):
2247         (TestCatchCrossFunctions.throw_string):
2248         (TestCatchCrossFunctions.throw_undefined):
2249         (TestCatchCrossFunctions.throw_fp):
2250         (TestCatchCrossFunctions.throw_large):
2251         (TestDelegateNoThrow):
2252         (TestDelegateThrow):
2253         (TestDelegateThrowNoCatch):
2254         (TestDelegateMerge):
2255         (TestDelegate1):
2256         (TestDelegateUnreachable):
2257         (TestDelegateToCaller):
2258         (TestUnreachableInCatchAll):
2259         (TestThrowWithLocal):
2260         (TestCatchlessTry):
2261         * wasm/v8/mjsunit.js: Added.
2262         (MjsUnitAssertionError):
2263         (MjsUnitAssertionError.prototype.toString):
2264         (catch):
2265         (classOf):
2266         (ValueOf):
2267         (prettyPrinted):
2268         (prettyPrintedArrayElement):
2269         (failWithMessage):
2270         (formatFailureText):
2271         (fail):
2272         (deepObjectEquals):
2273         (deepEquals):
2274         (assertSame):
2275         (assertNotSame):
2276         (assertEquals):
2277         (assertNotEquals):
2278         (assertEqualsDelta):
2279         (assertArrayEquals):
2280         (assertPropertiesEqual):
2281         (assertToStringEquals):
2282         (assertTrue):
2283         (assertFalse):
2284         (assertNull):
2285         (assertNotNull):
2286         (executeCode):
2287         (checkException):
2288         (assertThrows):
2289         (assertThrowsEquals):
2290         (assertThrowsAsync):
2291         (assertInstanceof):
2292         (assertDoesNotThrow):
2293         (assertUnreachable):
2294         (assertContains):
2295         (assertMatches):
2296         (concatenateErrors):
2297         (assertPromiseResult):
2298         (OptimizationStatus):
2299         (assertUnoptimized):
2300         (assertOptimized):
2301         (isNeverOptimizeLiteMode):
2302         (isNeverOptimize):
2303         (isAlwaysOptimize):
2304         (isInterpreted):
2305         (isBaseline):
2306         (isUnoptimized):
2307         (isOptimized):
2308         (isTurboFanned):
2309         (MjsUnitAssertionError.prepareStackTrace):
2310         * wasm/v8/wasm-module-builder.js: Added.
2311         (bytes):
2312         (wasmOptRefType):
2313         (wasmRefType):
2314         (wasmRtt):
2315         (wasmRttNoDepth):
2316         (makeSig):
2317         (makeSig_v_x):
2318         (makeSig_x_v):
2319         (makeSig_v_xx):
2320         (makeSig_r_v):
2321         (makeSig_r_x):
2322         (makeSig_r_xx):
2323         (defineWasmOpcode):
2324         (assertTraps):
2325         (Binary):
2326         (Binary.prototype.ensure_space):
2327         (Binary.prototype.trunc_buffer):
2328         (Binary.prototype.reset):
2329         (Binary.prototype.emit_u8):
2330         (Binary.prototype.emit_u16):
2331         (Binary.prototype.emit_u32):
2332         (Binary.prototype.emit_leb_u):
2333         (Binary.prototype.emit_u32v):
2334         (Binary.prototype.emit_u64v):
2335         (Binary.prototype.emit_bytes):
2336         (Binary.prototype.emit_string):
2337         (Binary.prototype.emit_heap_type):
2338         (Binary.prototype.emit_type):
2339         (Binary.prototype.emit_init_expr_recursive):
2340         (Binary.prototype.emit_init_expr):
2341         (Binary.prototype.emit_header):
2342         (Binary.prototype.emit_section):
2343         (WasmFunctionBuilder):
2344         (WasmFunctionBuilder.prototype.numLocalNames):
2345         (WasmFunctionBuilder.prototype.exportAs):
2346         (WasmFunctionBuilder.prototype.exportFunc):
2347         (WasmFunctionBuilder.prototype.setCompilationHint):
2348         (WasmFunctionBuilder.prototype.addBody):
2349         (WasmFunctionBuilder.prototype.addBodyWithEnd):
2350         (WasmFunctionBuilder.prototype.getNumLocals):
2351         (WasmFunctionBuilder.prototype.addLocals):
2352         (WasmFunctionBuilder.prototype.end):
2353         (WasmInitExpr.I32Const):
2354         (WasmInitExpr.I64Const):
2355         (WasmInitExpr.F32Const):
2356         (WasmInitExpr.F64Const):
2357         (WasmInitExpr.S128Const):
2358         (WasmInitExpr.GlobalGet):
2359         (WasmInitExpr.RefFunc):
2360         (WasmInitExpr.RefNull):
2361         (WasmInitExpr.StructNewWithRtt):
2362         (WasmInitExpr.StructNew):
2363         (WasmInitExpr.StructNewDefaultWithRtt):
2364         (WasmInitExpr.StructNewDefault):
2365         (WasmInitExpr.ArrayInit):
2366         (WasmInitExpr.ArrayInitStatic):
2367         (WasmInitExpr.RttCanon):
2368         (WasmInitExpr.RttSub):
2369         (WasmInitExpr.RttFreshSub):
2370         (WasmInitExpr.defaultFor):
2371         (WasmInitExpr):
2372         (WasmGlobalBuilder):
2373         (WasmGlobalBuilder.prototype.exportAs):
2374         (WasmTableBuilder):
2375         (WasmTableBuilder.prototype.exportAs):
2376         (makeField):
2377         (WasmStruct):
2378         (WasmStructSubtype):
2379         (WasmArray):
2380         (WasmArraySubtype):
2381         (WasmElemSegment):
2382         (WasmElemSegment.prototype.is_active):
2383         (WasmElemSegment.prototype.is_passive):
2384         (WasmElemSegment.prototype.is_declarative):
2385         (WasmElemSegment.prototype.expressions_as_elements):
2386         (WasmModuleBuilder):
2387         (WasmModuleBuilder.prototype.addStart):
2388         (WasmModuleBuilder.prototype.addMemory):
2389         (WasmModuleBuilder.prototype.addMemory64):
2390         (WasmModuleBuilder.prototype.addExplicitSection):
2391         (WasmModuleBuilder.prototype.stringToBytes):
2392         (WasmModuleBuilder.prototype.createCustomSection):
2393         (WasmModuleBuilder.prototype.addCustomSection):
2394         (WasmModuleBuilder.prototype.addType):
2395         (WasmModuleBuilder.prototype.addStruct):
2396         (WasmModuleBuilder.prototype.addStructSubtype):
2397         (WasmModuleBuilder.prototype.addArray):
2398         (WasmModuleBuilder.prototype.addArraySubtype):
2399         (WasmModuleBuilder.prototype.addGlobal):
2400         (WasmModuleBuilder.prototype.addTable):
2401         (WasmModuleBuilder.prototype.addTag):
2402         (WasmModuleBuilder.prototype.addFunction):
2403         (WasmModuleBuilder.prototype.addImport):
2404         (WasmModuleBuilder.prototype.addImportedGlobal):
2405         (WasmModuleBuilder.prototype.addImportedMemory):
2406         (WasmModuleBuilder.prototype.addImportedTable):
2407         (WasmModuleBuilder.prototype.addImportedTag):
2408         (WasmModuleBuilder.prototype.addExport):
2409         (WasmModuleBuilder.prototype.addExportOfKind):
2410         (WasmModuleBuilder.prototype.setCompilationHint):
2411         (WasmModuleBuilder.prototype.addDataSegment):
2412         (WasmModuleBuilder.prototype.addPassiveDataSegment):
2413         (WasmModuleBuilder.prototype.exportMemoryAs):
2414         (WasmModuleBuilder.prototype.addActiveElementSegment):
2415         (WasmModuleBuilder.prototype.addPassiveElementSegment):
2416         (WasmModuleBuilder.prototype.addDeclarativeElementSegment):
2417         (WasmModuleBuilder.prototype.appendToTable):
2418         (WasmModuleBuilder.prototype.setTableBounds):
2419         (WasmModuleBuilder.prototype.setName):
2420         (WasmModuleBuilder.prototype.toBuffer):
2421         (WasmModuleBuilder.prototype.toArray):
2422         (WasmModuleBuilder.prototype.instantiate):
2423         (WasmModuleBuilder.prototype.asyncInstantiate):
2424         (WasmModuleBuilder.prototype.toModule):
2425         (wasmSignedLeb):
2426         (wasmUnsignedLeb):
2427         (wasmI32Const):
2428         (wasmI64Const):
2429         (wasmF32Const):
2430         (wasmF64Const):
2431         (wasmS128Const):
2432         (getOpcodeName):
2433         * wasm/wasm.json:
2435 2021-10-08  Yusuke Suzuki  <ysuzuki@apple.com>
2437         [JSC] UnlinkedCodeBlock::m_instructions can be nullptr
2438         https://bugs.webkit.org/show_bug.cgi?id=231445
2439         rdar://83975933
2441         Reviewed by Mark Lam.
2443         * stress/unlinked-code-block-destructor.js: Added.
2444         (useAllMemory.get Object):
2445         (useAllMemory.foo):
2446         (useAllMemory):
2447         (try.bar):
2449 2021-10-08  Saam Barati  <sbarati@apple.com>
2451         RegExpExec can't statically prove which of the two structures it will get in AI by just looking at the RegExp*
2452         https://bugs.webkit.org/show_bug.cgi?id=231382
2453         <rdar://83722151>
2455         Reviewed by Mark Lam.
2457         * stress/reg-exp-exec-cant-prove-which-structure-it-produces-in-ai.js: Added.
2458         (foo):
2460 2021-10-07  Philip Chimento  <pchimento@igalia.com>
2462         [JSC] Temporal tweaks to pass more test262 tests
2463         https://bugs.webkit.org/show_bug.cgi?id=231331
2465         Reviewed by Yusuke Suzuki.
2467         * test262/config.yaml: Three tests no longer crash, but they still
2468           depend on unimplemented functionality, so skip them.
2469         * test262/expectations.yaml:
2471 2021-10-06  Ross Kirsling  <ross.kirsling@sony.com>
2473         Unreviewed, ensure test262 expectations reflect BigSur release mode.
2475         * test262/expectations.yaml:
2477 2021-10-06  Philip Chimento  <pchimento@igalia.com>
2479         [JSC] Update test262
2480         https://bugs.webkit.org/show_bug.cgi?id=231201
2482         Add tests that were somehow cut off in the previous patch.
2484         Reviewed by Ross Kirsling.
2486         * test262/test/built-ins/Temporal/Now/*: Added.
2488 2021-10-06  Philip Chimento  <pchimento@igalia.com>
2490         [JSC] Update test262
2491         https://bugs.webkit.org/show_bug.cgi?id=231201
2493         Reviewed by Ross Kirsling.
2495         Update test262 to latest, to bring in Temporal tests.
2497         * test262/config.yaml: Ignore tests that depend on unimplemented parts
2498         of Temporal.
2499         * test262/expectations.yaml: Add new failures.
2500         * test262/*: Update from upstream.
2501         * test262/test262-Revision.txt:
2503 2021-10-06  Saam Barati  <sbarati@apple.com>
2505         Run backwards propagation before we prune the graph after ForceOSRExit nodes in BytecodeParser
2506         https://bugs.webkit.org/show_bug.cgi?id=230823
2507         <rdar://problem/83565088>
2509         Reviewed by Robin Morisset.
2511         * run-backwards-propagation-before-osr-exit-pruning.js: Added.
2512         (assert):
2513         (main.async v24):
2514         (main):
2516 2021-10-05  Saam Barati  <sbarati@apple.com>
2518         Don't pass DontBuildStrings to next token after parsing an empty parameter list
2519         https://bugs.webkit.org/show_bug.cgi?id=225094
2520         <rdar://problem/77231778>
2522         Reviewed by Yusuke Suzuki.
2524         * stress/dont-pass-DontBuildStrings-when-building-empty-arguments-list.js: Added.
2525         (main.a.prototype.g.toString.string_appeared_here):
2526         (main.a):
2527         (main):
2529 2021-10-05  Mark Lam  <mark.lam@apple.com>
2531         CodeBlock should not add/remove LoopHintExecutionCounters.
2532         https://bugs.webkit.org/show_bug.cgi?id=231209
2533         rdar://83571235
2535         Reviewed by Saam Barati.
2537         * stress/codeBlock-should-not-add-remove-loop-hint-execution-counters-due-to-cached-unlinked-baseline-code.js: Added.
2539 2021-10-05  Yusuke Suzuki  <ysuzuki@apple.com>
2541         [JSC] JSPropertyNameEnumerator should not have cached prototype chain since empty JSPropertyNameEnumerator is shared
2542         https://bugs.webkit.org/show_bug.cgi?id=231202
2544         Reviewed by Keith Miller.
2546         * stress/for-in-validation-poly-proto.js: Added.
2547         (shouldBe):
2548         (test):
2549         (factory.Test):
2550         (factory):
2551         * stress/for-in-validation-watchpoint.js: Added.
2552         (shouldBe):
2553         (test):
2554         (Test):
2555         (factory):
2557 2021-10-04  Saam Barati  <sbarati@apple.com>
2559         IntrinsicGetterAccessCase implementation of __proto__ needs to handle get_by_id_with_this
2560         https://bugs.webkit.org/show_bug.cgi?id=229951
2561         <rdar://problem/82787527>
2563         Reviewed by Yusuke Suzuki.
2565         * stress/run-proto-intrinsic-getter-with-this-value-in-get-by-id-with-this.js: Added.
2566         (assert):
2567         (main.v37):
2568         (main):
2570 2021-10-02  Yusuke Suzuki  <ysuzuki@apple.com>
2572         [JSC] Update test262 config.yaml since OSS WebKit now uses ICU 64.2 header
2573         https://bugs.webkit.org/show_bug.cgi?id=231121
2575         Reviewed by Mark Lam.
2577         * test262/config.yaml:
2579 2021-10-02  Yusuke Suzuki  <ysuzuki@apple.com>
2581         [JSC] DateTimeFormat.resolvedOptions shouldn't return an object with other date/time properties if dateStyle or timeStyle are set
2582         https://bugs.webkit.org/show_bug.cgi?id=231041
2584         Reviewed by Ross Kirsling.
2586         * stress/intl-date-time-format-date-time-style-basic.js:
2587         (shouldBe.JSON.stringify.o.resolvedOptions):
2588         (shouldBe):
2589         (shouldBe.o.format): Deleted.
2591 2021-10-02  Yusuke Suzuki  <ysuzuki@apple.com>
2593         Unreviewed, add reported test to our stress tests
2594         https://bugs.webkit.org/show_bug.cgi?id=230827
2596         While we cannot reproduce the issue successfully, adding it to our stress tests to ensure that this will never happen.
2598         * stress/intl-datetimeformat.js:
2600 2021-10-01  Commit Queue  <commit-queue@webkit.org>
2602         Unreviewed, reverting r283293.
2603         https://bugs.webkit.org/show_bug.cgi?id=231116
2605         changing print() broke a lot of random things
2607         Reverted changeset:
2609         "Print values in a nicer way in the jsc shell"
2610         https://bugs.webkit.org/show_bug.cgi?id=230931
2611         https://commits.webkit.org/r283293
2613 2021-09-30  Saam Barati  <sbarati@apple.com>
2615         The DFG/FTL need to be aware that Proxy's can produce "function" for typeof and might be callable
2616         https://bugs.webkit.org/show_bug.cgi?id=230804
2617         <rdar://problem/83543951>
2619         Reviewed by Yusuke Suzuki.
2621         * stress/ai-typeof-needs-to-be-aware-of-proxy-2.js: Added.
2622         (assert):
2623         (builtin.vm.createBuiltin):
2624         (builtin2.vm.createBuiltin):
2625         (let.p.new.Proxy):
2626         * stress/ai-typeof-needs-to-be-aware-of-proxy.js: Added.
2627         (assert):
2628         (builtin.vm.createBuiltin):
2629         (let.p.new.Proxy):
2630         * stress/is-callable-in-ftl-needs-to-be-aware-of-proxy.js: Added.
2631         (main):
2633 2021-09-29  Mark Lam  <mark.lam@apple.com>
2635         DFG strength reduction on % operator should handle an INT_MIN divisor.
2636         https://bugs.webkit.org/show_bug.cgi?id=230391
2637         <rdar://problem/83229740>
2639         Reviewed by Robin Morisset.
2641         * stress/dfg-strength-reduction-on-mod-should-handle-INT_MIN.js: Added.
2643 2021-09-29  Saam Barati  <sbarati@apple.com>
2645         Print values in a nicer way in the jsc shell
2646         https://bugs.webkit.org/show_bug.cgi?id=230931
2648         Reviewed by Tadeu Zagallo.
2650         * ChakraCore/test/jsc-lib.js:
2652 2021-09-29  Saam Barati  <sbarati@apple.com>
2654         We need to load the baseline JIT's constant pool register after OSR exit to checkpoints if we return to baseline code
2655         https://bugs.webkit.org/show_bug.cgi?id=230972
2656         <rdar://83659469>
2658         Reviewed by Mark Lam and Yusuke Suzuki.
2660         * stress/checkpoint-osr-exit-needs-to-reload-baseline-jit-constant-pool-gpr.js: Added.
2661         (empty):
2662         (empty2):
2663         (test):
2665 2021-09-29  Saam Barati  <sbarati@apple.com>
2667         Code inside strength reduction can incorrectly prove that we know what lastIndex is
2668         https://bugs.webkit.org/show_bug.cgi?id=230802
2669         <rdar://problem/83543699>
2671         Reviewed by Mark Lam.
2673         * stress/dont-fold-regexp-exec-when-we-dont-know-last-index-and-regexp-is-constant.js: Added.
2674         (assert):
2675         (let.reg.RegExp.foo.g.doExec):
2676         (noInline.doExec):
2678 2021-09-29  Saam Barati  <sbarati@apple.com>
2680         DoesGCCheck does not use enough bits for nodeIndex
2681         https://bugs.webkit.org/show_bug.cgi?id=230915
2682         <rdar://83297515>
2684         Unreviewed. Forgot to add a try/catch in the test.
2686         * stress/verify-can-gc-node-index.js:
2688 2021-09-28  Saam Barati  <sbarati@apple.com>
2690         DoesGCCheck does not use enough bits for nodeIndex
2691         https://bugs.webkit.org/show_bug.cgi?id=230915
2692         <rdar://83297515>
2694         Reviewed by Mark Lam.
2696         * stress/verify-can-gc-node-index.js: Added.
2697         (gen):
2698         (f):
2700 2021-09-28  Alexey Shvayka  <shvaikalesh@gmail.com>
2702         Speed up setting JSFunction's "prototype" property
2703         https://bugs.webkit.org/show_bug.cgi?id=230864
2705         Reviewed by Yusuke Suzuki.
2707         * microbenchmarks/class-creation.js: Added.
2708         * microbenchmarks/function-prototype-put-non-reified.js: Added.
2709         * microbenchmarks/function-prototype-put-reified.js: Added.
2711 2021-09-27  Yusuke Suzuki  <ysuzuki@apple.com>
2713         [WTF] Add ApproximateTime
2714         https://bugs.webkit.org/show_bug.cgi?id=230876
2716         Reviewed by Filip Pizlo.
2718         * microbenchmarks/approximate-time-now.js: Added.
2719         * microbenchmarks/monotonic-time-now.js: Added.
2720         * microbenchmarks/wall-time-now.js: Added.
2722 2021-09-26  Yusuke Suzuki  <ysuzuki@apple.com>
2724         [JSC] Optimize PutByVal with for-in
2725         https://bugs.webkit.org/show_bug.cgi?id=230801
2727         Reviewed by Saam Barati.
2729         * stress/for-in-sentinel.js: Added.
2730         (shouldBe):
2731         (test):
2733 2021-09-26  Commit Queue  <commit-queue@webkit.org>
2735         Unreviewed, reverting r283095.
2736         https://bugs.webkit.org/show_bug.cgi?id=230815
2738         We should land the original patch since this does not work
2739         with bytecode cache
2741         Reverted changeset:
2743         "[JSC] Optimize PutByVal with for-in"
2744         https://bugs.webkit.org/show_bug.cgi?id=230801
2745         https://commits.webkit.org/r283095
2747 2021-09-26  Yusuke Suzuki  <ysuzuki@apple.com>
2749         [JSC] Optimize PutByVal with for-in
2750         https://bugs.webkit.org/show_bug.cgi?id=230801
2752         Reviewed by Saam Barati.
2754         * stress/for-in-sentinel.js: Added.
2755         (shouldBe):
2756         (test):
2758 2021-09-24 Rick Waldron <waldron.rick@gmail.com>
2760         [JSC] Add checkScriptSyntax function to jsc host environment
2761         https://bugs.webkit.org/show_bug.cgi?id=230631
2763         Reviewed by Yusuke Suzuki.
2765         Updates tests that were using eval() to verify syntax.
2767         * stress/arrow-function-syntax.js: Replace custom checkSyntax with checkScriptSyntax
2768         * stress/async-iteration-for-await-of-syntax.js: Replace custom checkSyntax with checkScriptSyntax
2769         * stress/async-iteration-syntax.js: Replace custom checkSyntax with checkScriptSyntax
2771 2021-09-23  Ross Kirsling  <ross.kirsling@sony.com>
2773         [JSC] Handle syntactic production for `#x in expr` correctly
2774         https://bugs.webkit.org/show_bug.cgi?id=230668
2776         Reviewed by Yusuke Suzuki.
2778         * stress/private-in.js: Add tests.
2779         * test262/expectations.yaml: Mark two test cases as passing.
2781 2021-09-22  Yusuke Suzuki  <ysuzuki@apple.com>
2783         [JSC] Filter algorithmic numbering systems from enumeration data
2784         https://bugs.webkit.org/show_bug.cgi?id=230660
2786         Reviewed by Ross Kirsling.
2788         * stress/intl-enumeration.js:
2789         * test262/expectations.yaml:
2791 2021-09-22  Yusuke Suzuki  <ysuzuki@apple.com>
2793         [JSC] Adjust Intl currency enumeration
2794         https://bugs.webkit.org/show_bug.cgi?id=230656
2796         Reviewed by Ross Kirsling.
2798         * stress/intl-enumeration.js:
2799         * test262/expectations.yaml:
2801 2021-09-22  Yusuke Suzuki  <ysuzuki@apple.com>
2803         [JSC] emoji and eor collations are missing
2804         https://bugs.webkit.org/show_bug.cgi?id=230652
2806         Reviewed by Ross Kirsling.
2808         * stress/intl-enumeration.js:
2809         * test262/expectations.yaml:
2811 2021-09-22  Yusuke Suzuki  <ysuzuki@apple.com>
2813         [JSC] Intl unicode identifier type will reject underscore
2814         https://bugs.webkit.org/show_bug.cgi?id=230645
2816         Reviewed by Ross Kirsling.
2818         * test262/expectations.yaml:
2820 2021-09-22  Yusuke Suzuki  <ysuzuki@apple.com>
2822         [JSC] Upgrade test262
2823         https://bugs.webkit.org/show_bug.cgi?id=230641
2825         Reviewed by Ross Kirsling.
2827         Upgrade test262 to the latest one.
2829         * test262/config.yaml:
2830         * test262/expectations.yaml:
2831         * test262/test262-Revision.txt:
2833 2021-09-21  Yusuke Suzuki  <ysuzuki@apple.com>
2835         [JSC] CompareStrictEq is omitting String check incorrectly
2836         https://bugs.webkit.org/show_bug.cgi?id=230582
2837         rdar://83237121
2839         Reviewed by Mark Lam.
2841         * stress/compare-strict-eq-string-check.js: Added.
2842         (foo):
2843         (bar):
2845 2021-09-21  Justin Michaud  <justin_michaud@apple.com>
2847         Differential testing: live statement don't execute
2848         https://bugs.webkit.org/show_bug.cgi?id=229939
2850         Reviewed by Saam Barati.
2852         * stress/in-by-val-should-throw.js: Added.
2853         (doesThrow):
2854         (noInline.doesThrow.noFTL.doesThrow.blackbox):
2855         (noInline.blackbox.doesNotThrow):
2856         (noInline.doesNotThrow.noFTL.doesNotThrow.main):
2858 2021-09-20  Mikhail R. Gadelha  <mikhail@igalia.com>
2860         Skip stress/json-stringify-stack-overflow.js only on memory limited systems
2861         https://bugs.webkit.org/show_bug.cgi?id=230489
2863         Unreviewed gardening.
2865         It's currently only failing on systems with low memory, regardless of
2866         the arch.
2868         * stress/json-stringify-stack-overflow.js:
2870 2021-09-17  Yusuke Suzuki  <ysuzuki@apple.com>
2872         [JSC] Add fast property enumeration mode for JSON.stringify
2873         https://bugs.webkit.org/show_bug.cgi?id=230393
2875         Reviewed by Mark Lam.
2877         * stress/json-stringify-object-modify.js: Added.
2878         (shouldBe):
2879         (throw.new.Error.let.object.hello.get inner):
2880         (throw.new.Error):
2881         (shouldBe.let.object.hello.get inner):
2883 2021-09-15  Yusuke Suzuki  <ysuzuki@apple.com>
2885         [JSC] Optimize leaf object creation in JSON.parse
2886         https://bugs.webkit.org/show_bug.cgi?id=230298
2888         Reviewed by Keith Miller.
2890         * microbenchmarks/json-parse-leaf-object.js: Added.
2892 2021-09-13  Yusuke Suzuki  <ysuzuki@apple.com>
2894         [JSC] Add JSON.parse microbenchmarks from Speedometer2
2895         https://bugs.webkit.org/show_bug.cgi?id=230234
2897         Reviewed by Saam Barati.
2899         This patch adds JSON.parse microbenchmarks from Speedometer2. We record JSON.parse call in Speedometer2 subtests,
2900         and create benchmark which performs the same calls.
2902         * microbenchmarks/flight-todomvc-json-parse.js: Renamed from JSTests/microbenchmarks/flight-todomvc-json.js.
2903         * microbenchmarks/vanilla-es2015-babel-webpack-todomvc-json-parse.js: Added.
2904         * microbenchmarks/vanilla-es2015-todomvc-json-parse.js: Added.
2905         * microbenchmarks/vanilla-todomvc-json-parse.js: Added.
2907 2021-09-10  Justin Michaud  <justin_michaud@apple.com>
2909         [ JSC Catalina Release ] wasm.yaml/wasm/references/multitable.js.wasm-collect-continuously (javascriptcore-tests) is a flaky timeout
2910         https://bugs.webkit.org/show_bug.cgi?id=229896
2912         The combination of collectContinuously and verifyGC really hammer the poor hardware 
2913         during the final two "table insanity" stress tests. I have confirmed that the test
2914         is indeed making forward progress, even after running for 45 minutes, by using logGC. 
2915         For this reason, it seems like it is OK to skip verifyGC for this test.
2917         We could have added a vm option isVerifyingGC and disabled only the table insanity test
2918         in this case like we do for low memory, but I think this is good enough.
2920         Reviewed by Mark Lam.
2922         * wasm/references/multitable.js:
2924 2021-09-09  Yusuke Suzuki  <ysuzuki@apple.com>
2926         [JSC] Intl.Locale weekendInfo should list all weekend days instead of range
2927         https://bugs.webkit.org/show_bug.cgi?id=230108
2929         Reviewed by Ross Kirsling.
2931         * stress/intl-locale-info.js:
2932         (throw.new.Error):
2933         (let.enGB.new.Intl.Locale.shouldBe): Deleted.
2934         * test262/config.yaml:
2936 2021-09-09  Yusuke Suzuki  <ysuzuki@apple.com>
2938         [JSC] Optimize op_get_property_enumerator further
2939         https://bugs.webkit.org/show_bug.cgi?id=230086
2941         Reviewed by Saam Barati.
2943         * stress/for-in-cell-other.js: Added.
2944         (shouldBe):
2945         (forIn):
2946         * stress/for-in-null-undefined.js: Added.
2947         (shouldBe):
2948         (forIn):
2950 2021-09-09  Justin Michaud  <justin_michaud@apple.com>
2952         Differential testing: incorrect constant propagation around Uint8ClampedArray
2953         https://bugs.webkit.org/show_bug.cgi?id=229869
2955         Reviewed by Saam Barati.
2957         * stress/Uint8ClampedArrayClampsInt52Positive.js: Added.
2958         (let.x.123.test):
2959         (noInline.test.int32pos1):
2960         (255.int32pos2):
2961         (1.int32neg1):
2962         (0.int32neg2):
2963         (0.int52pos1):
2964         (255.int52pos2):
2965         (255.int52neg1):
2966         (0.int52neg2):
2967         (0.int52neg3):
2968         (0.int52pos3):
2969         (255.int8):
2971 2021-09-09  Robin Morisset  <rmorisset@apple.com>
2973         Optimize compareStrictEq when neither side is a double and at least one is not a BigInt
2974         https://bugs.webkit.org/show_bug.cgi?id=226755
2975         <rdar://problem/79321542>
2977         Reviewed by Yusuke Suzuki.
2979         Made the error messages in stress/reflect-set a bit more informative in the process of debugging an issue with the patch.
2981         * stress/reflect-set.js:
2982         (shouldBe):
2983         (shouldThrow):
2985 2021-09-07  Yusuke Suzuki  <ysuzuki@apple.com>
2987         [JSC] Implement Temporal.PlainTime
2988         https://bugs.webkit.org/show_bug.cgi?id=229892
2990         Reviewed by Darin Adler.
2992         * stress/temporal-calendar.js:
2993         * stress/temporal-duration.js:
2994         * stress/temporal-plaintime.js: Added.
2995         (shouldBe):
2996         (shouldThrow):
2997         (shouldBe.String.Temporal.PlainTime.from):
2998         (let.time.Temporal.PlainTime.from.shouldBe):
2999         (let.text.of.failures.shouldThrow):
3000         (print):
3001         (shouldBe.Temporal.PlainTime.from):
3002         (new.Temporal.PlainTime.valueOf):
3003         (shouldBe.String.time.until.Temporal.PlainTime.from):
3004         * stress/temporal-timezone.js:
3005         (let.text.of.failures.shouldThrow): Deleted.
3006         * test262/config.yaml:
3008 2021-09-07  Yusuke Suzuki  <ysuzuki@apple.com>
3010         Math.hypot checks for infinite values prematurely
3011         https://bugs.webkit.org/show_bug.cgi?id=229843
3013         Reviewed by Ross Kirsling.
3015         * stress/math-hypot-evaluation-ordering.js: Added.
3016         (shouldThrow):
3018 2021-09-03  Yusuke Suzuki  <ysuzuki@apple.com>
3020         [JSC] Make EnumeratorNextUpdateIndexAndMode clobberizing rule precise
3021         https://bugs.webkit.org/show_bug.cgi?id=229898
3022         rdar://82714439
3024         Reviewed by Saam Barati.
3026         * complex.yaml:
3027         * complex/for-in-clobberize.js: Added.
3029 2021-09-03  Yusuke Suzuki  <ysuzuki@apple.com>
3031         [JSC] Implement Temporal.TimeZone
3032         https://bugs.webkit.org/show_bug.cgi?id=229703
3034         Reviewed by Ross Kirsling.
3036         * complex.yaml:
3037         * complex/temporal-now-timezone-check.js: Added.
3038         (shouldBe):
3039         * complex/temporal-now-timezone-with-broken-tz.js: Added.
3040         (shouldBe):
3041         * stress/intl-enumeration.js:
3042         * stress/temporal-timezone.js: Added.
3043         (shouldBe):
3044         (shouldThrow):
3045         (let.text.of.failures.shouldThrow):
3046         (reviver):
3048 2021-09-02  Yusuke Suzuki  <ysuzuki@apple.com>
3050         [JSC] Validate JSPropertyNameEnumerator via watchpoints
3051         https://bugs.webkit.org/show_bug.cgi?id=229846
3053         Reviewed by Keith Miller.
3055         * stress/for-in-cacheable-dictionary.js: Added.
3056         (shouldBe):
3057         (collect):
3058         * stress/for-in-invalidate.js: Added.
3059         (shouldBe):
3060         (collect):
3061         * stress/for-in-uncacheable-dictionary.js: Added.
3062         (shouldBe):
3063         (collect):
3065 2021-08-31  Ross Kirsling  <ross.kirsling@sony.com>
3067         [JSC] Implement Temporal.Duration
3068         https://bugs.webkit.org/show_bug.cgi?id=228532
3070         Reviewed by Yusuke Suzuki.
3072         * stress/temporal-duration.js: Added.
3073         * test262/config.yaml: Enabled Duration tests.
3075 2021-08-30  Ross Kirsling  <ross.kirsling@sony.com>
3077         [JSC][Intl] Errors for .call({}) are too verbose
3078         https://bugs.webkit.org/show_bug.cgi?id=229694
3080         Reviewed by Yusuke Suzuki.
3082         * stress/intl-displaynames.js:
3084 2021-08-30  Yusuke Suzuki  <ysuzuki@apple.com>
3086         [JSC] Implement Temporal.Calendar
3087         https://bugs.webkit.org/show_bug.cgi?id=229651
3089         Reviewed by Ross Kirsling.
3091         * stress/temporal-calendar.js: Added.
3092         (shouldBe):
3093         (shouldThrow):
3094         (new.Temporal.Calendar):
3096 2021-08-29  Yusuke Suzuki  <ysuzuki@apple.com>
3098         [JSC] Upgrade test262
3099         https://bugs.webkit.org/show_bug.cgi?id=229645
3101         Reviewed by Keith Miller.
3103         Upgrade test262 to the latest one.
3105         * test262/expectations.yaml:
3106         * test262/latest-changes-summary.txt:
3107         * test262/test262-Revision.txt:
3109 2021-08-26  Yusuke Suzuki  <ysuzuki@apple.com>
3111         Intl.DateTimeFormat incorrectly parses patterns with 'h' literal
3112         https://bugs.webkit.org/show_bug.cgi?id=229313
3113         rdar://82414310
3115         Reviewed by Ross Kirsling.
3117         * stress/intl-date-pattern-includes-literal-text.js: Added.
3118         (shouldBe):
3120 2021-08-26  Yusuke Suzuki  <ysuzuki@apple.com>
3122         Float32Arrays.sort() return undefined when length < 2
3123         https://bugs.webkit.org/show_bug.cgi?id=229575
3125         Reviewed by Saam Barati.
3127         * stress/typed-array-sort-small.js: Added.
3128         (shouldBe):
3129         (throw.new.Error):
3131 2021-08-26  Yusuke Suzuki  <ysuzuki@apple.com>
3133         [JSC] op_put_private_name should use modern IC and remove ByValInfo
3134         https://bugs.webkit.org/show_bug.cgi?id=229544
3136         Reviewed by Saam Barati.
3138         Move class-fields-private benchmarks into microbenchmarks.
3139         Added several microbenchmarks and stress tests.
3141         * microbenchmarks/class-private-field-polymorphic.js: Added.
3142         (shouldBe):
3143         (test.A.prototype.put):
3144         * microbenchmarks/get-private-name.js: Renamed from JSTests/microbenchmarks/class-fields-private/get-private-name.js.
3145         * microbenchmarks/monomorphic-get-private-field.js: Renamed from JSTests/microbenchmarks/class-fields-private/monomorphic-get-private-field.js.
3146         * microbenchmarks/polymorphic-get-private-field.js: Renamed from JSTests/microbenchmarks/class-fields-private/polymorphic-get-private-field.js.
3147         * microbenchmarks/polymorphic-put-private-field.js: Renamed from JSTests/microbenchmarks/class-fields-private/polymorphic-put-private-field.js.
3148         * microbenchmarks/put-by-val-polymorphic-properties.js: Added.
3149         (shouldBe):
3150         (test):
3151         * microbenchmarks/put-private-field.js: Renamed from JSTests/microbenchmarks/class-fields-private/put-private-field.js.
3152         * stress/class-private-field-megamorphic.js: Added.
3153         (shouldBe):
3154         * stress/class-private-field-polymorphic.js: Added.
3155         (shouldBe):
3156         (test.A.prototype.put):
3157         * stress/put-by-val-polymorphic-properties.js: Added.
3158         (shouldBe):
3159         (test):
3161 2021-08-26  Saam Barati  <sbarati@apple.com>
3163         r281485 was not sufficient in where it called disablePeepholeOptimization
3164         https://bugs.webkit.org/show_bug.cgi?id=229582
3165         <rdar://82346980>
3167         Reviewed by Yusuke Suzuki.
3169         * stress/for-in-disable-bytecode-generator-peephole-optimizations-after-rewrite-2.js: Added.
3170         (foo):
3172 2021-08-24  Yusuke Suzuki  <ysuzuki@apple.com>
3174         Update Intl tests to support ICU 68
3175         https://bugs.webkit.org/show_bug.cgi?id=229467
3177         Reviewed by Mark Lam.
3179         ICU 68 changes some outputs of Intl tests. This patch adjusts that.
3181         * stress/intl-parse-unicode-subtags.js:
3182         (vm.icuVersion):
3184 2021-08-24  Yusuke Suzuki  <ysuzuki@apple.com>
3186         [JSC] Add Intl Enumeration APIs
3187         https://bugs.webkit.org/show_bug.cgi?id=214795
3189         Reviewed by Ross Kirsling.
3191         * stress/intl-datetimeformat.js:
3192         * stress/intl-enumeration.js: Added.
3193         (shouldBe):
3194         (shouldThrow):
3195         * stress/intl-locale-info.js:
3196         (let.l.new.Intl.Locale.shouldBe):
3197         (shouldBe):
3199 2021-08-24  Keith Miller  <keith_miller@apple.com>
3201         (r281473) stress/for-in-has-own-property-shouldnt-flush-registers.js failing on Debug
3202         https://bugs.webkit.org/show_bug.cgi?id=229448
3204         Reviewed by Mark Lam.
3206         Fix typo in test name.
3208         * stress/for-in-in-by-val-should-flush-registers.js: Renamed from JSTests/stress/for-in-in-by-val-shouldnt-flush-registers.js.
3210 2021-08-23  Saam Barati  <sbarati@apple.com>
3212         Disable peephole optimizations in the byte code generator after rewriting instructions for for-in
3213         https://bugs.webkit.org/show_bug.cgi?id=229420
3214         <rdar://82020528>
3216         Reviewed by Keith Miller.
3218         * stress/for-in-disable-bytecode-generator-peephole-optimizations-after-rewrite.js: Added.
3219         (foo):
3221 2021-08-23  Saam Barati  <sbarati@apple.com>
3223         compileEnumeratorHasProperty uses flushRegisters incorrectly
3224         https://bugs.webkit.org/show_bug.cgi?id=229412
3225         <rdar://82020767>
3227         Reviewed by Keith Miller.
3229         * stress/for-in-has-own-property-shouldnt-flush-registers.js: Added.
3230         (foo):
3231         * stress/for-in-in-by-val-shouldnt-flush-registers.js: Added.
3232         (a.toString):
3234 2021-08-22  Yusuke Suzuki  <ysuzuki@apple.com>
3236         [JSC] Remove already-shipped wasm option flags
3237         https://bugs.webkit.org/show_bug.cgi?id=229386
3239         Reviewed by Ross Kirsling.
3241         * wasm/references/element_active_mod.js:
3242         * wasm/references/element_parsing.js:
3243         * wasm/references/externref_globals.js:
3244         * wasm/references/externref_modules.js:
3245         * wasm/references/externref_table.js:
3246         * wasm/references/externref_table_import.js:
3247         * wasm/references/func_ref.js:
3248         * wasm/references/globals.js:
3249         * wasm/references/is_null.js:
3250         * wasm/references/memory_copy.js:
3251         * wasm/references/memory_copy_shared.js:
3252         * wasm/references/memory_fill_shared.js:
3253         * wasm/references/multitable.js:
3254         * wasm/references/parse_unreachable.js:
3255         * wasm/references/table_js_api.js:
3256         * wasm/references/table_misc.js:
3257         * wasm/references/validation.js:
3258         * wasm/stress/immutable-globals.js:
3259         * wasm/stress/local-ref.js:
3260         * wasm/stress/mutable-globals.js:
3261         * wasm/stress/table-grow-table-size.js:
3263 2021-08-22  Yusuke Suzuki  <ysuzuki@apple.com>
3265         [JSC] Remove already-shipped JS feature flags
3266         https://bugs.webkit.org/show_bug.cgi?id=229387
3268         Reviewed by Ross Kirsling.
3270         * microbenchmarks/class-fields-private/get-private-name.js:
3271         * microbenchmarks/class-fields-private/monomorphic-get-private-field.js:
3272         * microbenchmarks/class-fields-private/polymorphic-get-private-field.js:
3273         * microbenchmarks/class-fields-private/polymorphic-put-private-field.js:
3274         * microbenchmarks/class-fields-private/put-private-field.js:
3275         * stress/class-fields-private-as-function.js:
3276         * stress/class-fields-private-cached-bytecode.js:
3277         * stress/class-fields-private-freeze-out-of-line.js:
3278         * stress/class-fields-private-freeze.js:
3279         * stress/class-fields-private-harmony.js:
3280         * stress/class-fields-private-on-proxy.js:
3281         * stress/class-fields-private-out-of-line.js:
3282         * stress/class-fields-private-prevent-extensions-out-of-line.js:
3283         * stress/class-fields-private-prevent-extensions.js:
3284         * stress/class-fields-private-seal-out-of-line.js:
3285         * stress/class-fields-private-seal.js:
3286         * stress/class-fields-private-use-eval.js:
3287         * stress/class-fields-static-harmony.js:
3288         * stress/class-fields-static-private-harmony.js:
3289         * stress/class-fields-stress-instance.js:
3290         * stress/class-private-method-access.js:
3291         * stress/dfg-get-private-name-by-id-generic.js:
3292         * stress/dfg-get-private-name-by-id-osr-bad-identifier.js:
3293         * stress/dfg-get-private-name-by-id.js:
3294         * stress/dfg-get-private-name-by-offset-osr-bad-identifier.js:
3295         * stress/dfg-get-private-name-by-offset-osr-bad-structure.js:
3296         * stress/dfg-get-private-name-by-offset.js:
3297         * stress/dfg-get-private-name-by-val-generic.js:
3298         * stress/dfg-put-private-name-check-barrier-insertion.js:
3299         * stress/dfg-put-private-name-compiled-as-put-by-id-direct.js:
3300         * stress/dfg-put-private-name-compiled-as-put-private-name-by-id.js:
3301         * stress/ftl-get-private-name-by-id.js:
3302         * stress/ftl-get-private-name-by-offset-multi.js:
3303         * stress/get-private-name-cache-failure.js:
3304         * stress/get-private-name-with-constant-ident.js:
3305         * stress/get-private-name-with-constant-symbol.js:
3306         * stress/get-private-name-with-different-symbol.js:
3307         * stress/get-private-name-with-primitive.js:
3308         * stress/get-private-name.js:
3309         * stress/optional-chaining-and-private-fields.js:
3310         * stress/private-accesor-duplicate-name-early-errors.js:
3311         * stress/private-accessor-static-non-static.js:
3312         * stress/private-brand-installed-after-super-call-from-arrow-function.js:
3313         * stress/private-brand-installed-after-super-call-from-eval.js:
3314         * stress/private-getter-brand-check.js:
3315         * stress/private-getter-inner-class.js:
3316         * stress/private-in-error.js:
3317         * stress/private-in.js:
3318         * stress/private-members-get-and-set.js:
3319         * stress/private-method-and-field-named-constructor.js:
3320         * stress/private-method-brand-check.js:
3321         * stress/private-method-change-attribute-from-branded-structure.js:
3322         * stress/private-method-change-prototype-from-branded-structure.js:
3323         * stress/private-method-check-private-brand-ic.js:
3324         * stress/private-method-check-structure-miss.js:
3325         * stress/private-method-comparison.js:
3326         * stress/private-method-delete-property-from-branded-structure.js:
3327         * stress/private-method-extends-brand-check.js:
3328         * stress/private-method-get-and-call.js:
3329         * stress/private-method-invalid-multiple-brand-installation.js:
3330         * stress/private-method-invalidate-compiled-with-constant-symbol.js:
3331         * stress/private-method-nested-class.js:
3332         * stress/private-method-on-sealed-objects.js:
3333         * stress/private-method-on-uncacheable-dictionary.js:
3334         * stress/private-method-polymorphic-with-constant-symbol.js:
3335         * stress/private-method-set-brand-should-have-write-barrier.js:
3336         * stress/private-method-untyped-use.js:
3337         * stress/private-method-with-uncacheable-dictionary-transition.js:
3338         * stress/private-methods-and-accessors-postfix-node.js:
3339         * stress/private-methods-and-accessors-prefix-node.js:
3340         * stress/private-methods-inline-cache.js:
3341         * stress/private-methods-megamorphic-ic.js:
3342         * stress/private-methods-on-proxy.js:
3343         * stress/private-methods-poly-ic-multiple-classes.js:
3344         * stress/private-methods-poly-ic-single-class.js:
3345         * stress/private-name-access-in-computed-property.js:
3346         * stress/private-names-available-on-direct-eval.js:
3347         * stress/private-names-available-on-eval-during-field-initialization.js:
3348         * stress/private-setter-brand-check.js:
3349         * stress/private-setter-inner-class.js:
3350         * stress/put-by-val-direct-addprivate.js:
3351         * stress/put-by-val-direct-putprivate.js:
3352         * stress/put-private-name-by-id-set-do-not-add-structure-trasition.js:
3353         * stress/put-private-name-check-structure-miss.js:
3354         * stress/put-private-name-constant-folding-to-mult-put-by-offset.js:
3355         * stress/put-private-name-constant-folding-to-put-by-offset.js:
3356         * stress/put-private-name-generic.js:
3357         * stress/put-private-name-invalid-define.js:
3358         * stress/put-private-name-invalid-store.js:
3359         * stress/put-private-name-invalidate-compiled-with-constant-symbol.js:
3360         * stress/put-private-name-polymorphic-with-constant-symbol.js:
3361         * stress/put-private-name-untyped-use.js:
3362         * stress/put-private-name-with-constant-symbol.js:
3363         * stress/put-private-name-with-different-identifier.js:
3364         * stress/put-private-name-with-primitive.js:
3365         * stress/static-private-methods-and-accessor-inner-class.js:
3366         * stress/static-private-methods-and-accessor-multiple-evaluation.js:
3367         * stress/static-private-methods-and-accessors-postfix-node.js:
3368         * stress/static-private-methods-and-accessors-prefix-node.js:
3369         * stress/v8-cleanup-from-different-realm.js:
3370         * stress/v8-cleanup-proxy-from-different-realm.js:
3371         * stress/v8-finalization-registry-basics.js:
3372         * stress/v8-finalizationregistry-and-weakref.js:
3373         * stress/v8-finalizationregistry-keeps-holdings-alive.js:
3374         * stress/v8-finalizationregistry-scheduled-for-cleanup-multiple-times.js:
3375         * stress/v8-multiple-dirty-finalization-registries.js:
3376         * stress/v8-reentrant-gc-from-cleanup.js:
3377         * stress/v8-stress-finalizationregistry-dirty-enqueue.js:
3378         * stress/v8-undefined-holdings.js:
3379         * stress/v8-unregister-after-cleanup.js:
3380         * stress/v8-unregister-before-cleanup.js:
3381         * stress/v8-unregister-called-twice.js:
3382         * stress/v8-unregister-inside-cleanup2.js:
3383         * stress/v8-unregister-inside-cleanup3.js:
3384         * stress/v8-unregister-many.js:
3385         * stress/v8-weak-unregistertoken.js:
3386         * test262/config.yaml:
3388 2021-08-22  Yusuke Suzuki  <ysuzuki@apple.com>
3390         Unreviewed, speculative fix for old ICU
3391         https://bugs.webkit.org/show_bug.cgi?id=229385
3393         * stress/intl-locale-info.js:
3394         (shouldBe):
3396 2021-08-21  Yusuke Suzuki  <ysuzuki@apple.com>
3398         [JSC] Remove Intl runtime feature flags for already shipped ones
3399         https://bugs.webkit.org/show_bug.cgi?id=229371
3401         Reviewed by Ross Kirsling.
3403         * stress/intl-datetimeformat-day-period.js:
3404         * test262/config.yaml:
3406 2021-08-21  Yusuke Suzuki  <ysuzuki@apple.com>
3408         [JSC] Intl.DisplayNames v2
3409         https://bugs.webkit.org/show_bug.cgi?id=227832
3411         Reviewed by Ross Kirsling.
3413         * stress/intl-displaynames-v2.js: Added.
3414         (shouldBe):
3415         (shouldThrow):
3416         (vm.icuVersion):
3417         * stress/intl-displaynames.js:
3418         (vm.icuVersion):
3419         * test262/config.yaml:
3420         * test262/expectations.yaml:
3422 2021-08-21  Yusuke Suzuki  <ysuzuki@apple.com>
3424         [JSC] Intl Locale Info
3425         https://bugs.webkit.org/show_bug.cgi?id=227830
3427         Reviewed by Ross Kirsling.
3429         * stress/intl-locale-info.js: Added.
3430         (shouldBe):
3431         (throw.new.Error):
3432         (let.enGB.new.Intl.Locale.shouldBe):
3433         (let.l.new.Intl.Locale.shouldBe):
3434         * test262/config.yaml:
3436 2021-08-21  Yusuke Suzuki  <ysuzuki@apple.com>
3438         [JSC] Extend Intl TimeZoneName Option
3439         https://bugs.webkit.org/show_bug.cgi?id=227831
3441         Reviewed by Ross Kirsling.
3443         * stress/intl-extended-timezone-names.js: Added.
3444         (shouldBe):
3445         (timeZoneTest):
3446         * test262/config.yaml:
3448 2021-08-21  Yusuke Suzuki  <ysuzuki@apple.com>
3450         [JSC] Enable Array#findLast method
3451         https://bugs.webkit.org/show_bug.cgi?id=229355
3453         Reviewed by Saam Barati.
3455         * stress/unscopables.js:
3457 2021-08-17  Mikhail R. Gadelha  <mikhail@igalia.com>
3459         Unreviewed. Skip failing MIPS tests
3460         https://bugs.webkit.org/show_bug.cgi?id=229198
3462         * ChakraCore.yaml:
3464 2021-08-13  Keith Miller  <keith_miller@apple.com>
3466         EnumeratorNextUpdatePropertyName always needs to be able to handle IndexedMode
3467         https://bugs.webkit.org/show_bug.cgi?id=229087
3469         Reviewed by Filip Pizlo.
3471         * stress/for-in-own-structure-and-generic-with-late-add-indexed.js: Added.
3472         (test):
3473         (Foo):
3475 2021-08-11  Yusuke Suzuki  <ysuzuki@apple.com>
3477         WTFCrash in JSC::Lexer<char16_t>::append8
3478         https://bugs.webkit.org/show_bug.cgi?id=228982
3480         Reviewed by Mark Lam.
3482         * stress/directive-includes-non-latin1.js: Added.
3484 2021-08-09  Yusuke Suzuki  <ysuzuki@apple.com>
3486         [JSC] super-Latin1 white space and line terminator after regular expression literal misinterpreted as flags
3487         https://bugs.webkit.org/show_bug.cgi?id=227944
3489         Reviewed by Alexey Shvayka.
3491         * test262/expectations.yaml:
3493 2021-08-08  Yusuke Suzuki  <ysuzuki@apple.com>
3495         [JSC] Clean up test262 expectations
3496         https://bugs.webkit.org/show_bug.cgi?id=228903
3498         Reviewed by Ross Kirsling.
3500         * test262/config.yaml:
3501         * test262/expectations.yaml:
3503 2021-08-07  Keith Miller  <keith_miller@apple.com>
3505         for-in should only emit one loop in bytecode
3506         https://bugs.webkit.org/show_bug.cgi?id=227989
3508         Reviewed by Yusuke Suzuki.
3510         * microbenchmarks/for-in-double-array-with-own-named.js: Added.
3511         (test):
3512         * microbenchmarks/for-in-double-array.js: Added.
3513         (test):
3514         * microbenchmarks/for-in-getters.js: Added.
3515         (test):
3516         * microbenchmarks/for-in-int32-array-with-own-named.js: Added.
3517         (test):
3518         * microbenchmarks/for-in-int32-array.js: Added.
3519         (test):
3520         * microbenchmarks/for-in-int32-object-with-own-named-and-getters.js: Added.
3521         (test):
3522         * microbenchmarks/for-in-int32-object-with-own-named.js: Added.
3523         (test):
3524         * microbenchmarks/for-in-object-with-own-named.js: Added.
3525         (sum):
3526         (opaqueSet):
3527         * microbenchmarks/for-in-string-array.js: Added.
3528         (test):
3529         * microbenchmarks/for-of-iterate-array-map-set.js: Added.
3530         (sum):
3531         (let.generator):
3532         * stress/for-in-array-mode.js:
3533         (test):
3534         * stress/for-in-base-reassigned-later.js:
3535         * stress/for-in-delete-during-iteration.js:
3536         * stress/for-in-primitive-index-on-prototype.js: Added.
3537         (test):
3538         * stress/for-in-tests.js:
3539         * stress/has-own-property-structure-for-in-loop-correctness.js:
3540         (test5):
3542 2021-08-05  Mikhail R. Gadelha  <mikhail@igalia.com>
3544         Assertion failure when checking array in DFG (32 bits)
3545         https://bugs.webkit.org/show_bug.cgi?id=228839
3547         Reviewed by Yusuke Suzuki.
3549         * stress/check-array-empty-32.js: Added.
3550         (a.b.catch.print.c):
3551         (a.b):
3552         (a.e):
3553         (a):
3555 2021-08-02  Yusuke Suzuki  <ysuzuki@apple.com>
3557         [JSC] Yarr BoyerMoore search should support character-class
3558         https://bugs.webkit.org/show_bug.cgi?id=228613
3560         Reviewed by Saam Barati.
3562         * stress/regexp-bm-search-character-non-fixed-size.js: Added.
3563         (shouldBe):
3564         * stress/regexp-bm-search-many-candidate-zero-length.js: Added.
3565         (shouldBe):
3566         (regexp.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.0.1.2.3.4.5.6.7.8.9.t.v.n.r):
3567         * stress/regexp-bm-search-non-fixed-size.js: Added.
3568         (shouldBe):
3570 2021-08-02  Yusuke Suzuki  <ysuzuki@apple.com>
3572         [JSC] Update test262
3573         https://bugs.webkit.org/show_bug.cgi?id=228709
3575         Reviewed by Mark Lam.
3577         * test262/latest-changes-summary.txt:
3578         * test262/test/built-ins/Error/prototype/constructor/S15.11.4.1_A1_T1.js: Removed.
3579         * test262/test/built-ins/Error/prototype/message/15.11.4.3-1.js: Removed.
3580         * test262/test/built-ins/Error/prototype/message/S15.11.4.3_A1.js: Removed.
3581         * test262/test/built-ins/Error/prototype/message/S15.11.4.3_A2.js: Removed.
3582         * test262/test/built-ins/Error/prototype/name/15.11.4.2-1.js: Removed.
3583         * test262/test/built-ins/Error/prototype/name/S15.11.4.2_A1.js: Removed.
3584         * test262/test/built-ins/Error/prototype/name/S15.11.4.2_A2.js: Removed.
3585         * test262/test/built-ins/Error/prototype/toString/S15.11.4.4_A1.js: Removed.
3586         * test262/test/built-ins/TypedArray/prototype/findLast/return-abrupt-from-this-out-of-bounds.js:
3587         * test262/test/built-ins/TypedArray/prototype/findLastIndex/return-abrupt-from-this-out-of-bounds.js:
3588         * test262/test/harness/sta-error.js: Removed.
3589         * test262/test/harness/sta-override-error.js: Removed.
3590         * test262/test262-Revision.txt:
3592 2021-07-29  Yusuke Suzuki  <ysuzuki@apple.com>
3594         [JSC] Upgrade test262
3595         https://bugs.webkit.org/show_bug.cgi?id=228627
3597         Reviewed by Ross Kirsling.
3599 2021-07-30  Robin Morisset  <rmorisset@apple.com>
3601         Improve OSR entry into Wasm loops with arguments
3602         https://bugs.webkit.org/show_bug.cgi?id=228595
3604         Reviewed by Yusuke Suzuki.
3606         Just a straightforward test that counts to 1M in a loop, to exercise both OSR entry and a loop with an argument at the same time.
3607         100k iterations was not enough to reliably complete an OSR entry.
3609         * wasm/stress/osr-entry-with-loop-arguments.js: Added.
3610         (async test):
3612 2021-07-30  Tadeu Zagallo  <tzagallo@apple.com>
3614         putInlineFastReplacingStaticPropertyIfNeeded should handle custom values
3615         https://bugs.webkit.org/show_bug.cgi?id=227963
3617         Reviewed by Alexey Shvayka.
3619         * stress/reflect-set-custom-value.js:
3621 2021-07-29  Tadeu Zagallo  <tzagallo@apple.com>
3623         definePropertyOnReceiver should check if receiver canPerformFastPutInline
3624         https://bugs.webkit.org/show_bug.cgi?id=227963
3625         <rdar://80259710>
3627         Reviewed by Alexey Shvayka.
3629         * stress/reflect-set-custom-value.js: Added.
3631 2021-07-29  Yusuke Suzuki  <ysuzuki@apple.com> and Alexey Shvayka  <shvaikalesh@gmail.com>
3633         [JSC] Legacy RegExp fields should be accessors
3634         https://bugs.webkit.org/show_bug.cgi?id=220233
3636         Reviewed by Tadeu Zagallo.
3638         * ChakraCore/test/Lib/forin_lib_v3.baseline-jsc:
3639         * microbenchmarks/assign-custom-setter-polymorphic.js:
3640         * microbenchmarks/assign-custom-setter.js:
3641         * microbenchmarks/custom-setter-getter-as-put-get-by-id.js:
3642         * microbenchmarks/custom-value-2.js:
3643         * microbenchmarks/custom-value.js:
3644         * microbenchmarks/get-custom-getter.js:
3645         * stress/custom-value-delete-property-1.js:
3646         * stress/custom-value-delete-property-2.js:
3647         * stress/custom-value-delete-property-3.js:
3648         * stress/object-assign-fast-path.js:
3649         * stress/reflect-set.js:
3650         * stress/regexp-constructor-dollar-getters-are-unique.js: Added.
3651         * stress/regexp-setter-realm.js: Added.
3652         * stress/static-put-in-prototype-chain.js: Added.
3653         * test262/config.yaml:
3654         * test262/expectations.yaml:
3656 2021-07-28  Yusuke Suzuki  <ysuzuki@apple.com>
3658         [JSC] Yarr should perform BoyerMoore search
3659         https://bugs.webkit.org/show_bug.cgi?id=228301
3661         Reviewed by Saam Barati.
3663         * microbenchmarks/jquery-todomvc-regexp.js:
3664         * stress/regexp--bm-search-long-character.js: Added.
3665         (shouldBe):
3666         * stress/regexp--bm-search-long-map.js: Added.
3667         (shouldBe):
3668         * stress/regexp-bitvector-reuse.js: Added.
3669         (shouldBe):
3670         * stress/regexp-non-ascii-bm-search-character.js: Added.
3671         (shouldBe):
3672         * stress/regexp-non-ascii-bm-search-map.js: Added.
3673         (shouldBe):
3675 2021-07-25  Alexey Shvayka  <shvaikalesh@gmail.com>
3677         Partly implement Function.prototype.{caller,arguments} reflection proposal
3678         https://bugs.webkit.org/show_bug.cgi?id=158116
3680         Reviewed by Yusuke Suzuki.
3682         * ChakraCore/test/strict/19.function.baseline:
3683         * ChakraCore/test/strict/22.callerCalleeArguments.baseline-jsc:
3684         * microbenchmarks/function-prototype-get.js: Added.
3685         * microbenchmarks/reflect-own-keys-function.js: Added.
3686         * stress/for-in-shadow-non-enumerable.js:
3687         * stress/function-hidden-as-caller.js:
3688         * stress/has-own-property-arguments.js:
3689         * stress/object-assign-fast-path.js:
3690         * stress/put-to-proto-chain-overrides-put.js:
3691         * stress/reflect-set.js:
3692         * test262/config.yaml: Skip 3 test cases that are now incorrect.
3693         * test262/expectations.yaml: Mark 2 test cases as passing.
3695 2021-07-23  Yusuke Suzuki  <ysuzuki@apple.com>
3697         [JSC] Add Speedometer2 jQuery-TodoMVC RegExp microbenchmark
3698         https://bugs.webkit.org/show_bug.cgi?id=228257
3700         Reviewed by Mark Lam.
3702         I instrumented JSC and extracted executed RegExp evaluations from Speedometer2/jQuery-TodoMVC
3703         to easily test RegExp performance.
3705         * microbenchmarks/jquery-todomvc-regexp.js: Added.
3706         (x00.test):
3708 2021-07-23  Alexey Shvayka  <shvaikalesh@gmail.com>
3710         [JSC] Call custom accessors / values with their holder's global object
3711         https://bugs.webkit.org/show_bug.cgi?id=225997
3713         Reviewed by Yusuke Suzuki.
3715         * stress/custom-get-set-proto-chain-put.js:
3716         * stress/getter-setter-globalobject-in-ic-2.js: Added.
3718 2021-07-22  Saam Barati  <sbarati@apple.com>
3720         JSTests/stress/test-out-of-memory shouldn't assume that we always OOM
3721         https://bugs.webkit.org/show_bug.cgi?id=228213
3723         Reviewed by Mark Lam.
3725         * stress/test-out-of-memory.js:
3727 2021-07-22  Yusuke Suzuki  <ysuzuki@apple.com>
3729         Reduce iteration of microbenchmarks/memcpy-typed-loop.js
3730         https://bugs.webkit.org/show_bug.cgi?id=228214
3732         Reviewed by Saam Barati.
3734         Observing frequent timeout (e.g. https://ews-build.webkit.org/#/builders/1/builds/44698).
3735         We do not need to have such a large # of iterations.
3737         * microbenchmarks/memcpy-typed-loop.js:
3739 2021-07-22  Saam Barati  <sbarati@apple.com>
3741         AirStackSlot's uint16_t byte size is too small
3742         https://bugs.webkit.org/show_bug.cgi?id=228193
3743         <rdar://80888059>
3745         Reviewed by Mark Lam.
3747         * stress/stack-slot-needs-to-use-more-than-uint16.js: Added.
3749 2021-07-20  Yusuke Suzuki  <ysuzuki@apple.com>
3751         [JSC] invalidParameterInstanceofSourceAppender should care direct call of Symbol.hasInstance
3752         https://bugs.webkit.org/show_bug.cgi?id=228075
3753         rdar://80762879
3755         Reviewed by Frédéric Wang.
3757         * stress/symbol-hasinstance-error.js: Added.
3758         (shouldThrow):
3759         (let.a):
3761 2021-07-19  Mark Lam  <mark.lam@apple.com>
3763         DFG's parseIntResult() should check for negative zero.
3764         https://bugs.webkit.org/show_bug.cgi?id=228068
3765         rdar://80788603
3767         Reviewed by Yusuke Suzuki.
3769         * stress/dfg-parseIntResult-should-check-for-negative-zero.js: Added.
3771 2021-07-19  Yusuke Suzuki  <ysuzuki@apple.com>
3773         [JSC] InByStatus / InByVariant should visit CacheableIdentifier
3774         https://bugs.webkit.org/show_bug.cgi?id=228088
3775         rdar://80794604
3777         Reviewed by Mark Lam.
3779         * stress/in-by-variant-should-mark-cacheable-identifier.js: Added.
3780         (foo):
3781         (let.handler.has):
3783 2021-07-16  Yusuke Suzuki  <ysuzuki@apple.com>
3785         [JSC] Simplify sampling-profiler-regexp.js test
3786         https://bugs.webkit.org/show_bug.cgi?id=228040
3788         Reviewed by Saam Barati.
3790         In this new test case, only thing we care is regexp appears on sampling-profiler regardless of whether the other functions are inlined / tail-called or not.
3791         We change the sampling-profiler/samplingProfiler.js runTest to add a mode which searches specific signature in the call tree.
3793         * stress/sampling-profiler-regexp.js:
3794         (platformSupportsSamplingProfiler):
3795         * stress/sampling-profiler/samplingProfiler.js:
3796         (doesTreeHaveStackTrace):
3797         (runTest):
3799 2021-07-16  Saam Barati  <sbarati@apple.com>
3801         Grab the lock in FTL::Thunks::keyForSlowPathCallThunk
3802         https://bugs.webkit.org/show_bug.cgi?id=227988
3803         <rdar://problem/80627901>
3805         Reviewed by Mark Lam.
3807         * stress/thunks-hash-map-should-grab-lock.js: Added.
3809 2021-07-16  Yusuke Suzuki  <ysuzuki@apple.com>
3811         [JSC] RegExp::dumpToStream must not ref Strings since it is called concurrently
3812         https://bugs.webkit.org/show_bug.cgi?id=228031
3813         rdar://80686425
3815         Reviewed by Mark Lam.
3817         * stress/regexp-dump-concurrently.js: Added.
3818         (let.code):
3820 2021-07-15  Yusuke Suzuki  <ysuzuki@apple.com>
3822         [JSC] SamplingProfiler should recognize RegExp execution
3823         https://bugs.webkit.org/show_bug.cgi?id=201702
3825         Reviewed by Saam Barati.
3827         * stress/sampling-profiler-regexp.js: Added.
3828         (platformSupportsSamplingProfiler.getText):
3829         (platformSupportsSamplingProfiler.test):
3830         (platformSupportsSamplingProfiler.baz):
3831         (platformSupportsSamplingProfiler):
3832         * stress/sampling-profiler/samplingProfiler.js: Extend samplingProfiler to show better error information when VERBOSE = true.
3833         (doesTreeHaveStackTrace):
3835 2021-07-15  Yusuke Suzuki  <ysuzuki@apple.com>
3837         [JSC] Harden defaultTimeZone retrieval
3838         https://bugs.webkit.org/show_bug.cgi?id=227996
3840         Reviewed by Mark Lam.
3842         * complex.yaml:
3843         * complex/intl-timezone-check.js: Added.
3844         (shouldBe):
3846 2021-07-15  Mark Lam  <mark.lam@apple.com>
3848         JITWorklist::waitUntilAllPlansForVMAreReady() should also be notified when plans are cancelled.
3849         https://bugs.webkit.org/show_bug.cgi?id=228003
3850         rdar://78314543
3852         Reviewed by Yusuke Suzuki.
3854         * stress/waitUntilAllPlansForVMAreReady-should-be-notified-of-cancelled-plans-too.js: Added.
3856 2021-07-14  Devin Rousso  <drousso@apple.com>
3858         Implement Array.prototype.findLast and Array.prototype.findLastIndex
3859         https://bugs.webkit.org/show_bug.cgi?id=227939
3861         Reviewed by Yusuke Suzuki.
3863         * stress/typedarray-findLast.js: Added.
3864         (keepEven):
3865         (keepEvenAndChange):
3866         (isBigEnoughAndException):
3868         * stress/typedarray-findLastIndex.js: Added.
3869         (keepEven):
3870         (keepEvenAndChange):
3871         (isBigEnoughAndException):
3873 2021-07-14  Keith Miller  <keith_miller@apple.com>
3875         Unreviewed, test gardening.
3877         * stress/bit-op-with-object-returning-int32.js:
3878         * stress/bitwise-not-fixup-rules.js:
3879         (jscOptions):
3881 2021-07-14  Mark Lam  <mark.lam@apple.com>
3883         Check for out of memory in JSC::globalFuncEscape() and JSC::globalFuncUnescape().
3884         https://bugs.webkit.org/show_bug.cgi?id=227962
3885         rdar://78392251
3887         Reviewed by Yusuke Suzuki.
3889         * stress/out-of-memory-in-globalFuncUnescape.js: Added.
3891 2021-07-14  Mark Lam  <mark.lam@apple.com>
3893         Placate exception checker validation in operationObjectAssignUntyped.
3894         https://bugs.webkit.org/show_bug.cgi?id=227955
3895         rdar://80503746
3897         Reviewed by Michael Saboff.
3899         * stress/exception-check-in-operationObjectAssignUntyped.js: Added.
3901 2021-07-14  Keith Miller  <keith_miller@apple.com>
3903         Fix more tests around fuzzing executable allocations
3904         https://bugs.webkit.org/show_bug.cgi?id=226663
3906         Reviewed by Mark Lam.
3908         * stress/bit-op-with-object-returning-int32.js:
3909         (numberOfDFGCompiles): Deleted.
3910         * stress/bitwise-not-fixup-rules.js:
3911         (jscOptions):
3912         (numberOfDFGCompiles): Deleted.
3914 2021-07-12  Saam Barati  <sbarati@apple.com>
3916         Run some tests for fewer iterations to prevent test timeouts
3917         https://bugs.webkit.org/show_bug.cgi?id=227879
3919         Reviewed by Mark Lam.
3921         * microbenchmarks/get-by-val-negative-array-index.js:
3922         * microbenchmarks/memcpy-typed-loop-small.js:
3923         * microbenchmarks/put-by-val-negative-array-index.js:
3925 2021-07-12  Saam Barati  <sbarati@apple.com>
3927         stress/wasm-loop-consistency.js should require the --useExecutableAllocationFuzz=false JSC option
3928         https://bugs.webkit.org/show_bug.cgi?id=227876
3930         Reviewed by Mark Lam.
3932         * stress/wasm-loop-consistency.js:
3934 2021-07-10  Yusuke Suzuki  <ysuzuki@apple.com>
3936         [JSC] Update test262
3937         https://bugs.webkit.org/show_bug.cgi?id=227851
3939         Reviewed by Mark Lam.
3941         * test262/config.yaml:
3942         * test262/expectations.yaml:
3943         * test262/harness/compareArray.js:
3944         (assert.compareArray):
3945         * test262/harness/regExpUtils.js:
3946         (buildString):
3947         (): Deleted.
3948         * test262/harness/sta.js:
3949         (Test262Error.thrower):
3950         * test262/harness/testIntl.js:
3951         (getLocaleSupportInfo):
3952         * test262/latest-changes-summary.txt:
3953         * test262/test/annexB/language/literals/regexp/legacy-octal-escape.js:
3954         * test262/test/built-ins/ArrayBuffer/options-maxbytelength-diminuitive.js: Added.
3955         * test262/test/built-ins/ArrayBuffer/options-maxbytelength-excessive.js: Added.
3956         * test262/test/built-ins/ArrayBuffer/options-maxbytelength-negative.js: Added.
3957         * test262/test/built-ins/ArrayBuffer/options-maxbytelength-object.js: Added.
3958         (options.maxByteLength.toString):
3959         (options.maxByteLength.valueOf):
3960         * test262/test/built-ins/ArrayBuffer/options-maxbytelength-poisoned.js: Added.
3961         (options.get maxByteLength):
3962         * test262/test/built-ins/ArrayBuffer/options-maxbytelength-undefined.js: Added.
3963         * test262/test/built-ins/ArrayBuffer/options-non-object.js: Added.
3964         * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/detached-buffer.js: Added.
3965         * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/invoked-as-accessor.js: Added.
3966         * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/invoked-as-func.js: Added.
3967         * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/length.js: Added.
3968         * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/name.js: Added.
3969         * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/prop-desc.js: Added.
3970         * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/return-maxbytelength-non-resizable.js: Added.
3971         * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/return-maxbytelength-resizable.js: Added.
3972         * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/this-has-no-arraybufferdata-internal.js: Added.
3973         * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/this-is-not-object.js: Added.
3974         * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/this-is-sharedarraybuffer.js: Added.
3975         * test262/test/built-ins/ArrayBuffer/prototype/resizable/detached-buffer.js: Added.
3976         * test262/test/built-ins/ArrayBuffer/prototype/resizable/invoked-as-accessor.js: Added.
3977         * test262/test/built-ins/ArrayBuffer/prototype/resizable/invoked-as-func.js: Added.
3978         * test262/test/built-ins/ArrayBuffer/prototype/resizable/length.js: Added.
3979         * test262/test/built-ins/ArrayBuffer/prototype/resizable/name.js: Added.
3980         * test262/test/built-ins/ArrayBuffer/prototype/resizable/prop-desc.js: Added.
3981         * test262/test/built-ins/ArrayBuffer/prototype/resizable/return-resizable.js: Added.
3982         * test262/test/built-ins/ArrayBuffer/prototype/resizable/this-has-no-arraybufferdata-internal.js: Added.
3983         * test262/test/built-ins/ArrayBuffer/prototype/resizable/this-is-not-object.js: Added.
3984         * test262/test/built-ins/ArrayBuffer/prototype/resizable/this-is-sharedarraybuffer.js: Added.
3985         * test262/test/built-ins/ArrayBuffer/prototype/resize/descriptor.js: Added.
3986         * test262/test/built-ins/ArrayBuffer/prototype/resize/extensible.js: Added.
3987         * test262/test/built-ins/ArrayBuffer/prototype/resize/length.js: Added.
3988         * test262/test/built-ins/ArrayBuffer/prototype/resize/name.js: Added.
3989         * test262/test/built-ins/ArrayBuffer/prototype/resize/new-length-excessive.js: Added.
3990         * test262/test/built-ins/ArrayBuffer/prototype/resize/new-length-negative.js: Added.
3991         * test262/test/built-ins/ArrayBuffer/prototype/resize/new-length-non-number.js: Added.
3992         (newLength.toString):
3993         (newLength.valueOf):
3994         * test262/test/built-ins/ArrayBuffer/prototype/resize/nonconstructor.js: Added.
3995         * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-grow.js: Added.
3996         (catch):
3997         * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-same-size-zero-explicit.js: Added.
3998         (catch):
3999         * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-same-size-zero-implicit.js: Added.
4000         (catch):
4001         * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-same-size.js: Added.
4002         (catch):
4003         * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-shrink-zero-explicit.js: Added.
4004         (catch):
4005         * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-shrink-zero-implicit.js: Added.
4006         (catch):
4007         * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-shrink.js: Added.
4008         (catch):
4009         * test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-detached.js: Added.
4010         * test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-not-arraybuffer-object.js: Added.
4011         * test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-not-object.js: Added.
4012         * test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-not-resizable-arraybuffer-object.js: Added.
4013         * test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-sharedarraybuffer.js: Added.
4014         * test262/test/built-ins/ArrayBuffer/prototype/transfer/descriptor.js: Added.
4015         * test262/test/built-ins/ArrayBuffer/prototype/transfer/extensible.js: Added.
4016         * test262/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-larger.js: Added.
4017         * test262/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-same.js: Added.
4018         * test262/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-smaller.js: Added.
4019         * test262/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-zero.js: Added.
4020         * test262/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-larger.js: Added.
4021         * test262/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-same.js: Added.
4022         * test262/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-smaller.js: Added.
4023         * test262/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-zero.js: Added.
4024         * test262/test/built-ins/ArrayBuffer/prototype/transfer/length.js: Added.
4025         * test262/test/built-ins/ArrayBuffer/prototype/transfer/name.js: Added.
4026         * test262/test/built-ins/ArrayBuffer/prototype/transfer/new-length-excessive.js: Added.
4027         * test262/test/built-ins/ArrayBuffer/prototype/transfer/new-length-non-number.js: Added.
4028         (newLength.toString):
4029         (newLength.valueOf):
4030         * test262/test/built-ins/ArrayBuffer/prototype/transfer/nonconstructor.js: Added.
4031         * test262/test/built-ins/ArrayBuffer/prototype/transfer/this-is-detached.js: Added.
4032         * test262/test/built-ins/ArrayBuffer/prototype/transfer/this-is-not-arraybuffer-object.js: Added.
4033         * test262/test/built-ins/ArrayBuffer/prototype/transfer/this-is-not-object.js: Added.
4034         * test262/test/built-ins/ArrayBuffer/prototype/transfer/this-is-sharedarraybuffer.js: Added.
4035         * test262/test/built-ins/DataView/prototype/byteLength/resizable-array-buffer-auto.js: Added.
4036         (catch):
4037         * test262/test/built-ins/DataView/prototype/byteLength/resizable-array-buffer-fixed.js: Added.
4038         (catch):
4039         * test262/test/built-ins/DataView/prototype/byteOffset/resizable-array-buffer-auto.js: Added.
4040         (catch):
4041         * test262/test/built-ins/DataView/prototype/byteOffset/resizable-array-buffer-fixed.js: Added.
4042         (catch):
4043         * test262/test/built-ins/DataView/prototype/getBigInt64/resizable-buffer.js: Added.
4044         (catch):
4045         * test262/test/built-ins/DataView/prototype/getBigUint64/resizable-buffer.js: Added.
4046         (catch):
4047         * test262/test/built-ins/DataView/prototype/getFloat32/resizable-buffer.js: Added.
4048         (catch):
4049         * test262/test/built-ins/DataView/prototype/getFloat64/resizable-buffer.js: Added.
4050         (catch):
4051         * test262/test/built-ins/DataView/prototype/getInt16/resizable-buffer.js: Added.
4052         (catch):
4053         * test262/test/built-ins/DataView/prototype/getInt32/resizable-buffer.js: Added.
4054         (catch):
4055         * test262/test/built-ins/DataView/prototype/getInt8/resizable-buffer.js: Added.
4056         (catch):
4057         * test262/test/built-ins/DataView/prototype/getUint16/resizable-buffer.js: Added.
4058         (catch):
4059         * test262/test/built-ins/DataView/prototype/getUint32/resizable-buffer.js: Added.
4060         (catch):
4061         * test262/test/built-ins/DataView/prototype/getUint8/resizable-buffer.js: Added.
4062         (catch):
4063         * test262/test/built-ins/DataView/prototype/setBigInt64/resizable-buffer.js: Added.
4064         (catch):
4065         * test262/test/built-ins/DataView/prototype/setBigUint64/resizable-buffer.js: Added.
4066         (catch):
4067         * test262/test/built-ins/DataView/prototype/setFloat32/resizable-buffer.js: Added.
4068         (catch):
4069         * test262/test/built-ins/DataView/prototype/setFloat64/resizable-buffer.js: Added.
4070         (catch):
4071         * test262/test/built-ins/DataView/prototype/setInt16/resizable-buffer.js: Added.
4072         (catch):
4073         * test262/test/built-ins/DataView/prototype/setInt32/resizable-buffer.js: Added.
4074         (catch):
4075         * test262/test/built-ins/DataView/prototype/setInt8/resizable-buffer.js: Added.
4076         (catch):
4077         * test262/test/built-ins/DataView/prototype/setUint16/resizable-buffer.js: Added.
4078         (catch):
4079         * test262/test/built-ins/DataView/prototype/setUint32/resizable-buffer.js: Added.
4080         (catch):
4081         * test262/test/built-ins/DataView/prototype/setUint8/resizable-buffer.js: Added.
4082         (catch):
4083         * test262/test/built-ins/Error/cause_abrupt.js:
4084         (has):
4085         (options.get cause):
4086         * test262/test/built-ins/Object/hasOwn/descriptor.js: Added.
4087         * test262/test/built-ins/Object/hasOwn/hasown.js: Added.
4088         * test262/test/built-ins/Object/hasOwn/hasown_inherited_exists.js: Added.
4089         * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter.js: Added.
4090         (base.get foo):
4091         * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_and_setter.js: Added.
4092         (base.get foo):
4093         (base.set foo):
4094         * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_and_setter_configurable_enumerable.js: Added.
4095         * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_and_setter_configurable_nonenumerable.js: Added.
4096         * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_and_setter_nonconfigurable_enumerable.js: Added.
4097         * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_and_setter_nonconfigurable_nonenumerable.js: Added.
4098         * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_configurable_enumerable.js: Added.
4099         * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_configurable_nonenumerable.js: Added.
4100         * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_nonconfigurable_enumerable.js: Added.
4101         * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_nonconfigurable_nonenumerable.js: Added.
4102         * test262/test/built-ins/Object/hasOwn/hasown_inherited_nonwritable_configurable_enumerable.js: Added.
4103         * test262/test/built-ins/Object/hasOwn/hasown_inherited_nonwritable_configurable_nonenumerable.js: Added.
4104         * test262/test/built-ins/Object/hasOwn/hasown_inherited_nonwritable_nonconfigurable_enumerable.js: Added.
4105         * test262/test/built-ins/Object/hasOwn/hasown_inherited_nonwritable_nonconfigurable_nonenumerable.js: Added.
4106         * test262/test/built-ins/Object/hasOwn/hasown_inherited_setter.js: Added.
4107         (base.set foo):
4108         * test262/test/built-ins/Object/hasOwn/hasown_inherited_setter_configurable_enumerable.js: Added.
4109         * test262/test/built-ins/Object/hasOwn/hasown_inherited_setter_configurable_nonenumerable.js: Added.
4110         * test262/test/built-ins/Object/hasOwn/hasown_inherited_setter_nonconfigurable_enumerable.js: Added.
4111         * test262/test/built-ins/Object/hasOwn/hasown_inherited_setter_nonconfigurable_nonenumerable.js: Added.
4112         * test262/test/built-ins/Object/hasOwn/hasown_inherited_writable_configurable_enumerable.js: Added.
4113         * test262/test/built-ins/Object/hasOwn/hasown_inherited_writable_configurable_nonenumerable.js: Added.
4114         * test262/test/built-ins/Object/hasOwn/hasown_inherited_writable_nonconfigurable_enumerable.js: Added.
4115         * test262/test/built-ins/Object/hasOwn/hasown_inherited_writable_nonconfigurable_nonenumerable.js: Added.
4116         * test262/test/built-ins/Object/hasOwn/hasown_nonexistent.js: Added.
4117         * test262/test/built-ins/Object/hasOwn/hasown_own_getter.js: Added.
4118         (o.get foo):
4119         * test262/test/built-ins/Object/hasOwn/hasown_own_getter_and_setter.js: Added.
4120         (o.get foo):
4121         (o.set foo):
4122         * test262/test/built-ins/Object/hasOwn/hasown_own_getter_and_setter_configurable_enumerable.js: Added.
4123         * test262/test/built-ins/Object/hasOwn/hasown_own_getter_and_setter_configurable_nonenumerable.js: Added.
4124         * test262/test/built-ins/Object/hasOwn/hasown_own_getter_and_setter_nonconfigurable_enumerable.js: Added.
4125         * test262/test/built-ins/Object/hasOwn/hasown_own_getter_and_setter_nonconfigurable_nonenumerable.js: Added.
4126         * test262/test/built-ins/Object/hasOwn/hasown_own_getter_configurable_enumerable.js: Added.
4127         * test262/test/built-ins/Object/hasOwn/hasown_own_getter_configurable_nonenumerable.js: Added.
4128         * test262/test/built-ins/Object/hasOwn/hasown_own_getter_nonconfigurable_enumerable.js: Added.
4129         * test262/test/built-ins/Object/hasOwn/hasown_own_getter_nonconfigurable_nonenumerable.js: Added.
4130         * test262/test/built-ins/Object/hasOwn/hasown_own_nonwritable_configurable_enumerable.js: Added.
4131         * test262/test/built-ins/Object/hasOwn/hasown_own_nonwritable_nonconfigurable_enumerable.js: Added.
4132         * test262/test/built-ins/Object/hasOwn/hasown_own_nonwriteable_configurable_nonenumerable.js: Added.
4133         * test262/test/built-ins/Object/hasOwn/hasown_own_nonwriteable_nonconfigurable_nonenumerable.js: Added.
4134         * test262/test/built-ins/Object/hasOwn/hasown_own_property_exists.js: Added.
4135         * test262/test/built-ins/Object/hasOwn/hasown_own_setter.js: Added.
4136         (o.set foo):
4137         * test262/test/built-ins/Object/hasOwn/hasown_own_setter_configurable_enumerable.js: Added.
4138         * test262/test/built-ins/Object/hasOwn/hasown_own_setter_configurable_nonenumerable.js: Added.
4139         * test262/test/built-ins/Object/hasOwn/hasown_own_setter_nonconfigurable_enumerable.js: Added.
4140         * test262/test/built-ins/Object/hasOwn/hasown_own_setter_nonconfigurable_nonenumerable.js: Added.
4141         * test262/test/built-ins/Object/hasOwn/hasown_own_writable_configurable_enumerable.js: Added.
4142         * test262/test/built-ins/Object/hasOwn/hasown_own_writable_configurable_nonenumerable.js: Added.
4143         * test262/test/built-ins/Object/hasOwn/hasown_own_writable_nonconfigurable_enumerable.js: Added.
4144         * test262/test/built-ins/Object/hasOwn/hasown_own_writable_nonconfigurable_nonenumerable.js: Added.
4145         * test262/test/built-ins/Object/hasOwn/length.js: Added.
4146         * test262/test/built-ins/Object/hasOwn/name.js: Added.
4147         * test262/test/built-ins/Object/hasOwn/not-a-constructor.js: Added.
4148         * test262/test/built-ins/Object/hasOwn/prototype.js: Added.
4149         * test262/test/built-ins/Object/hasOwn/symbol_own_property.js: Added.
4150         * test262/test/built-ins/Object/hasOwn/symbol_property_toPrimitive.js: Added.
4151         (wrapper.Symbol.toPrimitive):
4152         * test262/test/built-ins/Object/hasOwn/symbol_property_toString.js: Added.
4153         (wrapper.toString):
4154         (wrapper.valueOf):
4155         * test262/test/built-ins/Object/hasOwn/symbol_property_valueOf.js: Added.
4156         (wrapper.valueOf):
4157         * test262/test/built-ins/Object/hasOwn/toobject_before_topropertykey.js: Added.
4158         (coercibleKey1.get toString):
4159         (coercibleKey1.get valueOf):
4160         (coercibleKey2.Symbol.toPrimitive):
4161         * test262/test/built-ins/Object/hasOwn/toobject_null.js: Added.
4162         * test262/test/built-ins/Object/hasOwn/toobject_undefined.js: Added.
4163         * test262/test/built-ins/Promise/race/resolve-element-function-extensible.js: Removed.
4164         * test262/test/built-ins/Promise/race/resolve-element-function-name.js: Removed.
4165         * test262/test/built-ins/Promise/race/resolve-element-function-nonconstructor.js: Removed.
4166         * test262/test/built-ins/Promise/race/resolve-element-function-prototype.js: Removed.
4167         * test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-diminuitive.js: Added.
4168         * test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-excessive.js: Added.
4169         * test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-negative.js: Added.
4170         * test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-object.js: Added.
4171         (options.maxByteLength.toString):
4172         (options.maxByteLength.valueOf):
4173         * test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-poisoned.js: Added.
4174         (options.get maxByteLength):
4175         * test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-undefined.js: Added.
4176         * test262/test/built-ins/SharedArrayBuffer/options-non-object.js: Added.
4177         * test262/test/built-ins/SharedArrayBuffer/prototype/grow/descriptor.js: Added.
4178         * test262/test/built-ins/SharedArrayBuffer/prototype/grow/extensible.js: Added.
4179         * test262/test/built-ins/SharedArrayBuffer/prototype/grow/grow-larger-size.js: Added.
4180         (catch):
4181         * test262/test/built-ins/SharedArrayBuffer/prototype/grow/grow-same-size.js: Added.
4182         (catch):
4183         * test262/test/built-ins/SharedArrayBuffer/prototype/grow/grow-smaller-size.js: Added.
4184         (catch):
4185         * test262/test/built-ins/SharedArrayBuffer/prototype/grow/length.js: Added.
4186         * test262/test/built-ins/SharedArrayBuffer/prototype/grow/name.js: Added.
4187         * test262/test/built-ins/SharedArrayBuffer/prototype/grow/new-length-excessive.js: Added.
4188         * test262/test/built-ins/SharedArrayBuffer/prototype/grow/new-length-negative.js: Added.
4189         * test262/test/built-ins/SharedArrayBuffer/prototype/grow/new-length-non-number.js: Added.
4190         (newLength.toString):
4191         (newLength.valueOf):
4192         * test262/test/built-ins/SharedArrayBuffer/prototype/grow/nonconstructor.js: Added.
4193         * test262/test/built-ins/SharedArrayBuffer/prototype/grow/this-is-not-arraybuffer-object.js: Added.
4194         * test262/test/built-ins/SharedArrayBuffer/prototype/grow/this-is-not-object.js: Added.
4195         * test262/test/built-ins/SharedArrayBuffer/prototype/grow/this-is-not-resizable-arraybuffer-object.js: Added.
4196         * test262/test/built-ins/SharedArrayBuffer/prototype/grow/this-is-sharedarraybuffer.js: Added.
4197         * test262/test/built-ins/SharedArrayBuffer/prototype/growable/invoked-as-accessor.js: Added.
4198         * test262/test/built-ins/SharedArrayBuffer/prototype/growable/invoked-as-func.js: Added.
4199         * test262/test/built-ins/SharedArrayBuffer/prototype/growable/length.js: Added.
4200         * test262/test/built-ins/SharedArrayBuffer/prototype/growable/name.js: Added.
4201         * test262/test/built-ins/SharedArrayBuffer/prototype/growable/prop-desc.js: Added.
4202         * test262/test/built-ins/SharedArrayBuffer/prototype/growable/return-growable.js: Added.
4203         * test262/test/built-ins/SharedArrayBuffer/prototype/growable/this-has-no-arraybufferdata-internal.js: Added.
4204         * test262/test/built-ins/SharedArrayBuffer/prototype/growable/this-is-arraybuffer.js: Added.
4205         * test262/test/built-ins/SharedArrayBuffer/prototype/growable/this-is-not-object.js: Added.
4206         * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/invoked-as-accessor.js: Added.
4207         * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/invoked-as-func.js: Added.
4208         * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/length.js: Added.
4209         * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/name.js: Added.
4210         * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/prop-desc.js: Added.
4211         * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/return-maxbytelength-growable.js: Added.
4212         * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/return-maxbytelength-non-growable.js: Added.
4213         * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/this-has-no-arraybufferdata-internal.js: Added.
4214         * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/this-is-arraybuffer.js: Added.
4215         * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/this-is-not-object.js: Added.
4216         * test262/test/built-ins/Symbol/for/description.js: Added.
4217         (symbol.Symbol.toString):
4218         * test262/test/built-ins/Temporal/now/instant/extensible.js: Added.
4219         * test262/test/built-ins/Temporal/now/instant/length.js: Added.
4220         * test262/test/built-ins/Temporal/now/instant/name.js: Added.
4221         * test262/test/built-ins/Temporal/now/instant/not-a-constructor.js: Added.
4222         * test262/test/built-ins/Temporal/now/instant/prop-desc.js: Added.
4223         * test262/test/built-ins/Temporal/now/instant/return-value-distinct.js: Added.
4224         * test262/test/built-ins/Temporal/now/instant/return-value-prototype.js: Added.
4225         * test262/test/built-ins/Temporal/now/instant/return-value-value.js: Added.
4226         * test262/test/built-ins/Temporal/now/timeZone/extensible.js: Added.
4227         * test262/test/built-ins/Temporal/now/timeZone/length.js: Added.
4228         * test262/test/built-ins/Temporal/now/timeZone/name.js: Added.
4229         * test262/test/built-ins/Temporal/now/timeZone/new-object.js: Added.
4230         * test262/test/built-ins/Temporal/now/timeZone/not-a-constructor.js: Added.
4231         * test262/test/built-ins/Temporal/now/timeZone/prop-desc.js: Added.
4232         * test262/test/built-ins/Temporal/now/timeZone/return-value.js: Added.
4233         * test262/test/built-ins/TypedArray/prototype/at/return-abrupt-from-this-out-of-bounds.js: Added.
4234         (testWithTypedArrayConstructors.TA.catch):
4235         * test262/test/built-ins/TypedArray/prototype/byteLength/resizable-array-buffer-auto.js: Added.
4236         (testWithTypedArrayConstructors):
4237         * test262/test/built-ins/TypedArray/prototype/byteLength/resizable-array-buffer-fixed.js: Added.
4238         (testWithTypedArrayConstructors):
4239         * test262/test/built-ins/TypedArray/prototype/byteOffset/resizable-array-buffer-auto.js: Added.
4240         (testWithTypedArrayConstructors):
4241         * test262/test/built-ins/TypedArray/prototype/byteOffset/resizable-array-buffer-fixed.js: Added.
4242         (testWithTypedArrayConstructors):
4243         * test262/test/built-ins/TypedArray/prototype/copyWithin/return-abrupt-from-this-out-of-bounds.js: Added.
4244         (testWithTypedArrayConstructors.TA.catch):
4245         * test262/test/built-ins/TypedArray/prototype/entries/return-abrupt-from-this-out-of-bounds.js: Added.
4246         (testWithTypedArrayConstructors.TA.catch):
4247         * test262/test/built-ins/TypedArray/prototype/every/return-abrupt-from-this-out-of-bounds.js: Added.
4248         (testWithTypedArrayConstructors.TA.catch):
4249         (testWithTypedArrayConstructors.TA.array.every):
4250         * test262/test/built-ins/TypedArray/prototype/fill/return-abrupt-from-this-out-of-bounds.js: Added.
4251         (testWithTypedArrayConstructors.TA.catch):
4252         * test262/test/built-ins/TypedArray/prototype/filter/return-abrupt-from-this-out-of-bounds.js: Added.
4253         (testWithTypedArrayConstructors.TA.catch):
4254         (testWithTypedArrayConstructors.TA.array.filter):
4255         * test262/test/built-ins/TypedArray/prototype/find/return-abrupt-from-this-out-of-bounds.js: Added.
4256         (testWithTypedArrayConstructors.TA.catch):
4257         (testWithTypedArrayConstructors.TA.array.find):
4258         * test262/test/built-ins/TypedArray/prototype/findIndex/return-abrupt-from-this-out-of-bounds.js: Added.
4259         (testWithTypedArrayConstructors.TA.catch):
4260         (testWithTypedArrayConstructors.TA.array.findIndex):
4261         * test262/test/built-ins/TypedArray/prototype/forEach/return-abrupt-from-this-out-of-bounds.js: Added.
4262         (testWithTypedArrayConstructors.TA.catch):
4263         (testWithTypedArrayConstructors.TA.array.forEach):
4264         * test262/test/built-ins/TypedArray/prototype/includes/return-abrupt-from-this-out-of-bounds.js: Added.
4265         (testWithTypedArrayConstructors.TA.catch):
4266         * test262/test/built-ins/TypedArray/prototype/indexOf/return-abrupt-from-this-out-of-bounds.js: Added.
4267         (testWithTypedArrayConstructors.TA.catch):
4268         * test262/test/built-ins/TypedArray/prototype/join/return-abrupt-from-this-out-of-bounds.js: Added.
4269         (testWithTypedArrayConstructors.TA.catch):
4270         * test262/test/built-ins/TypedArray/prototype/keys/return-abrupt-from-this-out-of-bounds.js: Added.
4271         (testWithTypedArrayConstructors.TA.catch):
4272         * test262/test/built-ins/TypedArray/prototype/lastIndexOf/return-abrupt-from-this-out-of-bounds.js: Added.
4273         (testWithTypedArrayConstructors.TA.catch):
4274         * test262/test/built-ins/TypedArray/prototype/length/resizable-array-buffer-auto.js: Added.
4275         (testWithTypedArrayConstructors):
4276         * test262/test/built-ins/TypedArray/prototype/length/resizable-array-buffer-fixed.js: Added.
4277         (testWithTypedArrayConstructors):
4278         * test262/test/built-ins/TypedArray/prototype/map/return-abrupt-from-this-out-of-bounds.js: Added.
4279         (testWithTypedArrayConstructors.TA.catch):
4280         (testWithTypedArrayConstructors.TA.array.map):
4281         * test262/test/built-ins/TypedArray/prototype/reduce/return-abrupt-from-this-out-of-bounds.js: Added.
4282         (testWithTypedArrayConstructors.TA.catch):
4283         (testWithTypedArrayConstructors.TA.array.reduce):
4284         * test262/test/built-ins/TypedArray/prototype/reduceRight/return-abrupt-from-this-out-of-bounds.js: Added.
4285         (testWithTypedArrayConstructors.TA.catch):
4286         (testWithTypedArrayConstructors.TA.array.reduceRight):
4287         * test262/test/built-ins/TypedArray/prototype/reverse/return-abrupt-from-this-out-of-bounds.js: Added.
4288         (testWithTypedArrayConstructors.TA.catch):
4289         * test262/test/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-same-type-resized.js: Added.
4290         (testWithTypedArrayConstructors):
4291         * test262/test/built-ins/TypedArray/prototype/set/typedarray-arg-target-out-of-bounds.js: Added.
4292         (testWithTypedArrayConstructors.TA.catch):
4293         * test262/test/built-ins/TypedArray/prototype/slice/return-abrupt-from-this-out-of-bounds.js: Added.
4294         (testWithTypedArrayConstructors.TA.catch):
4295         * test262/test/built-ins/TypedArray/prototype/some/return-abrupt-from-this-out-of-bounds.js: Added.
4296         (testWithTypedArrayConstructors.TA.catch):
4297         (testWithTypedArrayConstructors.TA.array.some):
4298         * test262/test/built-ins/TypedArray/prototype/sort/return-abrupt-from-this-out-of-bounds.js: Added.
4299         (testWithTypedArrayConstructors.TA.catch):
4300         * test262/test/built-ins/TypedArray/prototype/toLocaleString/return-abrupt-from-this-out-of-bounds.js: Added.
4301         (testWithTypedArrayConstructors.TA.catch):
4302         * test262/test/built-ins/TypedArray/prototype/values/return-abrupt-from-this-out-of-bounds.js: Added.
4303         (testWithTypedArrayConstructors.TA.catch):
4304         * test262/test/built-ins/TypedArrayConstructors/ctors/buffer-arg/excessive-offset-throws-resizable-ab.js: Added.
4305         (testWithTypedArrayConstructors):
4306         * test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/out-of-bounds-when-species-retrieved-different-type.js: Added.
4307         (testWithTypedArrayConstructors.):
4308         (testWithTypedArrayConstructors.get var):
4309         (testWithTypedArrayConstructors.onGetSpecies):
4310         (testWithTypedArrayConstructors):
4311         * test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/out-of-bounds-when-species-retrieved-same-type.js: Added.
4312         (testWithTypedArrayConstructors.):
4313         (testWithTypedArrayConstructors.get var):
4314         (testWithTypedArrayConstructors.onGetSpecies):
4315         (testWithTypedArrayConstructors):
4316         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/detached-buffer-realm.js: Removed.
4317         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/detached-buffer-throws-realm.js: Added.
4318         (testWithBigIntTypedArrayConstructors):
4319         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/detached-buffer-throws.js: Added.
4320         (testWithBigIntTypedArrayConstructors):
4321         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-not-numeric-index-throws.js: Added.
4322         (testWithBigIntTypedArrayConstructors):
4323         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-numericindex-accessor-desc-throws.js: Added.
4324         (testWithBigIntTypedArrayConstructors.):
4325         (testWithBigIntTypedArrayConstructors.get assert):
4326         (testWithBigIntTypedArrayConstructors.set assert):
4327         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-numericindex-desc-configurable.js:
4328         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-numericindex-desc-not-configurable-throws.js: Added.
4329         (testWithBigIntTypedArrayConstructors):
4330         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-numericindex-desc-not-enumerable-throws.js: Added.
4331         (testWithBigIntTypedArrayConstructors):
4332         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-numericindex-desc-not-writable-throws.js: Added.
4333         (testWithBigIntTypedArrayConstructors):
4334         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/tonumber-value-detached-buffer.js:
4335         (testWithBigIntTypedArrayConstructors):
4336         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/detached-buffer-realm.js: Removed.
4337         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/detached-buffer-throws-realm.js: Added.
4338         (testWithTypedArrayConstructors):
4339         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/detached-buffer-throws.js: Added.
4340         (testWithTypedArrayConstructors):
4341         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-not-numeric-index-throws.js: Added.
4342         (testWithTypedArrayConstructors):
4343         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex-accessor-desc-throws.js: Added.
4344         (testWithTypedArrayConstructors.):
4345         (testWithTypedArrayConstructors.get assert):
4346         (testWithTypedArrayConstructors.set assert):
4347         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex-desc-configurable.js:
4348         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex-desc-not-configurable-throws.js: Added.
4349         (testWithTypedArrayConstructors):
4350         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex-desc-not-enumerable-throws.js: Added.
4351         (testWithTypedArrayConstructors):
4352         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex-desc-not-writable-throws.js: Added.
4353         (testWithTypedArrayConstructors):
4354         * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/tonumber-value-detached-buffer.js:
4355         (testWithTypedArrayConstructors):
4356         * test262/test/built-ins/TypedArrayConstructors/internals/Delete/key-is-symbol.js:
4357         * test262/test/built-ins/TypedArrayConstructors/internals/HasProperty/resizable-array-buffer-auto.js: Added.
4358         (inspect):
4359         (testWithTypedArrayConstructors):
4360         * test262/test/built-ins/TypedArrayConstructors/internals/HasProperty/resizable-array-buffer-fixed.js: Added.
4361         (inspect):
4362         (testWithTypedArrayConstructors):
4363         * test262/test/built-ins/TypedArrayConstructors/internals/OwnPropertyKeys/integer-indexes-resizable-array-buffer-auto.js: Added.
4364         (testWithTypedArrayConstructors):
4365         * test262/test/built-ins/TypedArrayConstructors/internals/OwnPropertyKeys/integer-indexes-resizable-array-buffer-fixed.js: Added.
4366         (testWithTypedArrayConstructors):
4367         * test262/test/intl402/DateTimeFormat/constructor-options-style-conflict.js: Added.
4368         * test262/test/intl402/Locale/prototype/calendars/branding.js: Added.
4369         * test262/test/intl402/Locale/prototype/calendars/name.js: Added.
4370         * test262/test/intl402/Locale/prototype/calendars/output-array.js: Added.
4371         * test262/test/intl402/Locale/prototype/calendars/prop-desc.js: Added.
4372         * test262/test/intl402/Locale/prototype/collations/branding.js: Added.
4373         * test262/test/intl402/Locale/prototype/collations/name.js: Added.
4374         * test262/test/intl402/Locale/prototype/collations/output-array-values.js: Added.
4375         * test262/test/intl402/Locale/prototype/collations/output-array.js: Added.
4376         * test262/test/intl402/Locale/prototype/collations/prop-desc.js: Added.
4377         * test262/test/intl402/Locale/prototype/hourCycles/branding.js: Added.
4378         * test262/test/intl402/Locale/prototype/hourCycles/name.js: Added.
4379         * test262/test/intl402/Locale/prototype/hourCycles/output-array-values.js: Added.
4380         * test262/test/intl402/Locale/prototype/hourCycles/output-array.js: Added.
4381         * test262/test/intl402/Locale/prototype/hourCycles/prop-desc.js: Added.
4382         * test262/test/intl402/Locale/prototype/numberingSystems/branding.js: Added.
4383         * test262/test/intl402/Locale/prototype/numberingSystems/name.js: Added.
4384         * test262/test/intl402/Locale/prototype/numberingSystems/output-array.js: Added.
4385         * test262/test/intl402/Locale/prototype/numberingSystems/prop-desc.js: Added.
4386         * test262/test/intl402/Locale/prototype/textInfo/branding.js: Added.
4387         * test262/test/intl402/Locale/prototype/textInfo/name.js: Added.
4388         * test262/test/intl402/Locale/prototype/textInfo/output-object-keys.js: Added.
4389         * test262/test/intl402/Locale/prototype/textInfo/output-object.js: Added.
4390         * test262/test/intl402/Locale/prototype/textInfo/prop-desc.js: Added.
4391         * test262/test/intl402/Locale/prototype/timeZones/branding.js: Added.
4392         * test262/test/intl402/Locale/prototype/timeZones/name.js: Added.
4393         * test262/test/intl402/Locale/prototype/timeZones/output-array-sorted.js: Added.
4394         * test262/test/intl402/Locale/prototype/timeZones/output-array.js: Added.
4395         * test262/test/intl402/Locale/prototype/timeZones/output-undefined.js: Added.
4396         * test262/test/intl402/Locale/prototype/timeZones/prop-desc.js: Added.
4397         * test262/test/intl402/Locale/prototype/weekInfo/branding.js: Added.
4398         * test262/test/intl402/Locale/prototype/weekInfo/name.js: Added.
4399         * test262/test/intl402/Locale/prototype/weekInfo/output-object-keys.js: Added.
4400         * test262/test/intl402/Locale/prototype/weekInfo/output-object.js: Added.
4401         * test262/test/intl402/Locale/prototype/weekInfo/prop-desc.js: Added.
4402         * test262/test/intl402/Segmenter/constructor/supportedLocalesOf/locales-specific.js:
4403         * test262/test/intl402/Segmenter/prototype/segment/containing/iswordlike.js:
4404         (other_granularities.forEach):
4405         * test262/test/intl402/Segmenter/prototype/segment/containing/one-index.js:
4406         (toString):
4407         (valueOf):
4408         (Symbol.toPrimitive):
4409         * test262/test/intl402/Segmenter/prototype/segment/containing/out-of-bound-index.js:
4410         (toString):
4411         (valueOf):
4412         (Symbol.toPrimitive):
4413         * test262/test/intl402/Segmenter/prototype/segment/containing/word-iswordlike.js:
4414         (inputs.forEach):
4415         * test262/test/intl402/Segmenter/prototype/segment/containing/zero-index.js:
4416         (toString):
4417         (valueOf):
4418         (Symbol.toPrimitive):
4419         * test262/test/intl402/Segmenter/prototype/segment/segment-grapheme-iterable.js:
4420         (const.v.of.seg.segment):
4421         * test262/test/intl402/Segmenter/prototype/segment/segment-sentence-iterable.js:
4422         (const.v.of.seg.segment):
4423         * test262/test/intl402/Segmenter/prototype/segment/segment-word-iterable.js:
4424         (const.v.of.seg.segment):
4425         * test262/test/intl402/fallback-locales-are-supported.js:
4426         (testWithIntlConstructors):
4427         * test262/test/intl402/supportedLocalesOf-consistent-with-resolvedOptions.js:
4428         (testWithIntlConstructors):
4429         * test262/test/intl402/supportedLocalesOf-unicode-extensions-ignored.js:
4430         (testWithIntlConstructors.):
4431         (testWithIntlConstructors):
4432         * test262/test/language/expressions/arrow-function/extensibility.js: Added.
4433         (assert.Object.isExtensible):
4434         * test262/test/language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-2.js:
4435         * test262/test/language/expressions/assignment/S11.13.1_A7_T1.js: Removed.
4436         * test262/test/language/expressions/assignment/S11.13.1_A7_T2.js: Removed.
4437         * test262/test/language/expressions/assignment/target-member-computed-reference-null.js: Added.
4438         (DummyError):
4439         (prop):
4440         (expr):
4441         (prop.toString):
4442         * test262/test/language/expressions/assignment/target-member-computed-reference-undefined.js: Added.
4443         (DummyError):
4444         (prop):
4445         (expr):
4446         (prop.toString):
4447         * test262/test/language/expressions/assignment/target-member-identifier-reference-null.js: Added.
4448         * test262/test/language/expressions/assignment/target-member-identifier-reference-undefined.js: Added.
4449         * test262/test/language/expressions/assignment/target-super-computed-reference-null.js: Added.
4450         (C.m):
4451         (C):
4452         * test262/test/language/expressions/assignment/target-super-identifier-reference-null.js: Added.
4453         (C.m):
4454         (C):
4455         * test262/test/language/expressions/delete/member-computed-reference-null.js: Added.
4456         * test262/test/language/expressions/delete/member-computed-reference-undefined.js: Added.
4457         * test262/test/language/expressions/delete/member-identifier-reference-null.js: Added.
4458         * test262/test/language/expressions/delete/member-identifier-reference-undefined.js: Added.
4459         * test262/test/language/expressions/delete/super-property-null-base.js: Added.
4460         (C.m):
4461         (C):
4462         * test262/test/language/expressions/dynamic-import/2nd-param-assert-enumeration-abrupt.js: Added.
4463         (options.ownKeys):
4464         (options.then):
4465         * test262/test/language/expressions/dynamic-import/2nd-param-assert-enumeration.js: Added.
4466         (options.ownKeys):
4467         (options.get _):
4468         (options.getOwnPropertyDescriptor):
4469         (options.then):
4470         * test262/test/language/expressions/dynamic-import/2nd-param-assert-non-object.js: Added.
4471         (test):
4472         (string_appeared_here.then):
4473         * test262/test/language/expressions/dynamic-import/2nd-param-assert-undefined.js: Added.
4474         (then):
4475         * test262/test/language/expressions/dynamic-import/2nd-param-assert-value-abrupt.js: Added.
4476         (assert.get string_appeared_here):
4477         (then):
4478         * test262/test/language/expressions/dynamic-import/2nd-param-assert-value-non-string.js: Added.
4479         (test):
4480         (string_appeared_here.then):
4481         * test262/test/language/expressions/dynamic-import/2nd-param-await-expr.js: Added.
4482         * test262/test/language/expressions/dynamic-import/2nd-param-await-ident.js: Added.
4483         (await):
4484         (await.undefined.then):
4485         * test262/test/language/expressions/dynamic-import/2nd-param-evaluation-abrupt-return.js: Added.
4486         (iter):
4487         * test262/test/language/expressions/dynamic-import/2nd-param-evaluation-abrupt-throw.js: Added.
4488         (throwError):
4489         * test262/test/language/expressions/dynamic-import/2nd-param-evaluation-sequence.js: Added.
4490         * test262/test/language/expressions/dynamic-import/2nd-param-get-assert-error.js: Added.
4491         (options.get assert):
4492         (options.then):
4493         * test262/test/language/expressions/dynamic-import/2nd-param-in.js: Added.
4494         (promise.then):
4495         * test262/test/language/expressions/dynamic-import/2nd-param-non-object.js: Added.
4496         (test):
4497         (string_appeared_here.then):
4498         * test262/test/language/expressions/dynamic-import/2nd-param-trailing-comma-fulfill.js: Added.
4499         (then):
4500         * test262/test/language/expressions/dynamic-import/2nd-param-trailing-comma-reject.js: Added.
4501         (import.toString):
4502         (then):
4503         * test262/test/language/expressions/dynamic-import/2nd-param-yield-expr.js: Added.
4504         (iter):
4505         (promise.then):
4506         * test262/test/language/expressions/dynamic-import/2nd-param-yield-ident-invalid.js: Added.
4507         * test262/test/language/expressions/dynamic-import/2nd-param-yield-ident-valid.js: Added.
4508         (yield.then):
4509         * test262/test/language/expressions/dynamic-import/2nd-param_FIXTURE.js: Added.
4510         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-assignment-expression-not-extensible-args.js:
4511         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-not-extensible-args.js:
4512         (let.f):
4513         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-arrow-function-await-not-extensible-args.js:
4514         (async await):
4515         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-arrow-function-return-await-not-extensible-args.js:
4516         (async await):
4517         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-arrow-function-return-await-not-extensible-no-trailing-comma.js: Removed.
4518         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-await-not-extensible-args.js:
4519         (async f):
4520         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-not-extensible-args.js:
4521         (async f):
4522         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-return-await-not-extensible-args.js:
4523         (async f):
4524         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-return-await-not-extensible-no-trailing-comma.js: Removed.
4525         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-gen-await-not-extensible-args.js:
4526         (async f):
4527         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-block-labeled-not-extensible-args.js:
4528         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-block-not-extensible-args.js:
4529         (DONOTEVALUATE):
4530         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-do-while-not-extensible-args.js:
4531         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-else-braceless-not-extensible-args.js:
4532         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-else-not-extensible-args.js:
4533         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-function-not-extensible-args.js:
4534         (fn):
4535         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-function-return-not-extensible-args.js:
4536         (fn):
4537         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-if-braceless-not-extensible-args.js:
4538         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-if-braceless-not-extensible-no-trailing-comma.js: Removed.
4539         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-if-not-extensible-args.js:
4540         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-while-not-extensible-args.js:
4541         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-with-expression-not-extensible-args.js:
4542         (with.import):
4543         * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-with-not-extensible-args.js:
4544         (with):
4545         * test262/test/language/expressions/dynamic-import/syntax/invalid/top-level-not-extensible-args.js:
4546         * test262/test/language/expressions/dynamic-import/syntax/invalid/top-level-not-extensible-no-trailing-comma.js: Removed.
4547         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-arrow-assignment-expression-trailing-comma-first.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-assignment-expression-not-extensible-args.js.
4548         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-arrow-assignment-expression-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-assignment-expression-not-extensible-args.js.
4549         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-arrow-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-not-extensible-no-trailing-comma.js.
4550         (let.f):
4551         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-arrow-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-not-extensible-args.js.
4552         (let.f):
4553         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-await-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-arrow-function-await-not-extensible-no-trailing-comma.js.
4554         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-await-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-arrow-function-await-not-extensible-args.js.
4555         (async await):
4556         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-return-await-trailing-comma-first.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-assignment-expression-not-extensible-args.js.
4557         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-arrow-function-return-await-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-assignment-expression-not-extensible-args.js.
4558         (async await):
4559         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-function-await-trailing-comma-first.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-await-not-extensible-args.js.
4560         (async f):
4561         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-function-await-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-await-not-extensible-args.js.
4562         (async f):
4563         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-function-return-await-trailing-comma-first.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-await-not-extensible-args.js.
4564         (async f):
4565         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-function-return-await-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-await-not-extensible-args.js.
4566         (async f):
4567         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-function-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-await-not-extensible-no-trailing-comma.js.
4568         (async f):
4569         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-function-trailing-comma-second.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-not-extensible-no-trailing-comma.js.
4570         (async f):
4571         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-gen-await-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-gen-await-not-extensible-no-trailing-comma.js.
4572         (async f):
4573         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-async-gen-await-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-gen-await-not-extensible-args.js.
4574         (async f):
4575         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-block-labeled-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-block-labeled-not-extensible-no-trailing-comma.js.
4576         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-block-labeled-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-block-labeled-not-extensible-args.js.
4577         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-block-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-block-not-extensible-no-trailing-comma.js.
4578         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-block-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-block-not-extensible-args.js.
4579         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-do-while-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-do-while-not-extensible-no-trailing-comma.js.
4580         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-do-while-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-do-while-not-extensible-args.js.
4581         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-else-braceless-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-else-braceless-not-extensible-no-trailing-comma.js.
4582         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-else-braceless-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-else-braceless-not-extensible-args.js.
4583         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-else-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-else-not-extensible-no-trailing-comma.js.
4584         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-else-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-else-not-extensible-args.js.
4585         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-function-return-trailing-comma-first.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-function-return-not-extensible-args.js.
4586         (fn):
4587         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-function-return-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-function-return-not-extensible-args.js.
4588         (fn):
4589         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-function-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-function-not-extensible-no-trailing-comma.js.
4590         (fn):
4591         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-function-trailing-comma-second.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-function-return-not-extensible-no-trailing-comma.js.
4592         (fn):
4593         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-if-braceless-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-assignment-expression-not-extensible-no-trailing-comma.js.
4594         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-if-braceless-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-assignment-expression-not-extensible-args.js.
4595         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-if-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-if-not-extensible-no-trailing-comma.js.
4596         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-if-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-if-not-extensible-args.js.
4597         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-while-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-while-not-extensible-no-trailing-comma.js.
4598         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-while-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-while-not-extensible-args.js.
4599         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-with-expression-trailing-comma-first.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-with-not-extensible-args.js.
4600         (with.import):
4601         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-with-expression-trailing-comma-second.js: Copied from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-with-not-extensible-args.js.
4602         (with.import):
4603         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-with-trailing-comma-first.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-with-not-extensible-no-trailing-comma.js.
4604         (with):
4605         * test262/test/language/expressions/dynamic-import/syntax/valid/nested-with-trailing-comma-second.js: Renamed from JSTests/test262/test/language/expressions/dynamic-import/syntax/invalid/nested-with-expression-not-extensible-no-trailing-comma.js.
4606         (with):
4607         * test262/test/language/expressions/dynamic-import/syntax/valid/top-level-trailing-comma-first.js: Added.
4608         * test262/test/language/expressions/dynamic-import/syntax/valid/top-level-trailing-comma-second.js: Added.
4609         * test262/test/language/expressions/dynamic-import/trailing-comma-fulfill.js: Added.
4610         (then):
4611         * test262/test/language/expressions/dynamic-import/trailing-comma-reject.js: Added.
4612         (import.toString):
4613         (then):
4614         * test262/test/language/expressions/template-literal/invalid-legacy-octal-escape-sequence-8.js:
4615         * test262/test/language/expressions/template-literal/invalid-legacy-octal-escape-sequence-9.js:
4616         * test262/test/language/expressions/template-literal/invalid-legacy-octal-escape-sequence.js:
4617         * test262/test/language/import/json-extensibility-array.js: Added.
4618         * test262/test/language/import/json-extensibility-object.js: Added.
4619         * test262/test/language/import/json-idempotency-indirect_FIXTURE.js: Added.
4620         * test262/test/language/import/json-idempotency.js: Added.
4621         (then):
4622         * test262/test/language/import/json-invalid.js: Added.
4623         * test262/test/language/import/json-named-bindings.js: Added.
4624         * test262/test/language/import/json-value-array.js: Added.
4625         * test262/test/language/import/json-value-boolean.js: Added.
4626         * test262/test/language/import/json-value-null.js: Added.
4627         * test262/test/language/import/json-value-number.js: Added.
4628         * test262/test/language/import/json-value-object.js: Added.
4629         * test262/test/language/import/json-value-string.js: Added.
4630         * test262/test/language/import/json-via-namespace.js: Added.
4631         * test262/test/language/literals/numeric/legacy-octal-integer-strict.js:
4632         * test262/test/language/literals/numeric/legacy-octal-integer.js: Renamed from JSTests/test262/test/annexB/language/literals/numeric/legacy-octal-integer.js.
4633         * test262/test/language/literals/numeric/non-octal-decimal-integer-strict.js:
4634         * test262/test/language/literals/numeric/non-octal-decimal-integer.js: Renamed from JSTests/test262/test/annexB/language/literals/numeric/non-octal-decimal-integer.js.
4635         * test262/test/language/literals/string/legacy-non-octal-escape-sequence-1-strict-explicit-pragma.js:
4636         * test262/test/language/literals/string/legacy-non-octal-escape-sequence-2-strict-explicit-pragma.js:
4637         * test262/test/language/literals/string/legacy-non-octal-escape-sequence-3-strict-explicit-pragma.js:
4638         * test262/test/language/literals/string/legacy-non-octal-escape-sequence-4-strict-explicit-pragma.js:
4639         * test262/test/language/literals/string/legacy-non-octal-escape-sequence-5-strict-explicit-pragma.js:
4640         * test262/test/language/literals/string/legacy-non-octal-escape-sequence-6-strict-explicit-pragma.js:
4641         * test262/test/language/literals/string/legacy-non-octal-escape-sequence-7-strict-explicit-pragma.js:
4642         * test262/test/language/literals/string/legacy-non-octal-escape-sequence-8-non-strict.js: Added.
4643         * test262/test/language/literals/string/legacy-non-octal-escape-sequence-8-strict-explicit-pragma.js:
4644         * test262/test/language/literals/string/legacy-non-octal-escape-sequence-8-strict.js:
4645         * test262/test/language/literals/string/legacy-non-octal-escape-sequence-9-non-strict.js: Added.
4646         * test262/test/language/literals/string/legacy-non-octal-escape-sequence-9-strict-explicit-pragma.js:
4647         * test262/test/language/literals/string/legacy-non-octal-escape-sequence-9-strict.js:
4648         * test262/test/language/literals/string/legacy-non-octal-escape-sequence-strict.js:
4649         * test262/test/language/literals/string/legacy-octal-escape-sequence-strict.js:
4650         * test262/test/language/literals/string/legacy-octal-escape-sequence.js: Renamed from JSTests/test262/test/annexB/language/literals/string/legacy-octal-escape-sequence.js.
4651         * test262/test/language/module-code/early-dup-assert-key-export.js: Added.
4652         * test262/test/language/module-code/early-dup-assert-key-import-nobinding.js: Added.
4653         * test262/test/language/module-code/early-dup-assert-key-import-withbinding.js: Added.
4654         * test262/test/language/module-code/early-export-ill-formed-string.js:
4655         * test262/test/language/module-code/eval-gtbndng-indirect-faux-assertion.js: Added.
4656         * test262/test/language/module-code/import-assertion-1_FIXTURE.js: Added.
4657         * test262/test/language/module-code/import-assertion-2_FIXTURE.js: Added.
4658         * test262/test/language/module-code/import-assertion-3_FIXTURE.js: Added.
4659         * test262/test/language/module-code/import-assertion-empty.js: Added.
4660         * test262/test/language/module-code/import-assertion-key-identifiername.js: Added.
4661         * test262/test/language/module-code/import-assertion-key-string-double.js: Added.
4662         * test262/test/language/module-code/import-assertion-key-string-single.js: Added.
4663         * test262/test/language/module-code/import-assertion-many.js: Added.
4664         * test262/test/language/module-code/import-assertion-newlines.js: Added.
4665         * test262/test/language/module-code/import-assertion-trlng-comma.js: Added.
4666         * test262/test/language/module-code/import-assertion-value-string-double.js: Added.
4667         * test262/test/language/module-code/import-assertion-value-string-single.js: Added.
4668         * test262/test/language/module-code/instn-star-as-props-dflt-skip.js:
4669         * test262/test/language/module-code/top-level-await/dfs-invariant-async_FIXTURE.js: Added.
4670         * test262/test/language/module-code/top-level-await/dfs-invariant-direct-1_FIXTURE.js: Added.
4671         * test262/test/language/module-code/top-level-await/dfs-invariant-direct-2_FIXTURE.js: Added.
4672         * test262/test/language/module-code/top-level-await/dfs-invariant-indirect_FIXTURE.js: Added.
4673         * test262/test/language/module-code/top-level-await/dfs-invariant.js: Added.
4674         * test262/test/language/statements/for-of/head-lhs-async-escaped.js: Added.
4675         * test262/test/language/statements/for-of/head-lhs-async-parens.js: Added.
4676         * test262/test262-Revision.txt:
4678 2021-07-08  Yusuke Suzuki  <ysuzuki@apple.com>
4680         [JSC] Update Intl.Locale test after AppleICU update
4681         https://bugs.webkit.org/show_bug.cgi?id=227788
4683         Reviewed by Keith Miller.
4685         This patch fixes Intl.Locale test since AppleICU fixes the ICU bug and starts producing the right results.
4687         * stress/intl-long-locale-id-maximize-minimize.js:
4688         (shouldBe):
4690 2021-07-07  Yusuke Suzuki  <ysuzuki@apple.com>
4692         [JSC] Fix Object.assign fast path to accept undefined/null
4693         https://bugs.webkit.org/show_bug.cgi?id=227769
4694         rdar://80264271
4696         Reviewed by Saam Barati.
4698         * stress/object-assign-undefined.js: Added.
4699         (test):
4701 2021-07-06  Commit Queue  <commit-queue@webkit.org>
4703         Unreviewed, reverting r279546, r279554, r279558 and r279567.
4704         https://bugs.webkit.org/show_bug.cgi?id=227732
4706         Speedometer/jQuery-TodoMVC 2-3% regression
4708         Reverted changesets:
4710         "[WebIDL] Rework runtime enabled properties leveraging
4711         PropertyCallback"
4712         https://bugs.webkit.org/show_bug.cgi?id=227275
4713         https://commits.webkit.org/r279546
4715         "[WebIDL] Generate constructor's hash table in
4716         GenerateConstructorHelperMethods"
4717         https://bugs.webkit.org/show_bug.cgi?id=227668
4718         https://commits.webkit.org/r279554
4720         "[WebIDL] Simplify generation of runtime conditionally read-
4721         write attributes"
4722         https://bugs.webkit.org/show_bug.cgi?id=227672
4723         https://commits.webkit.org/r279558
4725         "Use AbortSignal's [PrivateIdentifier] whenSignalAborted()
4726         static method"
4727         https://bugs.webkit.org/show_bug.cgi?id=227673
4728         https://commits.webkit.org/r279567
4730 2021-07-06  Saam Barati  <sbarati@apple.com>
4732         Run microbenchmarks/memcpy-typed-loop-small.js for fewer iterations to avoid timeouts
4733         https://bugs.webkit.org/show_bug.cgi?id=227717
4735         Reviewed by Robin Morisset.
4737         * microbenchmarks/memcpy-typed-loop-small.js:
4739 2021-07-05  Yusuke Suzuki  <ysuzuki@apple.com>
4741         [JSC] Optimize Object.assign and putDirectInternal
4742         https://bugs.webkit.org/show_bug.cgi?id=227677
4744         Reviewed by Filip Pizlo.
4746         * microbenchmarks/object-assign-replace.js: Added.
4747         (test):
4748         * microbenchmarks/object-assign-transition.js: Added.
4749         (test):
4751 2021-07-03  Alexey Shvayka  <shvaikalesh@gmail.com>
4753         [WebIDL] Rework runtime enabled properties leveraging PropertyCallback
4754         https://bugs.webkit.org/show_bug.cgi?id=227275
4756         Reviewed by Saam Barati.
4758         * stress/lazy-property-cross-realm.js: Added.
4759         * stress/lazy-property-get-cache.js: Added.
4760         * stress/lazy-property-gopd.js: Added.
4761         * stress/lazy-property-hasownproperty-cache.js: Added.
4762         * stress/lazy-property-put-cache.js: Added.
4764 2021-06-30  Saam Barati  <sbarati@apple.com>
4766         Turn off data ICs by default
4767         https://bugs.webkit.org/show_bug.cgi?id=227334
4768         <rdar://problem/79802812>
4770         Reviewed by Yusuke Suzuki.
4772         * microbenchmarks/deltablue-varargs.js:
4773         * microbenchmarks/richards-try-catch.js:
4775 2021-06-30  Yusuke Suzuki  <ysuzuki@apple.com>
4777         [JSC] Stop generating default parameter code if class constructor is called without 'new'
4778         https://bugs.webkit.org/show_bug.cgi?id=227547
4779         rdar://78821453
4781         Reviewed by Mark Lam.
4783         * stress/calling-non-callable-constructors.js: Added.
4784         (shouldThrow):
4786 2021-06-29  Yusuke Suzuki  <ysuzuki@apple.com>
4788         [JSC] Private names should be handled by usedVariables mechanism
4789         https://bugs.webkit.org/show_bug.cgi?id=227476
4790         rdar://76049469
4792         Reviewed by Saam Barati.
4794 2021-06-30  Mikhail R. Gadelha  <mikhail@igalia.com>
4796         Unskip interpreter-wasm.js on ARM and MIPS
4797         https://bugs.webkit.org/show_bug.cgi?id=227295
4799         Reviewed by Caio Araujo Neponoceno de Lima.
4801         Changed the testcase to be guarded by $vm.isWasmSupported(), so the
4802         test will be executed once wasm is available in the arch
4804         * microbenchmarks/interpreter-wasm.js:
4805         (key.in.Module.Module.hasOwnProperty): Deleted.
4806         (quit_): Deleted.
4807         (locateFile): Deleted.
4808         (ENVIRONMENT_IS_NODE.read_): Deleted.
4809         (ENVIRONMENT_IS_NODE.readBinary): Deleted.
4810         (ENVIRONMENT_IS_NODE.quit_): Deleted.
4811         (ENVIRONMENT_IS_NODE.Module.string_appeared_here): Deleted.
4812         (else.read_): Deleted.
4813         (else.readBinary): Deleted.
4814         (else.quit_): Deleted.
4815         (else): Deleted.
4816         (else.xhr.onload): Deleted.
4817         (else.readAsync): Deleted.
4818         (else.setWindowTitle): Deleted.
4819         (key.in.moduleOverrides.moduleOverrides.hasOwnProperty): Deleted.
4820         (dynamicAlloc): Deleted.
4821         (getNativeTypeSize): Deleted.
4822         (warnOnce): Deleted.
4823         (convertJsFunctionToWasm): Deleted.
4824         (addFunctionWasm): Deleted.
4825         (removeFunctionWasm): Deleted.
4826         (): Deleted.
4827         (setTempRet0): Deleted.
4828         (setValue): Deleted.
4829         (assert): Deleted.
4830         (getCFunc): Deleted.
4831         (toC.string_appeared_here): Deleted.
4832         (convertReturnValue): Deleted.
4833         (ccall): Deleted.
4834         (UTF8ArrayToString): Deleted.
4835         (UTF8ToString): Deleted.
4836         (stringToUTF8Array): Deleted.
4837         (stringToUTF8): Deleted.
4838         (lengthBytesUTF8): Deleted.
4839         (allocateUTF8OnStack): Deleted.
4840         (writeArrayToMemory): Deleted.
4841         (writeAsciiToMemory): Deleted.
4842         (updateGlobalBufferAndViews): Deleted.
4843         (callRuntimeCallbacks): Deleted.
4844         (preRun): Deleted.
4845         (initRuntime): Deleted.
4846         (preMain): Deleted.
4847         (exitRuntime): Deleted.
4848         (postRun): Deleted.
4849         (addOnPreRun): Deleted.
4850         (addOnPostRun): Deleted.
4851         (addRunDependency): Deleted.
4852         (removeRunDependency): Deleted.
4853         (hasPrefix): Deleted.
4854         (isDataURI): Deleted.
4855         (isFileURI): Deleted.
4856         (getBinary): Deleted.
4857         (getBinaryPromise): Deleted.
4858         (createWasm.receiveInstance): Deleted.
4859         (createWasm.receiveInstantiatedSource): Deleted.
4860         (createWasm.instantiateArrayBuffer): Deleted.
4861         (createWasm.instantiateAsync.): Deleted.
4862         (createWasm.instantiateAsync): Deleted.
4863         (createWasm): Deleted.
4864         (__ATINIT__.push.func): Deleted.
4865         (demangle): Deleted.
4866         (demangleAll): Deleted.
4867         (_emscripten_get_sbrk_ptr): Deleted.
4868         (_emscripten_memcpy_big): Deleted.
4869         (abortOnCannotGrowMemory): Deleted.
4870         (_emscripten_resize_heap): Deleted.
4871         (PATH.splitPath): Deleted.
4872         (PATH.normalizeArray): Deleted.
4873         (PATH.normalize): Deleted.
4874         (PATH.dirname): Deleted.
4875         (PATH.basename): Deleted.
4876         (PATH.extname): Deleted.
4877         (PATH.join): Deleted.
4878         (PATH.join2): Deleted.
4879         (SYSCALLS.printChar): Deleted.
4880         (SYSCALLS.getStr): Deleted.
4881         (SYSCALLS.get64): Deleted.
4882         (_fd_write): Deleted.
4883         (_setTempRet0): Deleted.
4884         (___wasm_call_ctors.Module.string_appeared_here): Deleted.
4885         (_main.Module.string_appeared_here): Deleted.
4886         (_malloc.Module.string_appeared_here): Deleted.
4887         (___errno_location.Module.string_appeared_here): Deleted.
4888         (_free.Module.string_appeared_here): Deleted.
4889         (stackSave.Module.string_appeared_here): Deleted.
4890         (stackAlloc.Module.string_appeared_here): Deleted.
4891         (stackRestore.Module.string_appeared_here): Deleted.
4892         (__growWasmMemory.Module.string_appeared_here): Deleted.
4893         (dynCall_ii.Module.string_appeared_here): Deleted.
4894         (dynCall_iiii.Module.string_appeared_here): Deleted.
4895         (dynCall_jiji.Module.string_appeared_here): Deleted.
4896         (ExitStatus): Deleted.
4897         (dependenciesFulfilled): Deleted.
4898         (callMain): Deleted.
4899         (run.doRun): Deleted.
4900         (run): Deleted.
4901         (exit): Deleted.
4903 2021-06-25  Guillaume Emont  <guijemont@igalia.com>
4905         Unskip stress/call-apply-exponential-bytecode-size.js on most platforms
4906         https://bugs.webkit.org/show_bug.cgi?id=227354
4908         Reviewed by Yusuke Suzuki.
4910         Instead of skipping, we increase the JIT memory size for this test on
4911         platforms that have less than 64 MB by default.
4913         * stress/call-apply-exponential-bytecode-size.js:
4915 2021-06-25  Mikhail R. Gadelha  <mikhail@igalia.com>
4917         Unskip structure-storedPrototype-should-only-assert-on-the-mutator-thread.js on arm and mips
4918         https://bugs.webkit.org/show_bug.cgi?id=227222
4920         Tested with 50 iterations in both arm and mips.
4922         Unreviewed Gardening.
4924         * stress/structure-storedPrototype-should-only-assert-on-the-mutator-thread.js:
4926 2021-06-25  Paulo Matos  <pmatos@igalia.com>
4928         Unskip materialized-regexp-has-correct-last-index-set-by-match on arm and mips
4929         https://bugs.webkit.org/show_bug.cgi?id=227213
4931         Unreviewed Gardening.
4933         * stress/materialized-regexp-has-correct-last-index-set-by-match.js:
4935 2021-06-25  Mikhail R. Gadelha  <mikhail@igalia.com>
4937         Unskip materialize-regexp-cyclic-regexp.js on ARM and MIPS
4938         https://bugs.webkit.org/show_bug.cgi?id=227223
4940         Tested with 50 iterations in both arm and mips.
4942         Unreviewed Gardening.
4944         * stress/materialize-regexp-cyclic-regexp.js:
4946 2021-06-24  Asumu Takikawa  <asumu@igalia.com>
4948         [WASM-Function-References] Add support for (ref null? $t) type constructor
4949         https://bugs.webkit.org/show_bug.cgi?id=226296
4951         Adds additional tests for uses of `(ref $t)` and `(ref null $t)`
4952         types, including with non-null extern/funcrefs.
4954         Reviewed by Yusuke Suzuki.
4956         * wasm/function-references/ref_types.js: Added.
4957         (module):
4958         (async testRefTypeLocal):
4959         (async testNonNullRefTypeLocal):
4960         (async testRefTypeInSignature):
4961         (async testRefTypeParamCheck):
4962         (async testRefGlobalCheck):
4963         (async testExternFuncrefNonNullCheck):
4964         (async testExternrefCompatibility):
4965         (async testNonNullExternrefIncompatible):
4966         (async testFuncrefCompatibility):
4967         (async testNonNullFuncrefIncompatible):
4968         * wasm/wasm.json:
4970 2021-06-24  Guillaume Emont  <guijemont@igalia.com>
4972         Improve our checking of NaN values in DataView tests
4973         https://bugs.webkit.org/show_bug.cgi?id=227347
4975         Reviewed by Yusuke Suzuki.
4977         This allows the merging of dataview-jit-set-nan.js and
4978         dataview-jit-set.js.
4980         * stress/dataview-jit-set-nan.js: Removed.
4981         * stress/dataview-jit-set.js:
4982         (test5):
4983         (test6):
4985 2021-06-24  Mikhail R. Gadelha  <mikhail@igalia.com>
4987         Unskip arguments-properties-order.js on MIPS 
4988         https://bugs.webkit.org/show_bug.cgi?id=227254
4990         No failures after 50 iterations. Also tested on Loongson 3A4000 (in 32-bits mode).
4992         Unreviewed Gardening.
4994         * stress/arguments-properties-order.js:
4996 2021-06-24  Xan Lopez  <xan@igalia.com>
4998         [JSC] Implement returnEarlyFromInfiniteLoopsForFuzzing for 32bits
4999         https://bugs.webkit.org/show_bug.cgi?id=227290
5001         Reviewed by Mark Lam.
5003         Now that we can return early from infinite (actual or just
5004         extremely long running) loops on 32bits, we can pass these tests.
5006         * stress/construct-return-early-from-infinite-loop-for-fuzzer.js: unskip for 32bits.
5007         * stress/early-return-from-builtin2.js: ditto.
5008         * stress/validate-does-gc-with-return-early-from-infinite-loop-2.js: ditto.
5009         * stress/validate-does-gc-with-return-early-from-infinite-loop.js: ditto.
5011 2021-06-23  Saam Barati  <sbarati@apple.com>
5013         Bound stress/put-by-id-flags with a fixed number of iterations
5014         https://bugs.webkit.org/show_bug.cgi?id=227305
5016         Reviewed by Mark Lam.
5018         * stress/put-by-id-flags.js:
5019         (numberOfDFGCompiles): Deleted.
5021 2021-06-23  Saam Barati  <sbarati@apple.com>
5023         Run typedarray-intrinsic-getters-change-prototype for a fixed set of iterations
5024         https://bugs.webkit.org/show_bug.cgi?id=227304
5026         Reviewed by Mark Lam.
5028         * stress/typedarray-intrinsic-getters-change-prototype.js:
5029         (body):
5031 2021-06-22  Saam Barati  <sbarati@apple.com>
5033         Don't assume stress/out-of-memory-while-constructing-BytecodeGenerator.js will OOM
5034         https://bugs.webkit.org/show_bug.cgi?id=227263
5036         Reviewed by Yusuke Suzuki.
5038         * stress/out-of-memory-while-constructing-BytecodeGenerator.js:
5040 2021-06-22  Saam Barati  <sbarati@apple.com>
5042         Run detach-buffer-during-iteration for fewer iterations
5043         https://bugs.webkit.org/show_bug.cgi?id=227262
5045         Reviewed by Yusuke Suzuki.
5047         * stress/detach-buffer-during-iteration.js:
5049 2021-06-22  Saam Barati  <sbarati@apple.com>
5051         Run microbenchmarks/interpreter-wasm under runDefault only
5052         https://bugs.webkit.org/show_bug.cgi?id=227261
5054         Reviewed by Robin Morisset.
5056         * microbenchmarks/interpreter-wasm.js:
5058 2021-06-22  Saam Barati  <sbarati@apple.com>
5060         jitCompileAndSetHeuristics shouldn't return true when we fail to compile
5061         https://bugs.webkit.org/show_bug.cgi?id=227155
5063         Reviewed by Tadeu Zagallo.
5065         * microbenchmarks/interpreter-wasm.js:
5066         * microbenchmarks/memcpy-wasm-large.js:
5067         * microbenchmarks/memcpy-wasm-medium.js:
5068         * microbenchmarks/memcpy-wasm-small.js:
5069         * microbenchmarks/memcpy-wasm.js:
5070         * stress/wasm-error-message-cross-threads.js:
5072 2021-06-22  Angelos Oikonomopoulos  <angelos@igalia.com>
5074         Unskip stress/elidable-new-object-roflcopter-then-exit.js on MIPS/ARM
5075         https://bugs.webkit.org/show_bug.cgi?id=227251
5077         Unreviewed gardening.
5079         No failures on either platform after 100 iterations.
5081         * stress/elidable-new-object-roflcopter-then-exit.js:
5083 2021-06-22  Angelos Oikonomopoulos  <angelos@igalia.com>
5085         Unskip microbenchmarks/redefine-property-data-dictionary.js on MIPS/ARM
5086         https://bugs.webkit.org/show_bug.cgi?id=227252
5088         Unreviewed gardening.
5090         No failures on either platform after 100 iterations.
5092         * microbenchmarks/redefine-property-data-dictionary.js:
5094 2021-06-22  Angelos Oikonomopoulos  <angelos@igalia.com>
5096         Unskip stress/array-species-create-should-handle-masquerader.js on mips
5097         https://bugs.webkit.org/show_bug.cgi?id=227249
5099         Unreviewed gardening.
5101         No failure after 60 iterations.
5103         * stress/array-species-create-should-handle-masquerader.js:
5105 2021-06-21  Ross Kirsling  <ross.kirsling@sony.com>
5107         [JSC] Add JIT ICs for `#x in obj` feature
5108         https://bugs.webkit.org/show_bug.cgi?id=226146
5110         Reviewed by Saam Barati.
5112         * microbenchmarks/has-private-brand.js: Added.
5113         * microbenchmarks/has-private-name.js: Added.
5115 2021-06-21  Xan Lopez  <xan@igalia.com>
5117         [JSC] Fix consistency check during stack splitting in Wasm::LLIntGenerator::addLoop
5118         https://bugs.webkit.org/show_bug.cgi?id=226012
5120         Reviewed by Tadeu Zagallo.
5122         * stress/wasm-loop-consistency.js: Added.
5123         (vm.isWasmSupported):
5125 2021-06-21  Yusuke Suzuki  <ysuzuki@apple.com>
5127         Release assert memory in JSC::Wasm::Memory::growShared(JSC::Wasm::PageCount)::<lambda()>
5128         https://bugs.webkit.org/show_bug.cgi?id=227180
5130         Reviewed by Keith Miller.
5132         * stress/shared-wasm-memory-with-zero-byte.js: Added.
5134 2021-06-21  Xan Lopez  <xan@igalia.com>
5136         [JSC] Reenable ChakraCore/test/Math/max.js on ARMv7 and MIPS
5137         https://bugs.webkit.org/show_bug.cgi?id=227209
5139         Reviewed by Adrian Perez de Castro.
5141         * ChakraCore.yaml: reenable the test, should be working fine now.
5143 2021-06-20  Yusuke Suzuki  <ysuzuki@apple.com>
5145         [JSC] Add ValueOf fast path in toPrimitive
5146         https://bugs.webkit.org/show_bug.cgi?id=226948
5148         Reviewed by Ross Kirsling.
5150         * microbenchmarks/valueof-via-toprimitive.js: Added.
5152 2021-06-17  Saam Barati  <sbarati@apple.com>
5154         Make microbenchmarks/delete-property-from-prototype-chain not time out on debug builds
5155         https://bugs.webkit.org/show_bug.cgi?id=227148
5157         Reviewed by Mark Lam.
5159         * microbenchmarks/delete-property-from-prototype-chain.js:
5161 2021-06-16  Tadeu Zagallo  <tzagallo@apple.com>
5163         AssemblyHelpers should save/restore callee save FPRs
5164         https://bugs.webkit.org/show_bug.cgi?id=227052
5165         <rdar://77080162>
5167         Reviewed by Mark Lam.
5169         * stress/callee-save-fpr.js: Added.
5170         (_f):
5171         (_g):
5172         (_h):
5173         (_i):
5174         (assertEqual):
5176 2021-06-15  Yusuke Suzuki  <ysuzuki@apple.com>
5178         [JSC] Optimize JSON.parse with small content by dropping single character Identifier pool
5179         https://bugs.webkit.org/show_bug.cgi?id=227057
5181         Reviewed by Sam Weinig.
5183         * microbenchmarks/flight-todomvc-json.js: Added.
5184         (test):
5186 2021-06-14  Yusuke Suzuki  <ysuzuki@apple.com>
5188         [JSC] Workaround ICU uloc_addLikelySubtags / uloc_minimizeSubtags bugs
5189         https://bugs.webkit.org/show_bug.cgi?id=226996
5190         rdar://79250513
5192         Reviewed by Ross Kirsling.
5194         * stress/intl-long-locale-id-maximize-minimize.js: Added.
5195         (shouldBe):
5196         (throw.new.Error):
5198 2021-06-13  Saam Barati  <sbarati@apple.com>
5200         https://bugs.webkit.org/show_bug.cgi?id=226576
5201         <rdar://problem/78810362>
5203         Reviewed by Yusuke Suzuki.
5205         * stress/short-circuit-read-modify-write-cant-write-dst-before-tdz-check.js: Added.
5206         (let.result.eval.try.captureV):
5207         (catch):
5209 2021-06-06  Yusuke Suzuki  <ysuzuki@apple.com>
5211         [JSC] Use ResolvedClosureVar to get brand from scope
5212         https://bugs.webkit.org/show_bug.cgi?id=226677
5213         rdar://78802869
5215         Reviewed by Saam Barati.
5217         * stress/private-access-nested-eval.js: Added.
5218         (shouldThrow):
5219         (shouldThrow.prototype.x):
5220         (shouldThrow.prototype.m.C.prototype.z):
5221         (shouldThrow.prototype.m.C.prototype.a):
5222         (shouldThrow.prototype.m.C):
5223         (shouldThrow.prototype.m):
5224         * stress/private-access-nested.js: Added.
5225         (shouldThrow):
5226         (shouldThrow.prototype.x):
5227         (shouldThrow.prototype.m.C.prototype.z):
5228         (shouldThrow.prototype.m.C.prototype.a):
5229         (shouldThrow.prototype.m.C):
5230         (shouldThrow.prototype.m):
5232 2021-06-07  Alexey Shvayka  <shvaikalesh@gmail.com>
5234         Unreviewed, reland r276592 with a fix for put() override in prototype chain of a JSProxy
5235         https://bugs.webkit.org/show_bug.cgi?id=226185
5237         * microbenchmarks/put-slow-no-cache-array.js: Added.
5238         * microbenchmarks/put-slow-no-cache-function.js: Added.
5239         * microbenchmarks/put-slow-no-cache-js-proxy.js: Added.
5240         * microbenchmarks/put-slow-no-cache-long-prototype-chain.js: Added.
5241         * microbenchmarks/put-slow-no-cache.js: Added.
5242         * microbenchmarks/reflect-set-with-receiver.js: Added.
5243         * stress/custom-get-set-proto-chain-put.js:
5244         * stress/module-namespace-access-set-fails.js: Added.
5245         * stress/put-non-reified-static-accessor-or-custom.js: Added.
5246         * stress/put-non-reified-static-function-or-custom.js: Added.
5247         * stress/put-to-primitive-non-reified-static-custom.js: Added.
5248         * stress/put-to-primitive.js: Added.
5249         * stress/put-to-proto-chain-overrides-put.js:
5250         Rework to always test new objects, add JSProxy coverage, and assert that receiver has own property.
5252         * stress/typed-array-canonical-numeric-index-string-set.js: Added.
5254 2021-06-07  Saam Barati  <sbarati@apple.com>
5256         Short circuit read modify write nodes emit byte code that uses the wrong locals
5257         https://bugs.webkit.org/show_bug.cgi?id=226576
5258         <rdar://problem/78810362>
5260         Reviewed by Yusuke Suzuki.
5262         * stress/short-circuit-read-modify-should-use-the-write-virtual-registers.js: Added.
5263         (eval):
5265 2021-06-07  Robin Morisset  <rmorisset@apple.com>
5267         Optimize compareStrictEq when neither side is a double and at least one is neither a string nor a BigInt
5268         https://bugs.webkit.org/show_bug.cgi?id=226676
5270         Reviewed by Filip Pizlo.
5272         I made two variants of the already existing poly-stricteq microbenchmarks with different types in the array.
5273         I also tweaked all three so that we more reliably reach the FTL.
5274         Finally I added a stress-test to verify that I did not introduce an OSR exit bug.
5276         * microbenchmarks/poly-stricteq-not-double-nor-string.js: Added.
5277         (foo):
5278         (test):
5279         * microbenchmarks/poly-stricteq-not-double.js: Added.
5280         (foo):
5281         (test):
5282         * microbenchmarks/poly-stricteq.js:
5283         (foo):
5284         (test):
5285         * stress/poly-stricteq-not-double-nor-string-fail.js: Added.
5286         (foo):
5287         (test):
5289 2021-06-04  Yusuke Suzuki  <ysuzuki@apple.com>
5291         [JSC] Private static method should define privateClassBrandIdentifier in class-scope
5292         https://bugs.webkit.org/show_bug.cgi?id=226656
5293         rdar://78313139
5295         Reviewed by Keith Miller.
5297         * stress/private-in-error.js: Added.
5298         (shouldThrow):
5299         (x):
5300         (prototype.foo):
5301         * stress/private-static-method-declaration-error.js: Added.
5302         (shouldThrow):
5303         (prototype.get x):
5304         (prototype.foo.D.a):
5305         (prototype.foo.D.prototype.b):
5306         (prototype.foo.D):
5307         (prototype.foo):
5309 2021-06-04  Mark Lam  <mark.lam@apple.com>
5311         Placate exception checker validation in objectPrototypeHasOwnProperty.
5312         https://bugs.webkit.org/show_bug.cgi?id=226651
5313         rdar://78861296
5315         Reviewed by Keith Miller.
5317         * stress/placate-exception-checker-in-objectPrototypeHasOwnProperty.js: Added.
5319 2021-06-03  Filip Pizlo  <fpizlo@apple.com>
5321         DFG should speculate on CompareStrictEq(@x, @x)
5322         https://bugs.webkit.org/show_bug.cgi?id=226621
5324         Reviewed by Mark Lam.
5326         * microbenchmarks/untyped-stricteq-self.js: Added.
5327         (foo):
5328         * stress/untyped-stricteq-self-fail.js: Added.
5329         (bar):
5330         (foo):
5332 2021-06-04  Keith Miller  <keith_miller@apple.com>
5334         Fix tests that fail under executable allocation fuzzing
5335         https://bugs.webkit.org/show_bug.cgi?id=226593
5337         Reviewed by Mark Lam.
5339         * microbenchmarks/memcpy-wasm-large.js:
5340         (typeof.WebAssembly.string_appeared_here.try.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array):
5341         (typeof.WebAssembly.string_appeared_here.catch):
5342         (typeof.WebAssembly.string_appeared_here.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array): Deleted.
5343         * microbenchmarks/memcpy-wasm-medium.js:
5344         (typeof.WebAssembly.string_appeared_here.try.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array):
5345         (typeof.WebAssembly.string_appeared_here.catch):
5346         (typeof.WebAssembly.string_appeared_here.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array): Deleted.
5347         * microbenchmarks/memcpy-wasm-small.js:
5348         (typeof.WebAssembly.string_appeared_here.try.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array):
5349         (typeof.WebAssembly.string_appeared_here.catch):
5350         (typeof.WebAssembly.string_appeared_here.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array): Deleted.
5351         * microbenchmarks/memcpy-wasm.js:
5352         (typeof.WebAssembly.string_appeared_here.try.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array):
5353         (typeof.WebAssembly.string_appeared_here.catch):
5354         (typeof.WebAssembly.string_appeared_here.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array): Deleted.
5355         * stress/bit-op-with-object-returning-int32.js:
5356         (numberOfDFGCompiles):
5357         (bitOr): Deleted.
5358         (bitXor): Deleted.
5359         (bitNot): Deleted.
5360         (bitLShift): Deleted.
5361         * stress/bitwise-not-fixup-rules.js:
5362         (numberOfDFGCompiles):
5363         (let.o.valueOf): Deleted.
5365 2021-06-04  Tadeu Zagallo  <tzagallo@apple.com>
5367         Optimize Function.prototype.toString
5368         https://bugs.webkit.org/show_bug.cgi?id=226418
5369         <rdar://77861846>
5371         Reviewed by Saam Barati.
5373         * microbenchmarks/function-to-string.js: Added.
5374         (f):
5375         (C):
5376         (C.prototype.method1):
5377         (C.prototype.method2):
5378         (test):
5379         (test2):
5381 2021-06-03  Ross Kirsling  <ross.kirsling@sony.com>
5383         [JSC] Implement JIT ICs for InByVal
5384         https://bugs.webkit.org/show_bug.cgi?id=226563
5386         Reviewed by Saam Barati.
5388         * microbenchmarks/in-by-val-int32.js: Added.
5389         * microbenchmarks/in-by-val-string-index.js: Added.
5390         * microbenchmarks/in-by-val-symbol.js: Added.
5392 2021-06-03  Mark Lam  <mark.lam@apple.com>
5394         Fix an ASSERT in objectPrototypeHasOwnProperty() to account for TerminationException.
5395         https://bugs.webkit.org/show_bug.cgi?id=226609
5396         rdar://78465046
5398         Reviewed by Robin Morisset.
5400         * stress/termination-exception-in-objectPrototypeHasOwnProperty.js: Added.
5402 2021-06-03  Yusuke Suzuki  <ysuzuki@apple.com>
5404         [JSC] Make $vm's accessor test functions robust against primitive |this|
5405         https://bugs.webkit.org/show_bug.cgi?id=226591
5407         Reviewed by Saam Barati.
5409         * stress/test-static-accessor-on-primitive.js: Added.
5410         (shouldThrow):
5412 2021-05-28  Robin Morisset  <rmorisset@apple.com>
5414         Fix LikelyDenseUnsignedIntegerSet::clear()
5415         https://bugs.webkit.org/show_bug.cgi?id=226388
5416         rdar://78607433
5418         Reviewed by Mark Lam.
5420         * stress/stack-allocation-regression.js: Added.
5421         (foo):
5423 2021-05-28  Saam Barati  <sbarati@apple.com>
5425         Don't sink arguments past the context of the inline call frame they were created in
5426         https://bugs.webkit.org/show_bug.cgi?id=226363
5427         <rdar://78392801>
5429         Reviewed by Filip Pizlo.
5431         * stress/dont-sink-arguments-past-inline-call-frame.js: Added.
5432         (foo):
5433         (fooWrap):
5434         (empty):
5435         (bar):
5437 2021-05-22  Ross Kirsling  <ross.kirsling@sony.com>
5439         Support Ergonomic Brand Checks proposal (`#x in obj`)
5440         https://bugs.webkit.org/show_bug.cgi?id=221093
5442         Reviewed by Caio Araujo Neponoceno de Lima.
5444         * stress/private-in.js: Added.
5445         * test262/config.yaml: Add feature flag.
5447 2021-05-21  Angelos Oikonomopoulos  <angelos@igalia.com>
5449         Unskip type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value on MIPS
5450         https://bugs.webkit.org/show_bug.cgi?id=226011
5452         Unreviewed gardening.
5454         Appears to no longer be flaky.
5456         * stress/type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value.js:
5458 2021-05-20  Saam Barati  <sbarati@apple.com>
5460         [ Catalina Release JSC] A large number of JSC test appear to be flaky failing
5461         https://bugs.webkit.org/show_bug.cgi?id=225998
5462         <rdar://problem/78235001>
5464         Reviewed by Yusuke Suzuki.
5466         * stress/dont-link-virtual-calls-on-compiler-thread.js: Added.
5468 2021-05-19  Robin Morisset  <rmorisset@apple.com>
5470         Fix typo in AirUseCounts
5471         https://bugs.webkit.org/show_bug.cgi?id=225977
5472         rdar://78210501
5474         Reviewed by Mark Lam.
5476         Add the testcase found by Tuomas.
5478         * stress/register-allocator-stress.js: Added.
5479         (foo):
5481 2021-05-18  Keith Miller  <keith_miller@apple.com>
5483         Temporarily revert r276592 as it breaks some native apps
5484         https://bugs.webkit.org/show_bug.cgi?id=225917
5486         Unreviewed, revert.
5488         * microbenchmarks/put-slow-no-cache-array.js: Removed.
5489         * microbenchmarks/put-slow-no-cache-function.js: Removed.
5490         * microbenchmarks/put-slow-no-cache-js-proxy.js: Removed.
5491         * microbenchmarks/put-slow-no-cache-long-prototype-chain.js: Removed.
5492         * microbenchmarks/put-slow-no-cache.js: Removed.
5493         * microbenchmarks/reflect-set-with-receiver.js: Removed.
5494         * stress/custom-get-set-proto-chain-put.js:
5495         (getObjects):
5496         (let.base.of.getBases):
5497         * stress/module-namespace-access-set-fails.js: Removed.
5498         * stress/put-non-reified-static-accessor-or-custom.js: Removed.
5499         * stress/put-non-reified-static-function-or-custom.js: Removed.
5500         * stress/put-to-primitive-non-reified-static-custom.js: Removed.
5501         * stress/put-to-primitive.js: Removed.
5502         * stress/put-to-proto-chain-overrides-put.js: Removed.
5503         * stress/typed-array-canonical-numeric-index-string-set.js: Removed.
5505 2021-05-17  Alexey Shvayka  <shvaikalesh@gmail.com>
5507         REGRESSION (r271119): Object methods defined with shorthand notation cannot access "caller" in non-strict mode
5508         https://bugs.webkit.org/show_bug.cgi?id=225277
5510         Reviewed by Darin Adler.
5512         * stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js: Now covers #157461 and #157863. 
5513         * stress/function-caller-cross-realm-via-call-apply.js: Added, coverage for #34553.
5514         * stress/function-hidden-as-caller.js: Also adds test case for #102276.
5516 2021-05-16  Saam Barati  <sbarati@apple.com>
5518         DFGVarargsForwardingPhase shouldn't consult Flush
5519         https://bugs.webkit.org/show_bug.cgi?id=225824
5521         Reviewed by Filip Pizlo and Yusuke Suzuki.
5523         * microbenchmarks/tail-call-forward-arguments-arguments-elimination.js: Added.
5525 2021-05-15  Alexey Shvayka  <shvaikalesh@gmail.com>
5527         Turn callGetter() / callSetter() into instance methods
5528         https://bugs.webkit.org/show_bug.cgi?id=225831
5530         Reviewed by Ross Kirsling.
5532         * microbenchmarks/put-slow-no-cache-setter.js: Added.
5534 2021-05-07  Ross Kirsling  <ross.kirsling@sony.com>
5536         [JSC] Error#cause must recognize explicit undefined
5537         https://bugs.webkit.org/show_bug.cgi?id=225535
5539         Reviewed by Alexey Shvayka.
5541         * test262/config.yaml:
5542         Re-enable tests for this feature; they were all failing due to this quirk.
5544 2021-05-07  Ross Kirsling  <ross.kirsling@sony.com>
5546         Update test262 (2021.05.07)
5547         https://bugs.webkit.org/show_bug.cgi?id=225536
5549         Reviewed by Alexey Shvayka.
5551         * test262/config.yaml:
5552         * test262/expectations.yaml:
5553         * test262/latest-changes-summary.txt:
5554         * test262/test/:
5555         * test262/test262-Revision.txt:
5557 2021-05-06  Mark Lam  <mark.lam@apple.com>
5559         Forbid further execution in jsc shell if execution is terminated.
5560         https://bugs.webkit.org/show_bug.cgi?id=225410
5561         rdar://77548608
5563         Reviewed by Michael Saboff.
5565         * stress/jsc-shell-forbid-execution-after-termination.js: Added.
5567 2021-05-05  Saam Barati  <sbarati@apple.com>
5569         Update tests to use collectExtraSamplingProfilerData instead of collectSamplingProfilerDataForJSCShell
5570         https://bugs.webkit.org/show_bug.cgi?id=225398
5572         Reviewed by Mark Lam.
5574         I forgot to update the tests to use the new option name.
5576         * stress/sampling-profiler-code-origin.js:
5577         * stress/sampling-profiler-richards.js:
5579 2021-05-03  Mark Lam  <mark.lam@apple.com>
5581         Fix syntax error message for AUTOPLUSPLUS token.
5582         https://bugs.webkit.org/show_bug.cgi?id=225308
5583         rdar://76830934
5585         Reviewed by Saam Barati.
5587         * stress/prefix-plusplus-syntax-error-should-say-plusplus.js: Added.
5589 2021-05-03  Dmitry Bezhetskov  <dbezhetskov@igalia.com>
5591         [WASM-Function-References] Add call_ref instruction
5592         https://bugs.webkit.org/show_bug.cgi?id=222903
5594         Reviewed by Yusuke Suzuki.
5596         Add basic tests for new call_ref instruction:
5597         https://github.com/WebAssembly/function-references/blob/master/proposals/function-references/Overview.md.
5598         Add tests for calling same-instance wasm function, foreign-instance
5599         wasm function and for calling imported js function.
5601         * wasm.yaml:
5602         * wasm/function-references/call_ref.js: Added.
5603         (module):
5604         (async basics):
5605         (async indirectCall):
5606         (async importHostCall):
5607         * wasm/wasm.json:
5609 2021-04-28  Mark Lam  <mark.lam@apple.com>
5611         Fix exception assertions in light of the TerminationException.
5612         https://bugs.webkit.org/show_bug.cgi?id=225128
5613         rdar://76694909
5615         Reviewed by Robin Morisset.
5617         * stress/suppress-TerminationException-in-JSFunction-prototypeForConstruction.js: Added.
5619 2021-04-27  Angelos Oikonomopoulos  <angelos@igalia.com>
5621         [JSC] Skip tests failing on Loongson 3A4000
5622         https://bugs.webkit.org/show_bug.cgi?id=225091
5624         Reviewed by Yusuke Suzuki.
5626         This new hardware is much faster when it comes to running JSC tests (and
5627         hopefully more reliable than the ci20 boards currently in use), so skip the
5628         couple of tests that fail, so that we can test the Loongson box in production.
5630         * ChakraCore.yaml:
5631         * stress/arguments-properties-order.js:
5633 2021-04-26  Mark Lam  <mark.lam@apple.com>
5635         %TypedArray%.prototype.sort() should not use a regular array as a temp buffer.
5636         https://bugs.webkit.org/show_bug.cgi?id=225062
5637         rdar://77021547
5639         Reviewed by Yusuke Suzuki.
5641         * stress/typedarray-sort-should-not-use-a-regular-array-as-temp-buffer.js: Added.
5643 2021-04-26  Alexey Shvayka  <shvaikalesh@gmail.com>
5645         [JSC] OrdinarySet should invoke custom [[Set]] methods
5646         https://bugs.webkit.org/show_bug.cgi?id=217916
5648         Reviewed by Yusuke Suzuki.
5650         * microbenchmarks/put-slow-no-cache-array.js: Added.
5651         * microbenchmarks/put-slow-no-cache-function.js: Added.
5652         * microbenchmarks/put-slow-no-cache-js-proxy.js: Added.
5653         * microbenchmarks/put-slow-no-cache-long-prototype-chain.js: Added.
5654         * microbenchmarks/put-slow-no-cache.js: Added.
5655         * microbenchmarks/reflect-set-with-receiver.js: Added.
5656         * stress/custom-get-set-proto-chain-put.js:
5657         * stress/module-namespace-access-set-fails.js: Added.
5658         * stress/put-non-reified-static-accessor-or-custom.js: Added.
5659         * stress/put-non-reified-static-function-or-custom.js: Added.
5660         * stress/put-to-primitive-non-reified-static-custom.js: Added.
5661         * stress/put-to-primitive.js: Added.
5662         * stress/put-to-proto-chain-overrides-put.js: Added.
5663         * stress/typed-array-canonical-numeric-index-string-set.js: Added.
5665 2021-04-22  Yusuke Suzuki  <ysuzuki@apple.com>
5667         [JSC] Baseline should have fast path for switch_imm
5668         https://bugs.webkit.org/show_bug.cgi?id=224521
5670         Reviewed by Tadeu Zagallo.
5672         * stress/switch-imm-baseline.js: Added.
5673         (shouldBe):
5674         (test):
5676 2021-04-21  Yusuke Suzuki  <ysuzuki@apple.com>
5678         [JSC] DFG / FTL should inline switch_string
5679         https://bugs.webkit.org/show_bug.cgi?id=224578
5681         Reviewed by Mark Lam.
5683         * microbenchmarks/switch-inlining.js: Added.
5684         (inner):
5685         (outer):
5686         * stress/switch-inlining-nested.js: Added.
5687         (shouldBe):
5688         (inner):
5689         (outer):
5691 2021-04-21  Caio Lima  <ticaiolima@gmail.com>
5693         [JSC] Unskip some tests for ARMv7 and MIPS
5694         https://bugs.webkit.org/show_bug.cgi?id=224813
5696         Unreviewed test gardening.
5698         * stress/has-own-property-name-cache-symbols-and-strings.js:
5699         * stress/incremental-marking-should-not-dead-lock-in-new-property-transition.js:
5701 2021-04-20  Paulo Matos  <pmatos@igalia.com>
5703         Unskip couple of tests for armv7l and mips
5704         https://bugs.webkit.org/show_bug.cgi?id=224607
5706         Unreviewed gardening.
5708         * stress/check-stack-overflow-before-value-profiling-arguments.js:
5709         (fullGC):
5710         * stress/intl-suppored-locales-of.js:
5712 2021-04-20  Yusuke Suzuki  <ysuzuki@apple.com>
5714         [JSC] Limit memory allocation size of JSTests/stress/early-return-from-builtin.js
5715         https://bugs.webkit.org/show_bug.cgi?id=224803
5716         <rdar://problem/75597901>
5718         Reviewed by Ryosuke Niwa.
5720         Add limit to JSTests/stress/early-return-from-builtin.js to avoid infinite allocation.
5722         * stress/early-return-from-builtin.js:
5723         (let.iter.Symbol.iterator):
5725 2021-04-19  Yusuke Suzuki  <ysuzuki@apple.com>
5727         [JSC] Rebaseline test results for new ICU
5728         https://bugs.webkit.org/show_bug.cgi?id=224792
5730         Reviewed by Mark Lam.
5732         This patch updates some intl- tests' expectation since it is changed because of ICU CLDR data change.
5734         * stress/intl-datetimeformat-formatrange-relevant-extensions-ja.js:
5735         (shouldBeOneOfThem):
5736         (vm.icuVersion):
5737         * stress/intl-datetimeformat-formatrange-relevant-extensions.js:
5738         (shouldBeOneOfThem):
5739         * stress/intl-datetimeformat-formatrange-should-not-handle-gregorian-change-date.js:
5740         (shouldBe):
5741         (vm.icuHeaderVersion):
5742         * stress/intl-datetimeformat-formatrangetoparts-relevant-extensions-ja.js:
5743         (normalize):
5744         (shouldBe):
5745         (compareParts):
5746         (shouldBeOneOfParts):
5747         (shouldBeParts):
5748         (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeOneOfParts.fmt5.formatRangeToParts):
5749         (Intl.DateTimeFormat.prototype.formatRangeToParts.vm.icuVersion):
5750         (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeOneOfParts.fmt7.formatRangeToParts):
5751         (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeOneOfParts.fmt9.formatRangeToParts):
5752         (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeOneOfParts.fmt11.formatRangeToParts):
5753         (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeOneOfParts.fmt13.formatRangeToParts):
5754         (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeParts.fmt13.formatRangeToParts):
5755         (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeOneOfParts.fmt14.formatRangeToParts):
5756         (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeOneOfParts.fmt15.formatRangeToParts):
5757         (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeOneOfParts.fmt16.formatRangeToParts):
5758         (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt1.formatRangeToParts): Deleted.
5759         (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt2.formatRangeToParts): Deleted.
5760         (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt3.formatRangeToParts): Deleted.
5761         (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt4.formatRangeToParts): Deleted.
5762         (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt5.formatRangeToParts): Deleted.
5763         (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt6.formatRangeToParts): Deleted.
5764         (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt7.formatRangeToParts): Deleted.
5765         (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt8.formatRangeToParts): Deleted.
5766         (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt9.formatRangeToParts): Deleted.
5767         (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt10.formatRangeToParts): Deleted.
5768         (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt11.formatRangeToParts): Deleted.
5769         (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt12.formatRangeToParts): Deleted.
5770         (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt13.formatRangeToParts): Deleted.
5771         (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt14.formatRangeToParts): Deleted.
5772         (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt15.formatRangeToParts): Deleted.
5773         (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt16.formatRangeToParts): Deleted.
5774         * stress/intl-datetimeformat-formatrangetoparts-relevant-extensions.js:
5775         (normalize):
5776         (shouldBe):
5777         (compareParts):
5778         (shouldBeOneOfParts):
5779         (shouldBeParts):
5780         * stress/intl-datetimeformat-formatrangetoparts-should-not-handle-gregorian-change-date.js:
5781         (shouldBe):
5782         * stress/intl-datetimeformat.js:
5783         (shouldBeOneOfThem):
5785 2021-04-16  Guillaume Emont  <guijemont@igalia.com>
5787         [JSC] Unskip stress/intl-parse-unicode-subtags.js on arm
5788         https://bugs.webkit.org/show_bug.cgi?id=224679
5790         Unreviewed test gardening.
5792         * stress/intl-parse-unicode-subtags.js: Unskipped, as it passes fine
5793         now.
5795 2021-04-16  Xan Lopez  <xan@igalia.com>
5797         [JSC][ARMv7] Unskip stress/put-direct-index-broken-2.js
5798         https://bugs.webkit.org/show_bug.cgi?id=224661
5800         Unreviewed test gardening.
5802         * stress/put-direct-index-broken-2.js: unskip on ARMv7, could not
5803         reproduce locally the crash we saw earlier.
5805 2021-04-15  Mark Lam  <mark.lam@apple.com>
5807         HashMapImpl::rehash() should use a version of jsMapHash that cannot throw.
5808         https://bugs.webkit.org/show_bug.cgi?id=224610
5809         rdar://76698910
5811         Reviewed by Yusuke Suzuki.
5813         * stress/suppress-TerminationException-in-HashMapImpl-rehash.js: Added.
5815 2021-04-14  Mark Lam  <mark.lam@apple.com>
5817         Add missing exception check in operationGetPrivateNameOptimize().
5818         https://bugs.webkit.org/show_bug.cgi?id=224592
5819         rdar://76645873
5821         Reviewed by Yusuke Suzuki.
5823         * stress/suppress-TerminationException-in-operationGetPrivateNameOptimize.js: Added.
5825 2021-04-14  Mark Lam  <mark.lam@apple.com>
5827         Defer TerminationExceptions when evaluating ASSERT in HashMapIml::addNormalized().
5828         https://bugs.webkit.org/show_bug.cgi?id=224565
5829         rdar://76645980
5831         Reviewed by Yusuke Suzuki.
5833         * stress/suppress-TerrminationException-in-ASSERT-in-HashMapImpl-addNormalized.js: Added.
5835 2021-04-14  Guillaume Emont  <guijemont@igalia.com>
5837         [JSC] Unskip stress/intl-segmenter.js
5838         https://bugs.webkit.org/show_bug.cgi?id=224553
5840         Unreviewed test gardening.
5842         It shouldn't fail any more on our bots now that our handling of libicu
5843         is more robust.
5845         * stress/intl-segmenter.js:
5847 2021-04-14  Angelos Oikonomopoulos  <angelos@igalia.com>
5849         [JSC] Unskip typedarray-functions-with-neutered.js on MIPS
5850         https://bugs.webkit.org/show_bug.cgi?id=224428
5852         Unreviewed test gardening.
5854         This appears to no longer fail.
5856         * stress/typedarray-functions-with-neutered.js:
5858 2021-04-13  Angelos Oikonomopoulos  <angelos@igalia.com>
5860         [JSC] Unskip stress/intl-displaynames.js on ARM
5861         https://bugs.webkit.org/show_bug.cgi?id=224427
5863         Unreviewed test gardening.
5865         * stress/intl-displaynames.js:
5867 2021-04-10  Mark Lam  <mark.lam@apple.com>
5869         Enable VMTraps checks in RETURN_IF_EXCEPTION.
5870         https://bugs.webkit.org/show_bug.cgi?id=224078
5871         rdar://75037057
5873         Reviewed by Keith Miller.
5875         * stress/watchdog-fire-while-in-forEachInIterable.js: Added.
5877 2021-04-07  Yusuke Suzuki  <ysuzuki@apple.com>
5879         [JSC] DUCET level-1 weighs are equal if characters are alphabets
5880         https://bugs.webkit.org/show_bug.cgi?id=224047
5882         Reviewed by Saam Barati and Mark Lam.
5884         * stress/ducet-level-3-or-4-comparison.js: Added.
5885         (shouldBe):
5887 2021-04-07  Yusuke Suzuki  <ysuzuki@apple.com>
5889         [JSC] Update test262
5890         https://bugs.webkit.org/show_bug.cgi?id=224272
5892         Reviewed by Ross Kirsling.
5894         * test262/latest-changes-summary.txt:
5895         * test262/test/intl402/DisplayNames/options-getoptionsobject.js: Added.
5896         * test262/test/intl402/ListFormat/constructor/constructor/options-getoptionsobject.js: Renamed from JSTests/test262/test/intl402/ListFormat/constructor/constructor/options-toobject.js.
5897         * test262/test/intl402/ListFormat/constructor/constructor/options-toobject-prototype.js: Removed.
5898         * test262/test/intl402/Segmenter/constructor/constructor/options-getoptionsobject.js: Added.
5899         * test262/test/intl402/Segmenter/constructor/constructor/options-toobject-prototype.js: Removed.
5900         * test262/test/intl402/Segmenter/constructor/constructor/options-toobject.js: Removed.
5901         * test262/test/language/expressions/in/rhs-yield-absent-non-strict.js: Added.
5902         * test262/test/language/expressions/in/rhs-yield-absent-strict.js: Added.
5903         * test262/test/language/expressions/in/rhs-yield-present.js: Added.
5904         (isNameIn):
5905         * test262/test262-Revision.txt:
5907 2021-04-06  Yusuke Suzuki  <ysuzuki@apple.com>
5909         [JSC] WasmMemory caging should care about nullptr
5910         https://bugs.webkit.org/show_bug.cgi?id=224268
5911         <rdar://problem/74654838>
5913         Reviewed by Mark Lam.
5915         * wasm/stress/4g-memory-cage.js: Added.
5916         (async test):
5917         * wasm/stress/more-than-4g-offset-access-oom.js: Added.
5918         (async test):
5919         * wasm/stress/null-memory-cage-explicit.js: Added.
5920         (async test):
5921         * wasm/stress/null-memory-cage.js: Added.
5922         (async test):
5924 2021-04-06  Alexey Shvayka  <shvaikalesh@gmail.com>
5926         Symbol and BigInt wrapper objects should perform OrdinaryToPrimitive
5927         https://bugs.webkit.org/show_bug.cgi?id=224208
5929         Reviewed by Yusuke Suzuki.
5931         * stress/bigint-object-ordinary-toprimitive.js: Added.
5932         * stress/symbol-object-ordinary-toprimitive.js: Added.
5934 2021-04-06  Alexey Shvayka  <shvaikalesh@gmail.com>
5936         Array's toString() is incorrect if join() is non-callable
5937         https://bugs.webkit.org/show_bug.cgi?id=224215
5939         Reviewed by Yusuke Suzuki.
5941         * stress/array-toString-non-callable-join.js: Added.
5943 2021-04-05  Keith Miller  <keith_miller@apple.com>
5945         DFG arity fixup nodes should exit to the caller's call opcode
5946         https://bugs.webkit.org/show_bug.cgi?id=223278
5948         Reviewed by Saam Barati.
5950         * stress/dfg-arity-fixup-uses-callers-exit-origin.js: Added.
5951         (main.v22):
5952         (main.v30):
5953         (main.try.v40):
5954         (main.try.v47):
5955         (main.try.v56):
5956         (main.):
5957         (main):
5959 2021-04-02  Alexey Shvayka  <shvaikalesh@gmail.com>
5961         Reduce bytecode instruction count emitted for `class extends`
5962         https://bugs.webkit.org/show_bug.cgi?id=223884
5964         Reviewed by Yusuke Suzuki.
5966         * ChakraCore/test/Error/validate_line_column.baseline-jsc:
5968 2021-04-02  Jessica Tallon  <jtallon@igalia.com>
5970         Add tests for the new type method on certain JS-API wasm objects.
5971         https://bugs.webkit.org/show_bug.cgi?id=222412
5973         Reviewed by Yusuke Suzuki.
5975         * wasm/js-api/global.js: Added.
5976         (assert.throws):
5977         * wasm/js-api/table.js:
5978         (assert.truthy):
5979         * wasm/js-api/test_memory.js:
5981 2021-04-01  Alexey Shvayka  <shvaikalesh@gmail.com>
5983         Optimize createListFromArrayLike() and Proxy's [[OwnPropertyKeys]] method
5984         https://bugs.webkit.org/show_bug.cgi?id=223928
5986         Reviewed by Yusuke Suzuki.
5988         * microbenchmarks/json-stringify-array-replacer.js:
5989         Reduce running time from over 350ms to ~60ms.
5991         * microbenchmarks/reflect-own-keys-proxy-2.js: Added.
5992         * microbenchmarks/reflect-own-keys-proxy.js: Added.
5994 2021-03-31  Mark Lam  <mark.lam@apple.com>
5996         Missing exception check in HashMapImpl::add().
5997         https://bugs.webkit.org/show_bug.cgi?id=224007
5998         rdar://76053163
6000         Reviewed by Saam Barati.
6002         * stress/missing-exception-check-in-HashMapImpl-add.js: Added.
6004 2021-03-31  Alexey Shvayka  <shvaikalesh@gmail.com>
6006         Optimize constructors of ES6 collections
6007         https://bugs.webkit.org/show_bug.cgi?id=223953
6009         Reviewed by Yusuke Suzuki.
6011         * microbenchmarks/map-constructor.js:
6012         * microbenchmarks/set-constructor.js: Added.
6013         * microbenchmarks/weak-map-constructor.js: Added.
6014         * microbenchmarks/weak-set-constructor.js: Added.
6015         * stress/map-constructor-adder.js:
6016         * stress/set-constructor-adder.js:
6017         * stress/weak-map-constructor-adder-error-cross-realm.js: Added.
6018         * stress/weak-map-constructor-adder.js:
6019         * stress/weak-set-constructor-adder-error-cross-realm.js: Added.
6020         * stress/weak-set-constructor-adder.js:
6021         * stress/weak-set-constructor.js:
6023 2021-03-29  Ryan Haddad  <ryanhaddad@apple.com>
6025         Unreviewed test gardening.
6027         * stress/early-return-from-builtin.js: Disable this test for memoryLimited configurations.
6029 2021-03-26  Yusuke Suzuki  <ysuzuki@apple.com>
6031         [JSC] Use AppleICU SPI for canonicalization
6032         https://bugs.webkit.org/show_bug.cgi?id=223552
6034         Reviewed by Ryosuke Niwa.
6036         * stress/intl-canonical-locale-alias-mapping.js: Added.
6037         (shouldBe):
6038         (Intl.getCanonicalLocales):
6040 2021-03-25  Truitt Savell  <tsavell@apple.com>
6042         Unreviewed, reverting r275056.
6044         This is no longer needed
6046         Reverted changeset:
6048         "stress/early-return-from-builtin.js.default is failing on iOS
6049         JSC testers"
6050         https://commits.webkit.org/r275056
6052 2021-03-25  Truitt Savell  <tsavell@apple.com>
6054         stress/early-return-from-builtin.js.default is failing on iOS JSC testers
6055         rdar://75597901
6057         Unreviewed test gardening.
6059         * stress/early-return-from-builtin.js:
6061 2021-03-25  Saam Barati  <sbarati@apple.com>
6063         early-return-from-builtin.js should try/catch in case of OOM
6064         https://bugs.webkit.org/show_bug.cgi?id=223756
6066         Reviewed by Yusuke Suzuki.
6068         It's throwing an OOM on iOS.
6070         * stress/early-return-from-builtin.js:
6072 2021-03-24  Michael Saboff  <msaboff@apple.com>
6074         [YARR] Interpreter incorrectly matches non-BMP characters with multiple . w/dotAll flag
6075         https://bugs.webkit.org/show_bug.cgi?id=223666
6077         Reviewed by Mark Lam.
6079         Added tests for dotAll.  Also made sure that we test both JIT and non-JIT execution.
6081         * stress/regexp-dot-match-nonBMP.js:
6083 2021-03-24  Yusuke Suzuki  <ysuzuki@apple.com>
6085         [JSC] Rope string equal operation should first check length
6086         https://bugs.webkit.org/show_bug.cgi?id=223678
6088         Reviewed by Mark Lam.
6090         * stress/redefine-property-same-value-exception-check.js:
6091         (shouldThrow):
6093 2021-03-23  Robin Morisset  <rmorisset@apple.com>
6095         Object.freeze(this) at the global scope can lose a reference to a WatchpointSet
6096         https://bugs.webkit.org/show_bug.cgi?id=223608
6098         Reviewed by Yusuke Suzuki.
6100         * stress/freeze-global-object.js: Added.
6101         (foo):
6103 2021-03-22  Saam Barati  <sbarati@apple.com>
6105         LiteralParser shouldn't make error messages of length ~2^31
6106         https://bugs.webkit.org/show_bug.cgi?id=223483
6107         <rdar://75572255>
6109         Reviewed by Robin Morisset.
6111         * stress/literal-parser-error-message-oom.js: Added.
6113 2021-03-22  Michael Saboff  <msaboff@apple.com>
6115         [YARR] Interpreter incorrectly matches non-BMP characters with multiple .
6116         https://bugs.webkit.org/show_bug.cgi?id=223498
6118         Reviewed by Yusuke Suzuki.
6120         New test.
6122         * stress/regexp-dot-match-nonBMP.js: Added.
6123         (shouldMatch):
6124         (shouldntMatch):
6126 2021-03-22  Yusuke Suzuki  <ysuzuki@apple.com>
6128         [JSC] Intl.Locale should not assume is8Bit
6129         https://bugs.webkit.org/show_bug.cgi?id=223553
6131         Reviewed by Ross Kirsling.
6133         * stress/intl-locale-non-8bit.js: Added.
6134         (shouldBe):
6136 2021-03-19  Mark Lam  <mark.lam@apple.com>
6138         BrandedStructure should keep its members alive.
6139         https://bugs.webkit.org/show_bug.cgi?id=223495
6140         rdar://75565765
6142         Reviewed by Saam Barati.
6144         * stress/BrandedStructure-should-keep-its-members-alive.js: Added.
6146 == Rolled over to ChangeLog-2021-03-18 ==