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:
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.
48 2022-02-21 Yusuke Suzuki <ysuzuki@apple.com>
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
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
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.
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
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.
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
212 Reviewed by Michael Saboff.
214 * stress/yarr-inlining-dot-star-enclosure.js: Added.
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.
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:
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>
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
315 * wasm/branch-hints/branchHintsModule.wasm: Added.
316 * wasm/branch-hints/branchHintsSection.js: Added.
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:
337 * stress/import-syntax.js:
338 * stress/modules-syntax-error.js:
339 * stress/modules-syntax-import-assertion-error.js: Added.
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.
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.
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.
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:
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
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>
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.
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):
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):
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.
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.
516 * stress/array-tolocalestring-empty-separator.js: Added.
518 * stress/array-tolocalestring-options.js: Added.
520 * stress/array-tolocalestring-undefined-null.js: Added.
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.
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.
553 * stress/global-object-read-modify-write-remove-at-get.js: Added.
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>
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.
617 (shouldBeObject.replacer):
620 (reverseInsertionOrder):
621 * stress/array-groupByToMap.js: Added.
624 (shouldBeObject.replacer):
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:
642 (let.f.realm.evaluate):
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:
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:
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:
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:
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.
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
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
760 Reviewed by Saam Barati.
762 * stress/anyint-index.js: Added.
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
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):
818 * microbenchmarks/class-fields-private-fields.js: Added.
819 (ES2022_Private_Fields):
821 * microbenchmarks/class-fields-public-fields.js: Added.
822 (ES2022_Public_Fields):
824 * stress/class-fields-getter-override.js: Added.
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:
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
847 Reviewed by Mark Lam.
849 * stress/termination-error-in-private-name.js: Added.
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
858 Reviewed by Mark Lam.
860 * stress/get-typed-array-length-as-int52-generic.js: Added.
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
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.
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.
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.
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
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
955 Reviewed by Robin Morisset.
957 * stress/get-array-length-reuse.js: Added.
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
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
976 Reviewed by Mark Lam.
978 * stress/put-by-val-slow-dfg.js: Added.
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
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):
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
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
1039 The issue was found when cross compiling to mips with gcc 8.4.0 and
1040 options -ffp-contract=off -mmadd4.
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:
1081 * test262/test/built-ins/DataView/prototype/byteOffset/resizable-array-buffer-auto.js:
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):
1110 * test262/test/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-throws-typeerror-on-non-primitive-returns.js: Added.
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.
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.
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.
1161 * test262/test/built-ins/Temporal/ZonedDateTime/prototype/offset/basic.js: Added.
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.
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.
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.
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.
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
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.
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.
1342 * stress/dont-in-by-id-when-index.js: Added.
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
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.
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
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:
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.
1415 * stress/intl-numberformat-format-range-v3.js: Added.
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.
1424 * stress/intl-numberformat-format-string.js: Added.
1426 * stress/intl-numberformat-format-to-parts.js:
1427 * stress/intl-numberformat-rounding-increment-resolved-match-v3.js: Added.
1429 (validRoundingIncrements.forEach):
1430 * stress/intl-numberformat-rounding-increment-v3.js: Added.
1432 (validRoundingIncrements.forEach):
1433 (invalidRoundingIncrements.forEach):
1434 * stress/intl-numberformat-rounding-increment-value-hanidec.js: Added.
1436 * stress/intl-numberformat-rounding-increment-value-v3.js: Added.
1438 * stress/intl-numberformat-rounding-increment-value.js: Added.
1440 * stress/intl-numberformat-rounding-mode-table-v3.js: Added.
1442 (Object.keys.expectations.forEach):
1443 * stress/intl-numberformat-rounding-mode-v3.js: Added.
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.
1452 * stress/intl-numberformat-trailing-zero-display-resolved-options-v3.js: Added.
1454 * stress/intl-numberformat-trailing-zero-display-v3.js: Added.
1456 * stress/intl-numberformat-usegrouping-v3.js: Added.
1459 (validUseGrouping.forEach):
1460 (invalidUseGrouping.forEach):
1464 * stress/intl-numberformat.js:
1466 (shouldBe.testNumberFormat.Intl.NumberFormat):
1467 * stress/intl-pluralrules-selectrange.js: Added.
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
1487 Reviewed by Saam Barati.
1491 * stress/inserted-gettypedarraylengthasint52-should-have-int52-result-for-put-by-val.js: Added.
1495 Source/JavaScriptCore:
1497 When inserting GetTypedArrayLengthAsInt52 after fixup phase, we must set NodeResultInt52.
1499 * dfg/DFGSSALoweringPhase.cpp:
1500 (JSC::DFG::SSALoweringPhase::handleNode):
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.
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.
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.
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.
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
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.
1592 * stress/typed-array-large-slice.js: Added.
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
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:
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.
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.
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).
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):
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
1675 Reviewed by Robin Morisset.
1677 * stress/dont-branch-around-regalloc-enumerator-get-by-val-float.js: Added.
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>
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:
1700 * test262/test/built-ins/Array/prototype/concat/Array.prototype.concat_small-typed-array.js:
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):
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:
1763 * test262/test/language/rest-parameters/with-new-target.js:
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
1780 Reviewed by Robin Morisset.
1782 * stress/gettypedarraylengthasint52-must-be-emitted-for-typedarray.js: Added.
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:
1813 * wasm/modules/js-wasm-cycle/entry-function.js: Added.
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.
1821 * wasm/modules/js-wasm-cycle/entry-wasm-memory.js: Added.
1823 * wasm/modules/js-wasm-cycle/entry-wasm-table.js: Added.
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.
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.
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:
1882 * stress/eval-indirect.js: Added.
1885 * stress/import-syntax.js:
1886 * stress/resources/shadow-realm-example-module.js: Added.
1891 * stress/shadow-realm-evaluate.js: Added.
1896 (shouldBe.globalObjectFor.doEval):
1897 (shouldBe.globalObjectFor):
1898 * stress/shadow-realm-import-value.js: Added.
1901 (async shouldThrowAsync):
1904 * stress/shadow-realm.js: Added.
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
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
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:
1937 * stress/big-wasm-memory-grow.js:
1939 * stress/big-wasm-memory.js:
1941 * stress/typed-array-always-large.js: Added.
1946 * stress/typed-array-eventually-large.js: Added.
1951 * stress/typed-array-large-eventually-oob.js: Added.
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
1966 * stress/big-wasm-memory-grow-no-max.js:
1968 * stress/big-wasm-memory-grow.js:
1970 * stress/big-wasm-memory.js:
1972 * stress/typed-array-always-large.js: Removed.
1973 (getArrayLength): Deleted.
1974 (getByVal): Deleted.
1975 (putByVal): Deleted.
1977 * stress/typed-array-eventually-large.js: Removed.
1978 (getArrayLength): Deleted.
1979 (getByVal): Deleted.
1980 (putByVal): Deleted.
1982 * stress/typed-array-large-eventually-oob.js: Removed.
1983 (getArrayLength): Deleted.
1984 (getByVal): Deleted.
1985 (putByVal): 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
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:
2007 * stress/big-wasm-memory-grow.js:
2009 * stress/big-wasm-memory.js:
2011 * stress/typed-array-always-large.js: Added.
2016 * stress/typed-array-eventually-large.js: Added.
2021 * stress/typed-array-large-eventually-oob.js: Added.
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
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:
2051 * stress/eval-indirect.js: Added.
2054 * stress/import-syntax.js:
2055 * stress/resources/shadow-realm-example-module.js: Added.
2060 * stress/shadow-realm-evaluate.js: Added.
2065 (shouldBe.globalObjectFor.doEval):
2066 (shouldBe.globalObjectFor):
2067 * stress/shadow-realm-import-value.js: Added.
2070 (async shouldThrowAsync):
2073 * stress/shadow-realm.js: Added.
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
2084 Reviewed by Yusuke Suzuki.
2086 * stress/dont-branch-around-regalloc-enumerator-get-by-val.js: Added.
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.
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
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.
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):
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):
2128 * wasm/stress/create-tag-from.js: Added.
2129 * wasm/stress/exception-cross-instance-2.js: Added.
2132 * wasm/stress/exception-cross-instance-3.js: Added.
2135 * wasm/stress/exception-cross-instance.js: Added.
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):
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):
2155 (testCallTryCatchAll):
2156 (testSimpleTryCatchValue):
2157 (testCallTryCatchValue):
2158 (testStackTryCatch):
2159 (testLiveAfterTryCatch):
2160 (testLiveAfterTryCatchAll):
2161 (testUnifyTryCatchCatch):
2162 (testUnifyTryCatchCatchAll):
2163 (testUnifyTryNoThrow):
2164 (testUnifyTryNoCatch):
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):
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):
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):
2190 (assert.throws.callback):
2192 * wasm/stress/simple-export-exception.js: Added.
2193 * wasm/v8/LICENSE: Added.
2194 * wasm/v8/exceptions-api.js: Added.
2197 (TestExceptionConstructor):
2198 (TestExceptionConstructorWithPayload):
2199 (TestCatchJSException.js_func):
2202 (TestCatchJSExceptionWithPayload):
2204 * wasm/v8/exceptions-export.js: Added.
2205 (TestExportMultiple):
2206 (TestExportOutOfBounds):
2207 * wasm/v8/exceptions-externref.js: Added.
2209 (TestThrowRefParam):
2210 * wasm/v8/exceptions-import.js: Added.
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.
2229 * wasm/v8/exceptions-utils.js: Added.
2231 * wasm/v8/exceptions.js: Added.
2234 (TestTrapNotCaught):
2235 (TestTrapViaJSNotCaught.js_import):
2236 (TestManuallyThrownRuntimeErrorCaught.throw_exc):
2237 (TestManuallyThrownRuntimeErrorCaught):
2238 (TestExnWithWasmProtoNotCaught.js_import):
2239 (TestExnWithWasmProtoNotCaught):
2240 (TestStackOverflowNotCaught.stack_overflow):
2241 (TestStackOverflowNotCaught):
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):
2256 (TestDelegateUnreachable):
2257 (TestDelegateToCaller):
2258 (TestUnreachableInCatchAll):
2259 (TestThrowWithLocal):
2261 * wasm/v8/mjsunit.js: Added.
2262 (MjsUnitAssertionError):
2263 (MjsUnitAssertionError.prototype.toString):
2268 (prettyPrintedArrayElement):
2270 (formatFailureText):
2278 (assertEqualsDelta):
2279 (assertArrayEquals):
2280 (assertPropertiesEqual):
2281 (assertToStringEquals):
2289 (assertThrowsEquals):
2290 (assertThrowsAsync):
2292 (assertDoesNotThrow):
2293 (assertUnreachable):
2296 (concatenateErrors):
2297 (assertPromiseResult):
2298 (OptimizationStatus):
2299 (assertUnoptimized):
2301 (isNeverOptimizeLiteMode):
2309 (MjsUnitAssertionError.prepareStackTrace):
2310 * wasm/v8/wasm-module-builder.js: Added.
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):
2372 (WasmGlobalBuilder):
2373 (WasmGlobalBuilder.prototype.exportAs):
2375 (WasmTableBuilder.prototype.exportAs):
2378 (WasmStructSubtype):
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):
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
2441 Reviewed by Mark Lam.
2443 * stress/unlinked-code-block-destructor.js: Added.
2444 (useAllMemory.get Object):
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
2455 Reviewed by Mark Lam.
2457 * stress/reg-exp-exec-cant-prove-which-structure-it-produces-in-ai.js: Added.
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
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.
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):
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
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.
2551 * stress/for-in-validation-watchpoint.js: Added.
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.
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):
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
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.
2623 (builtin.vm.createBuiltin):
2624 (builtin2.vm.createBuiltin):
2626 * stress/ai-typeof-needs-to-be-aware-of-proxy.js: Added.
2628 (builtin.vm.createBuiltin):
2630 * stress/is-callable-in-ftl-needs-to-be-aware-of-proxy.js: Added.
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
2658 Reviewed by Mark Lam and Yusuke Suzuki.
2660 * stress/checkpoint-osr-exit-needs-to-reload-baseline-jit-constant-pool-gpr.js: Added.
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.
2675 (let.reg.RegExp.foo.g.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
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
2694 Reviewed by Mark Lam.
2696 * stress/verify-can-gc-node-index.js: Added.
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.
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
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.
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
2839 Reviewed by Mark Lam.
2841 * stress/compare-strict-eq-string-check.js: Added.
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.
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
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.
2879 (throw.new.Error.let.object.hello.get inner):
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:
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.
2946 * stress/for-in-null-undefined.js: Added.
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.
2959 (noInline.test.int32pos1):
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:
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.
2997 (shouldBe.String.Temporal.PlainTime.from):
2998 (let.time.Temporal.PlainTime.from.shouldBe):
2999 (let.text.of.failures.shouldThrow):
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.
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
3024 Reviewed by Saam Barati.
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.
3037 * complex/temporal-now-timezone-check.js: Added.
3039 * complex/temporal-now-timezone-with-broken-tz.js: Added.
3041 * stress/intl-enumeration.js:
3042 * stress/temporal-timezone.js: Added.
3045 (let.text.of.failures.shouldThrow):
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.
3058 * stress/for-in-invalidate.js: Added.
3061 * stress/for-in-uncacheable-dictionary.js: Added.
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.
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
3115 Reviewed by Ross Kirsling.
3117 * stress/intl-date-pattern-includes-literal-text.js: Added.
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.
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.
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.
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.
3154 * stress/class-private-field-polymorphic.js: Added.
3156 (test.A.prototype.put):
3157 * stress/put-by-val-polymorphic-properties.js: Added.
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
3167 Reviewed by Yusuke Suzuki.
3169 * stress/for-in-disable-bytecode-generator-peephole-optimizations-after-rewrite-2.js: Added.
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:
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.
3195 * stress/intl-locale-info.js:
3196 (let.l.new.Intl.Locale.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
3216 Reviewed by Keith Miller.
3218 * stress/for-in-disable-bytecode-generator-peephole-optimizations-after-rewrite.js: Added.
3221 2021-08-23 Saam Barati <sbarati@apple.com>
3223 compileEnumeratorHasProperty uses flushRegisters incorrectly
3224 https://bugs.webkit.org/show_bug.cgi?id=229412
3227 Reviewed by Keith Miller.
3229 * stress/for-in-has-own-property-shouldnt-flush-registers.js: Added.
3231 * stress/for-in-in-by-val-shouldnt-flush-registers.js: Added.
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:
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.
3417 * stress/intl-displaynames.js:
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.
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.
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
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.
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.
3512 * microbenchmarks/for-in-double-array.js: Added.
3514 * microbenchmarks/for-in-getters.js: Added.
3516 * microbenchmarks/for-in-int32-array-with-own-named.js: Added.
3518 * microbenchmarks/for-in-int32-array.js: Added.
3520 * microbenchmarks/for-in-int32-object-with-own-named-and-getters.js: Added.
3522 * microbenchmarks/for-in-int32-object-with-own-named.js: Added.
3524 * microbenchmarks/for-in-object-with-own-named.js: Added.
3527 * microbenchmarks/for-in-string-array.js: Added.
3529 * microbenchmarks/for-of-iterate-array-map-set.js: Added.
3532 * stress/for-in-array-mode.js:
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.
3538 * stress/for-in-tests.js:
3539 * stress/has-own-property-structure-for-in-loop-correctness.js:
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):
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.
3564 * stress/regexp-bm-search-many-candidate-zero-length.js: Added.
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.
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.
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
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.
3666 * stress/regexp--bm-search-long-map.js: Added.
3668 * stress/regexp-bitvector-reuse.js: Added.
3670 * stress/regexp-non-ascii-bm-search-character.js: Added.
3672 * stress/regexp-non-ascii-bm-search-map.js: Added.
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.
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
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
3755 Reviewed by Frédéric Wang.
3757 * stress/symbol-hasinstance-error.js: Added.
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
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
3777 Reviewed by Mark Lam.
3779 * stress/in-by-variant-should-mark-cacheable-identifier.js: Added.
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):
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
3815 Reviewed by Mark Lam.
3817 * stress/regexp-dump-concurrently.js: Added.
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.
3843 * complex/intl-timezone-check.js: Added.
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
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.
3865 (keepEvenAndChange):
3866 (isBigEnoughAndException):
3868 * stress/typedarray-findLastIndex.js: Added.
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:
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
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
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:
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:
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.
3997 * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-same-size-zero-explicit.js: Added.
3999 * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-same-size-zero-implicit.js: Added.
4001 * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-same-size.js: Added.
4003 * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-shrink-zero-explicit.js: Added.
4005 * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-shrink-zero-implicit.js: Added.
4007 * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-shrink.js: Added.
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.
4037 * test262/test/built-ins/DataView/prototype/byteLength/resizable-array-buffer-fixed.js: Added.
4039 * test262/test/built-ins/DataView/prototype/byteOffset/resizable-array-buffer-auto.js: Added.
4041 * test262/test/built-ins/DataView/prototype/byteOffset/resizable-array-buffer-fixed.js: Added.
4043 * test262/test/built-ins/DataView/prototype/getBigInt64/resizable-buffer.js: Added.
4045 * test262/test/built-ins/DataView/prototype/getBigUint64/resizable-buffer.js: Added.
4047 * test262/test/built-ins/DataView/prototype/getFloat32/resizable-buffer.js: Added.
4049 * test262/test/built-ins/DataView/prototype/getFloat64/resizable-buffer.js: Added.
4051 * test262/test/built-ins/DataView/prototype/getInt16/resizable-buffer.js: Added.
4053 * test262/test/built-ins/DataView/prototype/getInt32/resizable-buffer.js: Added.
4055 * test262/test/built-ins/DataView/prototype/getInt8/resizable-buffer.js: Added.
4057 * test262/test/built-ins/DataView/prototype/getUint16/resizable-buffer.js: Added.
4059 * test262/test/built-ins/DataView/prototype/getUint32/resizable-buffer.js: Added.
4061 * test262/test/built-ins/DataView/prototype/getUint8/resizable-buffer.js: Added.
4063 * test262/test/built-ins/DataView/prototype/setBigInt64/resizable-buffer.js: Added.
4065 * test262/test/built-ins/DataView/prototype/setBigUint64/resizable-buffer.js: Added.
4067 * test262/test/built-ins/DataView/prototype/setFloat32/resizable-buffer.js: Added.
4069 * test262/test/built-ins/DataView/prototype/setFloat64/resizable-buffer.js: Added.
4071 * test262/test/built-ins/DataView/prototype/setInt16/resizable-buffer.js: Added.
4073 * test262/test/built-ins/DataView/prototype/setInt32/resizable-buffer.js: Added.
4075 * test262/test/built-ins/DataView/prototype/setInt8/resizable-buffer.js: Added.
4077 * test262/test/built-ins/DataView/prototype/setUint16/resizable-buffer.js: Added.
4079 * test262/test/built-ins/DataView/prototype/setUint32/resizable-buffer.js: Added.
4081 * test262/test/built-ins/DataView/prototype/setUint8/resizable-buffer.js: Added.
4083 * test262/test/built-ins/Error/cause_abrupt.js:
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.
4091 * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_and_setter.js: Added.
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.
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.
4119 * test262/test/built-ins/Object/hasOwn/hasown_own_getter_and_setter.js: Added.
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.
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.
4155 * test262/test/built-ins/Object/hasOwn/symbol_property_valueOf.js: Added.
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.
4181 * test262/test/built-ins/SharedArrayBuffer/prototype/grow/grow-same-size.js: Added.
4183 * test262/test/built-ins/SharedArrayBuffer/prototype/grow/grow-smaller-size.js: Added.
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.
4359 (testWithTypedArrayConstructors):
4360 * test262/test/built-ins/TypedArrayConstructors/internals/HasProperty/resizable-array-buffer-fixed.js: Added.
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:
4408 (Symbol.toPrimitive):
4409 * test262/test/intl402/Segmenter/prototype/segment/containing/out-of-bound-index.js:
4412 (Symbol.toPrimitive):
4413 * test262/test/intl402/Segmenter/prototype/segment/containing/word-iswordlike.js:
4415 * test262/test/intl402/Segmenter/prototype/segment/containing/zero-index.js:
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.
4442 * test262/test/language/expressions/assignment/target-member-computed-reference-undefined.js: Added.
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.
4452 * test262/test/language/expressions/assignment/target-super-identifier-reference-null.js: Added.
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.
4462 * test262/test/language/expressions/dynamic-import/2nd-param-assert-enumeration-abrupt.js: Added.
4465 * test262/test/language/expressions/dynamic-import/2nd-param-assert-enumeration.js: Added.
4468 (options.getOwnPropertyDescriptor):
4470 * test262/test/language/expressions/dynamic-import/2nd-param-assert-non-object.js: Added.
4472 (string_appeared_here.then):
4473 * test262/test/language/expressions/dynamic-import/2nd-param-assert-undefined.js: Added.
4475 * test262/test/language/expressions/dynamic-import/2nd-param-assert-value-abrupt.js: Added.
4476 (assert.get string_appeared_here):
4478 * test262/test/language/expressions/dynamic-import/2nd-param-assert-value-non-string.js: Added.
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.
4484 (await.undefined.then):
4485 * test262/test/language/expressions/dynamic-import/2nd-param-evaluation-abrupt-return.js: Added.
4487 * test262/test/language/expressions/dynamic-import/2nd-param-evaluation-abrupt-throw.js: Added.
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):
4493 * test262/test/language/expressions/dynamic-import/2nd-param-in.js: Added.
4495 * test262/test/language/expressions/dynamic-import/2nd-param-non-object.js: Added.
4497 (string_appeared_here.then):
4498 * test262/test/language/expressions/dynamic-import/2nd-param-trailing-comma-fulfill.js: Added.
4500 * test262/test/language/expressions/dynamic-import/2nd-param-trailing-comma-reject.js: Added.
4503 * test262/test/language/expressions/dynamic-import/2nd-param-yield-expr.js: Added.
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.
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:
4513 * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-arrow-function-await-not-extensible-args.js:
4515 * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-arrow-function-return-await-not-extensible-args.js:
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:
4520 * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-not-extensible-args.js:
4522 * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-return-await-not-extensible-args.js:
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:
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:
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:
4535 * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-function-return-not-extensible-args.js:
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:
4543 * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-with-not-extensible-args.js:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
4611 * test262/test/language/expressions/dynamic-import/trailing-comma-reject.js: Added.
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.
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:
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
4696 Reviewed by Saam Barati.
4698 * stress/object-assign-undefined.js: Added.
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
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-
4722 https://bugs.webkit.org/show_bug.cgi?id=227672
4723 https://commits.webkit.org/r279558
4725 "Use AbortSignal's [PrivateIdentifier] whenSignalAborted()
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.
4748 * microbenchmarks/object-assign-transition.js: Added.
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
4781 Reviewed by Mark Lam.
4783 * stress/calling-non-callable-constructors.js: Added.
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
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.
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.
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.
4827 (setTempRet0): Deleted.
4828 (setValue): Deleted.
4830 (getCFunc): Deleted.
4831 (toC.string_appeared_here): Deleted.
4832 (convertReturnValue): 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.
4845 (initRuntime): Deleted.
4847 (exitRuntime): 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.
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.
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):
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:
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:
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
5167 Reviewed by Mark Lam.
5169 * stress/callee-save-fpr.js: Added.
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.
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
5192 Reviewed by Ross Kirsling.
5194 * stress/intl-long-locale-id-maximize-minimize.js: Added.
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):
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
5215 Reviewed by Saam Barati.
5217 * stress/private-access-nested-eval.js: Added.
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.
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.
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.
5279 * microbenchmarks/poly-stricteq-not-double.js: Added.
5282 * microbenchmarks/poly-stricteq.js:
5285 * stress/poly-stricteq-not-double-nor-string-fail.js: Added.
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
5295 Reviewed by Keith Miller.
5297 * stress/private-in-error.js: Added.
5301 * stress/private-static-method-declaration-error.js: Added.
5304 (prototype.foo.D.a):
5305 (prototype.foo.D.prototype.b):
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
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.
5328 * stress/untyped-stricteq-self-fail.js: Added.
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):
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
5371 Reviewed by Saam Barati.
5373 * microbenchmarks/function-to-string.js: Added.
5376 (C.prototype.method1):
5377 (C.prototype.method2):
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
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.
5412 2021-05-28 Robin Morisset <rmorisset@apple.com>
5414 Fix LikelyDenseUnsignedIntegerSet::clear()
5415 https://bugs.webkit.org/show_bug.cgi?id=226388
5418 Reviewed by Mark Lam.
5420 * stress/stack-allocation-regression.js: Added.
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
5429 Reviewed by Filip Pizlo.
5431 * stress/dont-sink-arguments-past-inline-call-frame.js: Added.
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
5474 Reviewed by Mark Lam.
5476 Add the testcase found by Tuomas.
5478 * stress/register-allocator-stress.js: Added.
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
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:
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:
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
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
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.
5602 * wasm/function-references/call_ref.js: Added.
5605 (async indirectCall):
5606 (async importHostCall):
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
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.
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
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.
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.
5686 * stress/switch-inlining-nested.js: Added.
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:
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):
5737 * stress/intl-datetimeformat-formatrange-relevant-extensions.js:
5738 (shouldBeOneOfThem):
5739 * stress/intl-datetimeformat-formatrange-should-not-handle-gregorian-change-date.js:
5741 (vm.icuHeaderVersion):
5742 * stress/intl-datetimeformat-formatrangetoparts-relevant-extensions-ja.js:
5746 (shouldBeOneOfParts):
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:
5778 (shouldBeOneOfParts):
5780 * stress/intl-datetimeformat-formatrangetoparts-should-not-handle-gregorian-change-date.js:
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
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
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
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
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
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
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.
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.
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.
5917 * wasm/stress/more-than-4g-offset-access-oom.js: Added.
5919 * wasm/stress/null-memory-cage-explicit.js: Added.
5921 * wasm/stress/null-memory-cage.js: Added.
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.
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.
5977 * wasm/js-api/table.js:
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
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.
6038 (Intl.getCanonicalLocales):
6040 2021-03-25 Truitt Savell <tsavell@apple.com>
6042 Unreviewed, reverting r275056.
6044 This is no longer needed
6048 "stress/early-return-from-builtin.js.default is failing on iOS
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
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:
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.
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
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.
6122 * stress/regexp-dot-match-nonBMP.js: Added.
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.
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
6142 Reviewed by Saam Barati.
6144 * stress/BrandedStructure-should-keep-its-members-alive.js: Added.
6146 == Rolled over to ChangeLog-2021-03-18 ==