| 2022-01-24 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Enable Array#groupBy and Array#groupByToMap |
| https://bugs.webkit.org/show_bug.cgi?id=235549 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/unscopables.js: |
| |
| 2022-01-24 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Support import assertion syntax |
| https://bugs.webkit.org/show_bug.cgi?id=235312 |
| |
| Reviewed by Ross Kirsling. |
| |
| * modules/import-meta-syntax.js: |
| (shouldThrow): |
| * stress/import-syntax.js: |
| * stress/modules-syntax-error.js: |
| * stress/modules-syntax-import-assertion-error.js: Added. |
| (shouldThrow): |
| * stress/modules-syntax-import-assertion.js: Added. |
| |
| 2022-01-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Relax Date.parse requirement |
| https://bugs.webkit.org/show_bug.cgi?id=235468 |
| |
| Reviewed by Darin Adler. |
| |
| * stress/date-relaxed-separator.js: Added. |
| (shouldBe): |
| |
| 2022-01-19 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Implement Temporal.Now.instant() |
| https://bugs.webkit.org/show_bug.cgi?id=234836 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/temporal-now-instant.js: Added. |
| (shouldBe): |
| |
| 2022-01-19 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Fix YarrJIT backtrackCharacterClassNonGreedy breakpoint |
| https://bugs.webkit.org/show_bug.cgi?id=235348 |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/regexp-unicode-surrogate-pair-increment-should-involve-length-check.js: |
| |
| 2022-01-19 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| Unreviewed, skip new test max-typed-array-length-toString.js when memory-limited |
| https://bugs.webkit.org/show_bug.cgi?id=235217 |
| |
| * stress/max-typed-array-length-toString.js: |
| |
| 2022-01-18 Mark Lam <mark.lam@apple.com> |
| |
| Gardening: resolve test failure on CLoop. |
| |
| Not reviewed. |
| |
| Change test to not rely on WebAssembly. |
| |
| * stress/max-typed-array-length-toString.js: |
| |
| 2022-01-15 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Fix Date functions' argument coercion |
| https://bugs.webkit.org/show_bug.cgi?id=235271 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * test262/expectations.yaml: |
| |
| 2022-01-15 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Fix misc issues in WebAssembly.Exception |
| https://bugs.webkit.org/show_bug.cgi?id=235261 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * wasm/stress/create-tag-from.js: |
| * wasm/v8/exceptions-api.js: |
| (TestGetArg): |
| |
| 2022-01-15 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Upgrade test262 |
| https://bugs.webkit.org/show_bug.cgi?id=235263 |
| |
| Reviewed by Alexey Shvayka. |
| |
| Update to the latest one. |
| |
| * test262/config.yaml: |
| * test262/expectations.yaml: |
| * test262/test262-Revision.txt: |
| |
| 2022-01-14 Mark Lam <mark.lam@apple.com> |
| |
| JSStringJoiner's constructor should take a size_t length. |
| https://bugs.webkit.org/show_bug.cgi?id=235217 |
| rdar://87538657 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/max-typed-array-length-toString.js: Added. |
| |
| 2022-01-14 Alexey Shvayka <ashvayka@apple.com> |
| |
| JSArray::fastSlice() should not convert the source from CoW |
| https://bugs.webkit.org/show_bug.cgi?id=234990 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/array-slice-cow.js: |
| |
| 2022-01-14 Justin Michaud <justin_michaud@apple.com> |
| |
| Update libWABT |
| https://bugs.webkit.org/show_bug.cgi?id=235050 |
| |
| Update libWabt to support new simd instructions, and add stubs so that the |
| wasm test runner can run in v8. |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wasm/assert.js: |
| * wasm/libwabt.js: |
| (WabtModule): |
| (set get if): |
| |
| 2022-01-11 Asumu Takikawa <asumu@igalia.com> |
| |
| [Wasm] Unify memory import handling in module loader and JS cases |
| https://bugs.webkit.org/show_bug.cgi?id=234116 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Add an instantiation test case that tests that instantiating the same |
| binary module twice will not crash. |
| |
| * wasm/js-api/web-assembly-instantiate.js: |
| (assert.asyncTest.async test): |
| (assert.asyncTest): |
| |
| 2022-01-10 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, add a bit more Intl.Locale hourCycle tests to investigate flakiness |
| |
| * stress/intl-locale-info.js: |
| (let.l.new.Intl.Locale.shouldBe): |
| (shouldBe): |
| |
| 2022-01-07 Alexey Shvayka <ashvayka@apple.com> |
| |
| Expand the set of objects we take JSArray::fastSlice() path for |
| https://bugs.webkit.org/show_bug.cgi?id=234539 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * microbenchmarks/array-slice-call-cloned-arguments.js: Added. |
| * stress/array-slice-beyond-length.js: Added. |
| * stress/array-slice-length-lookup.js: Added. |
| |
| 2022-01-06 Saam Barati <sbarati@apple.com> |
| |
| preparePatchpointForExceptions needs to handle tuples |
| https://bugs.webkit.org/show_bug.cgi?id=234909 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Add support to the builder to have functions return tuples. |
| |
| * wasm/Builder.js: |
| (const._normalizeFunctionSignature): |
| (const._maybeRegisterType): |
| * wasm/Builder_WebAssemblyBinary.js: |
| (const.emitters.Type): |
| * wasm/stress/exception-throw-from-function-returning-tuple.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.testCatchWithExceptionThrownFromFunctionReturningTuple): |
| |
| 2022-01-03 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Array.prototype.toLocaleString does not respect deletion of Object.prototype.toLocaleString |
| https://bugs.webkit.org/show_bug.cgi?id=232723 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * ChakraCore/test/Array/toLocaleString.baseline-jsc: |
| * stress/array-tolocalestring-delete-tolocalestring.js: Added. |
| (shouldThrow): |
| * stress/array-tolocalestring-empty-separator.js: Added. |
| (shouldBe): |
| * stress/array-tolocalestring-options.js: Added. |
| (shouldBe): |
| * stress/array-tolocalestring-undefined-null.js: Added. |
| (shouldBe): |
| (shouldBe.toLocaleString): |
| |
| 2022-01-03 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Fix Intl.PluralRules.selectRange input validation |
| https://bugs.webkit.org/show_bug.cgi?id=234817 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * stress/intl-pluralrules-select-range-validate-inputs.js: Added. |
| (shouldThrow): |
| (Intl.PluralRules.prototype.selectRange.shouldThrow): |
| |
| 2022-01-03 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Update UCD to Unicode 14.0.0 |
| https://bugs.webkit.org/show_bug.cgi?id=234811 |
| |
| Reviewed by Sam Weinig. |
| |
| * test262/expectations.yaml: |
| |
| 2022-01-03 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Read-modify-write operation's second put-to-scope should not throw error if binding does not exist |
| https://bugs.webkit.org/show_bug.cgi?id=234813 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * stress/global-object-read-modify-write-remove-at-get-strict.js: Added. |
| (shouldThrow): |
| * stress/global-object-read-modify-write-remove-at-get.js: Added. |
| (shouldBe): |
| * test262/expectations.yaml: |
| |
| 2022-01-03 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Fix length of Intl.NumberFormat.formatRange and Intl.PluralRules.selectRange |
| https://bugs.webkit.org/show_bug.cgi?id=234806 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * stress/intl-numberformat-format-range-v3.js: |
| (nf.formatRange.nf.formatRangeToParts.methods.forEach): |
| * stress/intl-pluralrules-selectrange.js: |
| |
| 2022-01-03 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Update test262 |
| https://bugs.webkit.org/show_bug.cgi?id=234807 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * test262/config.yaml: |
| * test262/expectations.yaml: |
| * test262/test262-Revision.txt: |
| |
| 2022-01-02 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Use emitPutProperty / emitGetPropertyValue consistently to handle private names in edge cases |
| https://bugs.webkit.org/show_bug.cgi?id=234794 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * test262/expectations.yaml: |
| |
| 2021-12-22 Saam Barati <sbarati@apple.com> |
| |
| LLInt should loop OSR into BBQ and BBQ should loop OSR into OMG |
| https://bugs.webkit.org/show_bug.cgi?id=234542 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wasm/wast-tests/harness.js: |
| |
| 2021-12-19 Ross Kirsling <ross.kirsling@sony.com> |
| |
| [JSC] OpPow should have a "small int exponent" fast path at lower tiers |
| https://bugs.webkit.org/show_bug.cgi?id=234408 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * microbenchmarks/pow-double-int.js: Added. |
| * microbenchmarks/pow-int-int.js: Added. |
| |
| 2021-12-16 Devin Rousso <drousso@apple.com> |
| |
| Implement Array.prototype.groupBy and Array.prototype.groupByToMap |
| https://bugs.webkit.org/show_bug.cgi?id=234327 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/array-groupBy.js: Added. |
| (shouldBe): |
| (shouldBeObject): |
| (shouldBeObject.replacer): |
| (notReached): |
| (toObject): |
| (reverseInsertionOrder): |
| * stress/array-groupByToMap.js: Added. |
| (shouldBe): |
| (shouldBeObject): |
| (shouldBeObject.replacer): |
| (shouldBeMap): |
| (notReached): |
| (toObject): |
| (reverseInsertionOrder): |
| |
| 2021-12-15 Joseph Griego <jgriego@igalia.com> |
| |
| [Shadow Realms] Wrapped functions must only throw TypeError from calling realm |
| https://bugs.webkit.org/show_bug.cgi?id=234357 |
| |
| Test the cases when the exception would be thrown by a function |
| originating from both the shadow realm and the incubating realm. |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/shadow-realm-evaluate.js: |
| (shouldBe): |
| (let.f.realm.evaluate): |
| (shouldBe.f): |
| |
| 2021-12-13 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Update Intl tests based on ICU 69~ |
| https://bugs.webkit.org/show_bug.cgi?id=234276 |
| |
| Reviewed by Mark Lam. |
| |
| Rebaseline Intl tests based on ICU 69~'s CLDR update. |
| |
| * stress/array-toLocaleString.js: |
| * stress/date-toLocaleString.js: |
| * stress/intl-canonical-locale-alias-mapping.js: |
| (Intl.getCanonicalLocales): |
| * stress/intl-datetimeformat-formatrange-relevant-extensions-ja.js: |
| (vm.icuVersion): |
| * stress/intl-datetimeformat-formatrangetoparts-relevant-extensions-ja.js: |
| * stress/intl-datetimeformat.js: |
| * stress/intl-enumeration.js: |
| * stress/intl-locale-info.js: |
| (shouldBe): |
| * stress/intl-locale.js: |
| |
| 2021-12-10 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, we may not throw an stack overflow error |
| |
| * stress/stack-overflow-in-custom-hasInstance.js: |
| (catch): |
| |
| 2021-12-08 Asumu Takikawa <asumu@igalia.com> |
| |
| Support WebAssembly.Memory imports in Wasm/ESM modules. |
| https://bugs.webkit.org/show_bug.cgi?id=184745 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wasm/modules/wasm-imports-js-exports.js: |
| (then): |
| * wasm/modules/wasm-imports-js-exports/memory-fail-1.js: Added. |
| * wasm/modules/wasm-imports-js-exports/memory-fail-1.wasm: Added. |
| * wasm/modules/wasm-imports-js-exports/memory-fail-1.wat: Added. |
| * wasm/modules/wasm-imports-js-exports/memory-fail-2.js: Added. |
| * wasm/modules/wasm-imports-js-exports/memory-fail-2.wasm: Added. |
| * wasm/modules/wasm-imports-js-exports/memory-fail-2.wat: Added. |
| * wasm/modules/wasm-imports-js-exports/memory-fail-3.js: Added. |
| * wasm/modules/wasm-imports-js-exports/memory-fail-3.wasm: Added. |
| * wasm/modules/wasm-imports-js-exports/memory-fail-3.wat: Added. |
| * wasm/modules/wasm-imports-js-exports/memory-fail-4.js: Added. |
| * wasm/modules/wasm-imports-js-exports/memory-fail-4.wasm: Added. |
| * wasm/modules/wasm-imports-js-exports/memory-fail-4.wat: Added. |
| * wasm/modules/wasm-imports-js-exports/memory-fail-5.js: Added. |
| * wasm/modules/wasm-imports-js-exports/memory-fail-5.wasm: Added. |
| * wasm/modules/wasm-imports-js-exports/memory-fail-5.wat: Added. |
| * wasm/modules/wasm-imports-js-exports/memory.js: Added. |
| (export.setMemory): |
| * wasm/modules/wasm-imports-js-exports/memory.wasm: Added. |
| * wasm/modules/wasm-imports-js-exports/memory.wat: Added. |
| * wasm/modules/wasm-imports-js-exports/shared-memory.js: Added. |
| * wasm/modules/wasm-imports-js-exports/shared-memory.wasm: Added. |
| * wasm/modules/wasm-imports-js-exports/shared-memory.wat: Added. |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports.js: |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wasm: |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wat: |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports/re-export.js: |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wasm: |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wat: |
| |
| 2021-12-07 Saam Barati <sbarati@apple.com> |
| |
| TypedArray prototype set should go down the fast path when using non clamped integer types of the same byte size |
| https://bugs.webkit.org/show_bug.cgi?id=233905 |
| |
| Reviewed by Keith Miller. |
| |
| * microbenchmarks/typed-array-prototype-set.js: Added. |
| * microbenchmarks/typed-array-prototype-set-order.js: Added. |
| * stress/typed-array-prototype-set.js: Added. |
| |
| 2021-12-02 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] shell's $.globalObjectFor is not safe for non object cells |
| https://bugs.webkit.org/show_bug.cgi?id=233794 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/dollar-global-object.js: Added. |
| |
| 2021-12-02 Saam Barati <sbarati@apple.com> |
| |
| Fix OOM crash in JSValue::toWTFStringForConsole |
| https://bugs.webkit.org/show_bug.cgi?id=233775 |
| <rdar://85259423> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/pretty-print-oom.js: Added. |
| |
| 2021-11-30 Saam Barati <sbarati@apple.com> |
| |
| GetMyArgumentByValOutOfBounds needs to check for negative indices |
| https://bugs.webkit.org/show_bug.cgi?id=232966 |
| <rdar://problem/85519898> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * get-my-argument-by-val-negative-1.js: Added. |
| * get-my-argument-by-val-negative-2.js: Added. |
| * get-my-argument-by-val-negative-3.js: Added. |
| |
| 2021-11-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] jumpForTypedArrayOutOfBounds should use asAnyInt since it uses isAnyInt |
| https://bugs.webkit.org/show_bug.cgi?id=233610 |
| rdar://85820476 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/anyint-index.js: Added. |
| (foo): |
| |
| 2021-11-29 Saam Barati <sbarati@apple.com> |
| |
| FTL's implementation of HasIndexedProperty for InBounds accesses checks the inverse of what it should be checking when exiting by seeing a hole |
| https://bugs.webkit.org/show_bug.cgi?id=233408 |
| <rdar://problem/85787251> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/in-by-val-has-indexed-property-ftl-3.js: Added. |
| * stress/in-by-val-has-indexed-property-ftl-2.js: Added. |
| * stress/in-by-val-has-indexed-property-ftl.js: Added. |
| |
| 2021-11-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] slice should be aware of TerminationException |
| https://bugs.webkit.org/show_bug.cgi?id=233593 |
| rdar://85823844 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/slice-termination-exception.js: Added. |
| (async infiniteLoop): |
| |
| 2021-11-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Add Intl.NumberFormat.formatRangeToParts |
| https://bugs.webkit.org/show_bug.cgi?id=233539 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/intl-numberformat-format-large.js: |
| (nf.formatRangeToParts.shouldBe.JSON.stringify.nf.formatRangeToParts): |
| (nf.formatRangeToParts.shouldBe.JSON.stringify.nf2.formatRangeToParts): |
| * stress/intl-numberformat-format-range-v3.js: |
| (nf.formatRange.nf.formatRangeToParts.methods.forEach): |
| (nf.formatRange.string_appeared_here.forEach): Deleted. |
| * stress/intl-numberformat-format-string-v3.js: |
| (nf.formatRangeToParts.shouldBe.JSON.stringify.nf.formatRangeToParts): |
| (nf.formatRangeToParts.shouldBe.JSON.stringify.nf2.formatRangeToParts): |
| * stress/intl-numberformat-format-string.js: |
| (nf.formatRangeToParts.shouldBe.JSON.stringify.nf.formatRangeToParts): |
| (nf.formatRangeToParts.shouldBe.JSON.stringify.nf2.formatRangeToParts): |
| |
| 2021-11-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Public Class Field initialization is slow |
| https://bugs.webkit.org/show_bug.cgi?id=232479 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * microbenchmarks/class-fields-classic-constructor-assignments.js: Added. |
| (Classic_Constructor_Assignments): |
| (bench): |
| * microbenchmarks/class-fields-private-fields.js: Added. |
| (ES2022_Private_Fields): |
| (bench): |
| * microbenchmarks/class-fields-public-fields.js: Added. |
| (ES2022_Public_Fields): |
| (bench): |
| * stress/class-fields-getter-override.js: Added. |
| (shouldThrow): |
| (defineCGetter.): |
| (B): |
| (define0Getter.): |
| (define0Getter): |
| (D): |
| * stress/custom-get-set-proto-chain-put.js: |
| (let.object.of.getObjects): |
| * stress/freeze-and-seal-should-prevent-extensions.js: |
| * stress/object-assign-fast-path.js: |
| * stress/ordinary-set-exceptions.js: |
| (shouldThrow): |
| * stress/put-non-reified-static-function-or-custom.js: |
| * wasm/js-api/test_basic_api.js: |
| (const.c.in.constructorProperties.switch): |
| |
| 2021-11-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] private name operation should use RETURN_IF_EXCEPTION |
| https://bugs.webkit.org/show_bug.cgi?id=233577 |
| rdar://85813869 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/termination-error-in-private-name.js: Added. |
| (C): |
| |
| 2021-11-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] GetTypedArrayLengthAsInt52 can get Array::Generic ArrayMode |
| https://bugs.webkit.org/show_bug.cgi?id=233571 |
| rdar://85812164 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/get-typed-array-length-as-int52-generic.js: Added. |
| (foo.bar): |
| (foo): |
| |
| 2021-11-24 Michael Catanzaro <mcatanzaro@gnome.org> |
| |
| Skip new stress test get-array-length-reuse.js if memory-limited |
| https://bugs.webkit.org/show_bug.cgi?id=233299 |
| rdar://85502079 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/get-array-length-reuse.js: |
| |
| 2021-11-24 Aditi Singh <asingh@igalia.com> |
| |
| [JSC] Implement Date.prototype.toTemporalInstant() |
| https://bugs.webkit.org/show_bug.cgi?id=232075 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/date-to-temporal-instant.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| |
| 2021-11-19 Asumu Takikawa <asumu@igalia.com> |
| |
| Fix WebAssembly memory.fill out of bounds error message |
| https://bugs.webkit.org/show_bug.cgi?id=233392 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wasm/references/memory_fill_out_of_bounds.js: Added. |
| (async test): |
| |
| 2021-11-19 Saam Barati <sbarati@apple.com> |
| |
| Fix assertion added in r285592 |
| https://bugs.webkit.org/show_bug.cgi?id=233373 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/validate-assert-uid-is-not-index-or-it-is-symbol.js: Added. |
| (main.v11): |
| (main.v29): |
| (main): |
| |
| 2021-11-19 Joseph Griego <jgriego@igalia.com> |
| |
| [JSC] Shadow realms: set correct Function prototype on wrapped functions |
| https://bugs.webkit.org/show_bug.cgi?id=233143 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| At present, the Function prototype set on each of the returned wrapped |
| functions will be the Function object from the realm the shadow realm |
| builtin is from--to comply with the latest draft of the shadow realms |
| spec [1], wrapped function objects should have the Function prototype |
| from the realm the wrapper object is destined for, instead. |
| |
| At present, this requires tracking both the calling (destination) and |
| target (source) realm and switching between the two as function |
| arguments are wrapped (when the notion of source and destination realm |
| also flips) |
| |
| Adds a simple builtin (moveFunctionToRealm) that can switch the Function |
| prototype given only the Shadow Realm object corresponding to the |
| correct global object. |
| |
| Also marks the corresponding part of test262 as passing. |
| |
| * test262/expectations.yaml: |
| |
| 2021-11-19 Angelos Oikonomopoulos <angelos@igalia.com> |
| |
| [JSC] Workaround for failing mips tests |
| https://bugs.webkit.org/show_bug.cgi?id=233359 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| Re-enable tests skipped on mips after adding workaround. |
| |
| * stress/call-varargs-double-new-array-buffer.js: |
| * stress/callee-save-fpr.js: |
| * stress/forward-varargs-double-new-array-buffer.js: |
| * stress/new-array-with-spread-cow-double.js: |
| * stress/new-array-with-spread-double-new-array-buffer.js: |
| * stress/spread-escapes-but-new-array-buffer-does-not-double.js: |
| |
| 2021-11-17 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] TypedArray GetArrayLength should not use Reuse |
| https://bugs.webkit.org/show_bug.cgi?id=233299 |
| rdar://85502079 |
| |
| Reviewed by Robin Morisset. |
| |
| * stress/get-array-length-reuse.js: Added. |
| (foo): |
| |
| 2021-11-17 Saam Barati <sbarati@apple.com> |
| |
| Run the memmove fast path in JSGenericTypedArrayView<Adaptor>::set when using a combination of Uint8 and Uint8Clamped |
| https://bugs.webkit.org/show_bug.cgi?id=233271 |
| <rdar://85259288> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * microbenchmarks/typed-array-set-uint8-and-uint8clamped.js: Added. |
| |
| 2021-11-15 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Use operation path when PutByVal child1 is not speculated as a Cell |
| https://bugs.webkit.org/show_bug.cgi?id=233147 |
| rdar://85344310 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/put-by-val-slow-dfg.js: Added. |
| (foo): |
| |
| 2021-11-15 Angelos Oikonomopoulos <angelos@igalia.com> |
| |
| Skip tests newly-failing on mips |
| https://bugs.webkit.org/show_bug.cgi?id=233124 |
| |
| Unreviewed gardening. |
| |
| After 3f59d2aa489ec843e055fc3104c275851d7fbd35, these tests started |
| failing with a SIGBUS on MIPS (on fuloong hardware, they pass on the |
| ci20 boards). Temporarily skip them on this arch until we can track |
| down the issue. |
| |
| * stress/call-varargs-double-new-array-buffer.js: |
| * stress/callee-save-fpr.js: |
| * stress/forward-varargs-double-new-array-buffer.js: |
| * stress/new-array-with-spread-cow-double.js: |
| * stress/new-array-with-spread-double-new-array-buffer.js: |
| * stress/spread-escapes-but-new-array-buffer-does-not-double.js: |
| |
| 2021-11-14 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Use CallLinkInfo in LLInt |
| https://bugs.webkit.org/show_bug.cgi?id=232746 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/is-callable-in-ftl-needs-to-be-aware-of-proxy.js: |
| * stress/sampling-profiler-wasm-name-section.js: |
| (platformSupportsSamplingProfiler.vm.isWasmSupported): |
| * stress/sampling-profiler-wasm.js: |
| (platformSupportsSamplingProfiler.vm.isWasmSupported): |
| * stress/sampling-profiler/samplingProfiler.js: |
| (doesTreeHaveStackTrace): |
| (runTest): |
| * wasm/function-tests/nameSection.js: |
| |
| 2021-11-14 Mikhail R. Gadelha <mikhail@igalia.com> |
| |
| Prevent fused multiply add during ParseInt |
| https://bugs.webkit.org/show_bug.cgi?id=232951 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| When parsing the string in parseInt, gcc can wrongfully generate |
| a fused multiply-add instruction, causing the conversion to be wrong |
| for some high values. An add followed by a multiply gives the correct |
| result and it is the code generated most of the times. |
| |
| This patch adds a volatile qualifier to the number variable, so the |
| compiler doesn't try to optimize it, and enables a failing test on |
| mips. |
| |
| Alternative solutions that I tried but gcc seems to ignore: #pragma |
| STDC FP_CONTRACT OFF, compiling with -ffp-contract=off, and setting function |
| attributes __attribute__((optimize("fp-contract=off"))) and |
| __attribute__((optimize("-ffp-contract=off"))), so volative seems to be |
| a good compromise. |
| |
| The issue was found when cross compiling to mips with gcc 8.4.0 and |
| options -ffp-contract=off -mmadd4. |
| |
| * ChakraCore.yaml: |
| |
| 2021-11-12 Joseph Griego <jgriego@igalia.com> |
| |
| [JSC] update test262 |
| https://bugs.webkit.org/show_bug.cgi?id=233058 |
| |
| For picking up changes to the ShadowRealms test set. |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * test262/expectations.yaml: |
| * test262/harness/arrayContains.js: Removed. |
| * test262/harness/async-gc.js: |
| * test262/latest-changes-summary.txt: |
| * test262/test/built-ins/Array/prototype/every/callbackfn-resize-arraybuffer.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Array/prototype/filter/callbackfn-resize-arraybuffer.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Array/prototype/find/callbackfn-resize-arraybuffer.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Array/prototype/findIndex/callbackfn-resize-arraybuffer.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Array/prototype/findLast/callbackfn-resize-arraybuffer.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Array/prototype/findLastIndex/callbackfn-resize-arraybuffer.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Array/prototype/forEach/callbackfn-resize-arraybuffer.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Array/prototype/map/callbackfn-resize-arraybuffer.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Array/prototype/reduce/callbackfn-resize-arraybuffer.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Array/prototype/reduceRight/callbackfn-resize-arraybuffer.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Array/prototype/some/callbackfn-resize-arraybuffer.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/DataView/prototype/byteLength/resizable-array-buffer-auto.js: |
| (catch): |
| * test262/test/built-ins/DataView/prototype/byteOffset/resizable-array-buffer-auto.js: |
| (catch): |
| * test262/test/built-ins/FinalizationRegistry/gc-has-one-chance-to-call-cleanupCallback.js: |
| * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/callback-not-callable-throws.js: |
| * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-reference.js: |
| * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/cleanup-prevented-with-unregister.js: |
| * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/custom-this.js: |
| * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/holdings-multiple-values.js: |
| * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/length.js: |
| * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/name.js: |
| * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/prop-desc.js: |
| * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/reentrancy.js: |
| * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/return-undefined-with-gc.js: |
| * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/return-undefined.js: |
| * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/this-does-not-have-internal-cells-throws.js: |
| * test262/test/built-ins/FinalizationRegistry/prototype/cleanupSome/this-not-object-throws.js: |
| * test262/test/built-ins/FinalizationRegistry/prototype/unregister/unregister-cleaned-up-cell.js: |
| * test262/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-2.js: |
| * test262/test/built-ins/RegExp/match-indices/indices-array-non-unicode-match.js: |
| * test262/test/built-ins/RegExp/match-indices/indices-array-unicode-match.js: |
| * test262/test/built-ins/RegExp/match-indices/indices-array-unicode-property-names.js: |
| * test262/test/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-proto-from-caller-realm.js: |
| * test262/test/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-throws-typeerror-from-caller-realm.js: Added. |
| (realm.Reflect.construct): |
| * test262/test/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-throws-typeerror-on-non-primitive-arguments.js: Added. |
| (Symbol.toPrimitive): |
| (toString): |
| (valueOf): |
| (apply): |
| * test262/test/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-throws-typeerror-on-non-primitive-returns.js: Added. |
| (r.evaluate): |
| * test262/test/built-ins/ShadowRealm/prototype/evaluate/wrapped-functions-accepts-callable-objects.js: |
| * test262/test/built-ins/SharedArrayBuffer/prototype/prop-desc.js: Added. |
| * test262/test/built-ins/Temporal/Duration/compare/calendar-fields-iterable.js: |
| * test262/test/built-ins/Temporal/Duration/compare/relativeto-string-zoneddatetime-wrong-offset.js: Added. |
| * test262/test/built-ins/Temporal/Duration/compare/relativeto-sub-minute-offset.js: Added. |
| * test262/test/built-ins/Temporal/Duration/prototype/add/calendar-fields-iterable.js: |
| * test262/test/built-ins/Temporal/Duration/prototype/add/relativeto-propertybag-no-time-units.js: Added. |
| (const.result.instance.add.new.Temporal.Duration): |
| * test262/test/built-ins/Temporal/Duration/prototype/add/relativeto-string-zoneddatetime-wrong-offset.js: Added. |
| (instance.add.new.Temporal.Duration): |
| * test262/test/built-ins/Temporal/Duration/prototype/add/relativeto-sub-minute-offset.js: Added. |
| (const.result.instance.add.new.Temporal.Duration): |
| (instance.add.new.Temporal.Duration): |
| * test262/test/built-ins/Temporal/Duration/prototype/round/calendar-fields-iterable.js: |
| * test262/test/built-ins/Temporal/Duration/prototype/round/relativeto-propertybag-no-time-units.js: Added. |
| * test262/test/built-ins/Temporal/Duration/prototype/round/relativeto-string-zoneddatetime-wrong-offset.js: Added. |
| * test262/test/built-ins/Temporal/Duration/prototype/round/relativeto-sub-minute-offset.js: Added. |
| * test262/test/built-ins/Temporal/Duration/prototype/subtract/calendar-fields-iterable.js: |
| * test262/test/built-ins/Temporal/Duration/prototype/subtract/relativeto-propertybag-no-time-units.js: Added. |
| (const.result.instance.subtract.new.Temporal.Duration): |
| * test262/test/built-ins/Temporal/Duration/prototype/subtract/relativeto-string-zoneddatetime-wrong-offset.js: Added. |
| (instance.subtract.new.Temporal.Duration): |
| * test262/test/built-ins/Temporal/Duration/prototype/subtract/relativeto-sub-minute-offset.js: Added. |
| (const.result.instance.subtract.new.Temporal.Duration): |
| (instance.subtract.new.Temporal.Duration): |
| * test262/test/built-ins/Temporal/Duration/prototype/total/calendar-fields-iterable.js: |
| * test262/test/built-ins/Temporal/Duration/prototype/total/relativeto-propertybag-no-time-units.js: Added. |
| * test262/test/built-ins/Temporal/Duration/prototype/total/relativeto-string-zoneddatetime-wrong-offset.js: Added. |
| * test262/test/built-ins/Temporal/Duration/prototype/total/relativeto-sub-minute-offset.js: Added. |
| * test262/test/built-ins/Temporal/Instant/prototype/toString/timezone-offset.js: Added. |
| (test): |
| * test262/test/built-ins/Temporal/Instant/prototype/toString/timezone-string-datetime.js: |
| * test262/test/built-ins/Temporal/Instant/prototype/toString/timezone.js: |
| * test262/test/built-ins/Temporal/PlainDate/prototype/since/largestunit-higher-units.js: |
| * test262/test/built-ins/Temporal/PlainDate/prototype/toPlainDateTime/plaintime-propertybag-no-time-units.js: Added. |
| * test262/test/built-ins/Temporal/PlainDate/prototype/toZonedDateTime/plaintime-propertybag-no-time-units.js: Added. |
| * test262/test/built-ins/Temporal/PlainDateTime/prototype/withPlainTime/plaintime-propertybag-no-time-units.js: Added. |
| * test262/test/built-ins/Temporal/PlainTime/compare/plaintime-propertybag-no-time-units.js: Added. |
| * test262/test/built-ins/Temporal/PlainTime/from/plaintime-propertybag-no-time-units.js: Added. |
| * test262/test/built-ins/Temporal/PlainTime/prototype/equals/plaintime-propertybag-no-time-units.js: Added. |
| * test262/test/built-ins/Temporal/PlainTime/prototype/since/plaintime-propertybag-no-time-units.js: Added. |
| * test262/test/built-ins/Temporal/PlainTime/prototype/until/plaintime-propertybag-no-time-units.js: Added. |
| * test262/test/built-ins/Temporal/TimeZone/prototype/getOffsetStringFor/basic.js: Added. |
| (test): |
| * test262/test/built-ins/Temporal/ZonedDateTime/from/zoneddatetime-sub-minute-offset.js: Added. |
| (string_appeared_here.forEach): |
| * test262/test/built-ins/Temporal/ZonedDateTime/prototype/equals/sub-minute-offset.js: Added. |
| * test262/test/built-ins/Temporal/ZonedDateTime/prototype/getISOFields/offset.js: Added. |
| (test): |
| * test262/test/built-ins/Temporal/ZonedDateTime/prototype/offset/basic.js: Added. |
| (test): |
| * test262/test/built-ins/Temporal/ZonedDateTime/prototype/since/sub-minute-offset.js: Added. |
| * test262/test/built-ins/Temporal/ZonedDateTime/prototype/toJSON/balance-negative-time-units.js: |
| * test262/test/built-ins/Temporal/ZonedDateTime/prototype/toJSON/offset.js: Added. |
| (test): |
| * test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/balance-negative-time-units.js: |
| * test262/test/built-ins/Temporal/ZonedDateTime/prototype/toString/offset.js: Added. |
| (test): |
| * test262/test/built-ins/Temporal/ZonedDateTime/prototype/until/sub-minute-offset.js: Added. |
| * test262/test/built-ins/Temporal/ZonedDateTime/prototype/with/offset-property-sub-minute.js: Added. |
| (string_appeared_here.forEach): |
| * test262/test/built-ins/Temporal/ZonedDateTime/prototype/with/receiver-offset-broken.js: Added. |
| (ObservedCalendar): |
| (ObservedCalendar.prototype.toString): |
| (ObservedCalendar.prototype.mergeFields): |
| (ObservedCalendar.prototype.resetCalls): |
| * test262/test/built-ins/Temporal/ZonedDateTime/prototype/withPlainTime/plaintime-propertybag-no-time-units.js: Added. |
| * test262/test/built-ins/Temporal/getOwnPropertyNames.js: |
| * test262/test/built-ins/TypedArray/prototype/every/callbackfn-resize.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArray/prototype/filter/callbackfn-resize.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArray/prototype/find/callbackfn-resize.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArray/prototype/findIndex/callbackfn-resize.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArray/prototype/findLast/callbackfn-resize.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArray/prototype/findLastIndex/callbackfn-resize.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArray/prototype/forEach/callbackfn-resize.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArray/prototype/map/callbackfn-resize.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArray/prototype/reduce/callbackfn-resize.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArray/prototype/reduceRight/callbackfn-resize.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArray/prototype/some/callbackfn-resize.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/WeakRef/prototype/deref/gc-cleanup-not-prevented-with-wr-deref.js: |
| * test262/test/harness/arrayContains.js: Removed. |
| * test262/test/harness/testTypedArray.js: |
| * test262/test/intl402/Collator/prototype/resolvedOptions/order.js: |
| * test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/order-dayPeriod.js: |
| * test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/order-fractionalSecondDigits.js: |
| * test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/order-style.js: |
| * test262/test/intl402/DateTimeFormat/prototype/resolvedOptions/order.js: |
| * test262/test/intl402/ListFormat/prototype/resolvedOptions/order.js: |
| * test262/test/intl402/NumberFormat/constructor-options-roundingMode-invalid.js: Added. |
| (brokenToString.toString): |
| * test262/test/intl402/NumberFormat/constructor-options-throwing-getters-rounding-mode.js: Added. |
| (get roundingMode): |
| * test262/test/intl402/NumberFormat/constructor-signDisplay-negative.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-ceil.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-expand.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-floor.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-half-ceil.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-half-even.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-half-expand.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-half-floor.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-half-trunc.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/format-rounding-mode-trunc.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-currency-de-DE.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-currency-en-US.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-currency-ja-JP.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-currency-ko-KR.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-currency-zh-TW.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-de-DE.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-en-US.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-ja-JP.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-ko-KR.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/format/signDisplay-negative-zh-TW.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-currency-de-DE.js: Added. |
| (verifyFormatParts): |
| (verifyFormatParts.nf.formatToParts): |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-currency-en-US.js: Added. |
| (verifyFormatParts): |
| (verifyFormatParts.nf.formatToParts): |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-currency-ja-JP.js: Added. |
| (verifyFormatParts): |
| (verifyFormatParts.nf.formatToParts): |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-currency-ko-KR.js: Added. |
| (verifyFormatParts): |
| (verifyFormatParts.nf.formatToParts): |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-currency-zh-TW.js: Added. |
| (verifyFormatParts): |
| (verifyFormatParts.nf.formatToParts): |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-de-DE.js: Added. |
| (verifyFormatParts): |
| (verifyFormatParts.nf.formatToParts): |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-en-US.js: Added. |
| (verifyFormatParts): |
| (verifyFormatParts.nf.formatToParts): |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-ja-JP.js: Added. |
| (verifyFormatParts): |
| (verifyFormatParts.nf.formatToParts): |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-ko-KR.js: Added. |
| (verifyFormatParts): |
| (verifyFormatParts.nf.formatToParts): |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-negative-zh-TW.js: Added. |
| (verifyFormatParts): |
| (verifyFormatParts.nf.formatToParts): |
| * test262/test/intl402/NumberFormat/prototype/resolvedOptions/order.js: |
| * test262/test/intl402/NumberFormat/prototype/resolvedOptions/roundingMode.js: Added. |
| * test262/test/intl402/PluralRules/prototype/resolvedOptions/order.js: |
| * test262/test/intl402/RelativeTimeFormat/prototype/resolvedOptions/order.js: |
| * test262/test/intl402/Segmenter/prototype/resolvedOptions/order.js: |
| * test262/test/language/block-scope/syntax/for-in/acquire-properties-from-array.js: |
| * test262/test/language/block-scope/syntax/for-in/acquire-properties-from-object.js: |
| * test262/test/language/expressions/dynamic-import/usage/nested-arrow-assignment-expression-eval-script-code-host-resolves-module-code.js: |
| * test262/test/language/expressions/dynamic-import/usage/nested-arrow-import-then-eval-script-code-host-resolves-module-code.js: |
| * test262/test/language/expressions/dynamic-import/usage/nested-async-arrow-function-await-eval-script-code-host-resolves-module-code.js: |
| * test262/test/language/expressions/dynamic-import/usage/nested-async-arrow-function-return-await-eval-script-code-host-resolves-module-code.js: |
| * test262/test/language/expressions/dynamic-import/usage/nested-async-function-await-eval-script-code-host-resolves-module-code.js: |
| * test262/test/language/expressions/dynamic-import/usage/nested-async-function-eval-script-code-host-resolves-module-code.js: |
| * test262/test/language/expressions/dynamic-import/usage/nested-async-function-return-await-eval-script-code-host-resolves-module-code.js: |
| * test262/test/language/expressions/dynamic-import/usage/nested-async-gen-await-eval-script-code-host-resolves-module-code.js: |
| * test262/test/language/expressions/dynamic-import/usage/nested-async-gen-return-await-eval-script-code-host-resolves-module-code.js: |
| * test262/test/language/expressions/dynamic-import/usage/nested-block-import-then-eval-script-code-host-resolves-module-code.js: |
| * test262/test/language/expressions/dynamic-import/usage/nested-do-while-eval-script-code-host-resolves-module-code.js: |
| * test262/test/language/expressions/dynamic-import/usage/nested-else-import-then-eval-script-code-host-resolves-module-code.js: |
| * test262/test/language/expressions/dynamic-import/usage/nested-function-import-then-eval-script-code-host-resolves-module-code.js: |
| * test262/test/language/expressions/dynamic-import/usage/nested-if-braceless-eval-script-code-host-resolves-module-code.js: |
| * test262/test/language/expressions/dynamic-import/usage/nested-if-import-then-eval-script-code-host-resolves-module-code.js: |
| * test262/test/language/expressions/dynamic-import/usage/nested-while-import-then-eval-script-code-host-resolves-module-code.js: |
| * test262/test/language/expressions/dynamic-import/usage/syntax-nested-block-labeled-eval-script-code-host-resolves-module-code.js: |
| * test262/test/language/expressions/dynamic-import/usage/top-level-import-then-eval-script-code-host-resolves-module-code.js: |
| * test262/test262-Revision.txt: |
| |
| 2021-11-12 Guillaume Emont <guijemont@igalia.com> |
| |
| Unskip typeProfiler/getter-richards.js on armv7 |
| https://bugs.webkit.org/show_bug.cgi?id=233050 |
| |
| Unreviewed gardening. |
| |
| Our arm bots are now fast enough to run this, it does still timeout on |
| some of our test mips devices though. |
| |
| * typeProfiler/getter-richards.js: |
| |
| 2021-11-12 Xan Lopez <xan@igalia.com> |
| |
| [JSC][32bit] Unskip JSTests/microbenchmarks/redefine-property-accessor-dictionary.js |
| https://bugs.webkit.org/show_bug.cgi?id=233034 |
| |
| Unreviewed gardening. |
| |
| This is skipped for memoryLimited *and* mips|arm systems, but a) |
| seems to run fine on both setups and b) is almost identical to the |
| other tests/benchmarks that landed in the same patch, that do not |
| have that limitation. Optimistically remove the skip and let's see |
| if it sticks. |
| |
| * microbenchmarks/redefine-property-accessor-dictionary.js: |
| |
| 2021-11-11 Michael Saboff <msaboff@apple.com> |
| |
| Inline RegExp.test JIT code in DFG and FTL |
| https://bugs.webkit.org/show_bug.cgi?id=230469 |
| |
| Reviewed by Saam Barati. |
| |
| New microbenchmark. |
| |
| * microbenchmarks/regexp-test-inlined.js: Added. |
| |
| 2021-11-10 Saam Barati <sbarati@apple.com> |
| |
| in_by_val should not constant fold to in_by_id when the property is a property index |
| https://bugs.webkit.org/show_bug.cgi?id=232753 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/dont-in-by-id-when-index-2.js: Added. |
| (assert): |
| (main.v179): |
| (main.async v244): |
| (main): |
| * stress/dont-in-by-id-when-index.js: Added. |
| (assert): |
| (test): |
| |
| 2021-11-10 Xan Lopez <xan@igalia.com> |
| |
| [JSC][32bit] Unskip JSTests/stress/json-stringify-string-builder-overflow.js |
| https://bugs.webkit.org/show_bug.cgi?id=232944 |
| |
| Unreviewed gardening. |
| |
| This seems to survive 1000 iterations on both armv7 and mips |
| hw. Remove the arch-specific skips leaving the memory limited |
| ones. |
| |
| * stress/json-stringify-string-builder-overflow.js: |
| |
| 2021-11-09 Saam Barati <sbarati@apple.com> |
| |
| When inlining NewSymbol in the DFG don't universally call ToString on the input |
| https://bugs.webkit.org/show_bug.cgi?id=232754 |
| |
| Reviewed by Robin Morisset. |
| |
| * stress/inline-new-symbol-dfg-undefined-first-arg.js: Added. |
| (assert): |
| (foo): |
| |
| 2021-11-09 Angelos Oikonomopoulos <angelos@igalia.com> |
| |
| Unskip array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg on ARM |
| https://bugs.webkit.org/show_bug.cgi?id=232811 |
| |
| Unreviewed gardening. |
| |
| Gate the number of iterations adjustment on $memoryLimited instead of |
| the arch. |
| |
| * stress/array-buffer-view-watchpoint-can-be-fired-in-really-add-in-dfg.js: |
| |
| 2021-11-09 Mikhail R. Gadelha <mikhail@igalia.com> |
| |
| Unskip deltablue-for-of.js on arm and mips |
| https://bugs.webkit.org/show_bug.cgi?id=227291 |
| |
| Unreviewed gardening. |
| |
| The test is not crashing but timeouts because of the number of |
| iterations. So to enable testing in more archs, we reduced the |
| number of iterations and constraints. |
| |
| * typeProfiler/deltablue-for-of.js: |
| (deltaBlue): |
| |
| 2021-11-09 Angelos Oikonomopoulos <angelos@igalia.com> |
| |
| Unskip microbenchmarks/memcpy-typed-loop.js on arm/mips |
| https://bugs.webkit.org/show_bug.cgi?id=232813 |
| |
| Unreviewed gardening. |
| |
| Can't reproduce this any more. |
| * microbenchmarks/memcpy-typed-loop.js: |
| |
| 2021-11-08 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Implement IntlNumberFormat v3 |
| https://bugs.webkit.org/show_bug.cgi?id=215438 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/intl-numberformat-format-large.js: Added. |
| (shouldBe): |
| * stress/intl-numberformat-format-range-v3.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (shouldNotThrow): |
| (nf.formatRange.string_appeared_here.forEach): |
| (nf.formatRangeToParts.validRanges.forEach): |
| (nf6.formatRange.shouldThrow): |
| * stress/intl-numberformat-format-string-v3.js: Added. |
| (shouldBe): |
| * stress/intl-numberformat-format-string.js: Added. |
| (shouldBe): |
| * stress/intl-numberformat-format-to-parts.js: |
| * stress/intl-numberformat-rounding-increment-resolved-match-v3.js: Added. |
| (shouldBe): |
| (validRoundingIncrements.forEach): |
| * stress/intl-numberformat-rounding-increment-v3.js: Added. |
| (shouldThrow): |
| (validRoundingIncrements.forEach): |
| (invalidRoundingIncrements.forEach): |
| * stress/intl-numberformat-rounding-increment-value-hanidec.js: Added. |
| (shouldBe): |
| * stress/intl-numberformat-rounding-increment-value-v3.js: Added. |
| (shouldBe): |
| * stress/intl-numberformat-rounding-increment-value.js: Added. |
| (shouldBe): |
| * stress/intl-numberformat-rounding-mode-table-v3.js: Added. |
| (shouldBe): |
| (Object.keys.expectations.forEach): |
| * stress/intl-numberformat-rounding-mode-v3.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (validRoundingMode.forEach): |
| (invalidRoundingMode.forEach): |
| (let.options.get signDisplay): |
| (let.options.get roundingMode): |
| * stress/intl-numberformat-sign-display-v3.js: Added. |
| (shouldBe): |
| * stress/intl-numberformat-trailing-zero-display-resolved-options-v3.js: Added. |
| (shouldBe): |
| * stress/intl-numberformat-trailing-zero-display-v3.js: Added. |
| (shouldBe): |
| * stress/intl-numberformat-usegrouping-v3.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (validUseGrouping.forEach): |
| (invalidUseGrouping.forEach): |
| (all.forEach): |
| (mgd1.forEach): |
| (mgd2.forEach): |
| * stress/intl-numberformat.js: |
| (testNumberFormat): |
| (shouldBe.testNumberFormat.Intl.NumberFormat): |
| * stress/intl-pluralrules-selectrange.js: Added. |
| (shouldBe): |
| * test262/config.yaml: |
| |
| 2021-11-08 Saam Barati <sbarati@apple.com> |
| |
| We need to PreferNumber when calling toPrimitive for negate |
| https://bugs.webkit.org/show_bug.cgi?id=232679 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * stress/negate-prefer-number-to-primitive.js |
| |
| 2021-11-05 Russell Epstein <repstein@apple.com> |
| |
| Cherry-pick r284635. rdar://problem/85039977 |
| |
| [JSC] Inserted GetTypedArrayLengthAsInt52 for PutByVal should have NodeResultInt52 |
| https://bugs.webkit.org/show_bug.cgi?id=232059 |
| |
| Reviewed by Saam Barati. |
| |
| JSTests: |
| |
| * stress/inserted-gettypedarraylengthasint52-should-have-int52-result-for-put-by-val.js: Added. |
| (foo.bar): |
| (foo): |
| |
| Source/JavaScriptCore: |
| |
| When inserting GetTypedArrayLengthAsInt52 after fixup phase, we must set NodeResultInt52. |
| |
| * dfg/DFGSSALoweringPhase.cpp: |
| (JSC::DFG::SSALoweringPhase::handleNode): |
| |
| |
| git-svn-id: https://svn.webkit.org/repository/webkit/trunk@284635 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
| |
| 2021-10-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Inserted GetTypedArrayLengthAsInt52 for PutByVal should have NodeResultInt52 |
| https://bugs.webkit.org/show_bug.cgi?id=232059 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/inserted-gettypedarraylengthasint52-should-have-int52-result-for-put-by-val.js: Added. |
| (foo.bar): |
| (foo): |
| |
| 2021-11-04 Alexey Shvayka <ashvayka@apple.com> |
| |
| We need to PreferNumber when calling toPrimitive for coercion to BigInt |
| https://bugs.webkit.org/show_bug.cgi?id=232720 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/big-int-constructor.js: |
| * stress/bigint-asintn.js: |
| * stress/bigint-asuintn.js: |
| |
| 2021-11-04 Mikhail R. Gadelha <mikhail@igalia.com> |
| |
| Unskip tests disabled because of the recent 32 bits issues |
| https://bugs.webkit.org/show_bug.cgi?id=230490 |
| |
| Unreviewed gardening. |
| |
| * ChakraCore.yaml: |
| |
| 2021-11-02 Philip Chimento <pchimento@igalia.com> |
| |
| [JSC] Implement Temporal.Instant |
| https://bugs.webkit.org/show_bug.cgi?id=229826 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/temporal-instant.js: Added. |
| (shouldBe): |
| (shouldNotBe): |
| (shouldThrow): |
| (instants.forEach): |
| (shouldThrow.new.Temporal.Instant): |
| (const.maxValue.new.Temporal.Instant): |
| (shouldBe.epoch.subtract): |
| * test262/config.yaml: No need to ignore all Temporal.Instant tests |
| anymore, only the ones for the unimplemented methods. |
| |
| 2021-11-02 Saam Barati <sbarati@apple.com> |
| |
| EnumeratorGetByVal for IndexedMode+OwnStructureMode doesn't always recover the property name |
| https://bugs.webkit.org/show_bug.cgi?id=231321 |
| <rdar://problem/84211697> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/enumerator-get-by-val-needs-to-recover-property-name.js: Added. |
| |
| 2021-11-01 Saam Barati <sbarati@apple.com> |
| |
| ArrayBuffer species watchpoint being invalidated doesn't mean it's not an ArrayBuffer constructor from the same global object |
| https://bugs.webkit.org/show_bug.cgi?id=231322 |
| <rdar://problem/84212078> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/array-buffer-species-watchpoint-should-not-dictate-if-constructor-is-correct.js: Added. |
| (main.async v23): |
| (main): |
| |
| 2021-11-01 Robin Morisset <rmorisset@apple.com> |
| |
| JSGenericTypedArrayView<Adaptor>::set crashes if the length + objectOffset is > UINT32_MAX |
| https://bugs.webkit.org/show_bug.cgi?id=231975 |
| rdar://84402043 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| - regress-84402043 is the testcase that revealed the problem. |
| - typed-array-set-large(-offset) test the same function, in the typed-array to typed-array case |
| - typed-array-large-slice tests the only caller that passes a non-0 objectOffset, and found other issues with it |
| - typed-array-large-oob-eventually-not.js is just another test of the Wasm4GB change that I had forgotten to commit |
| |
| * stress/regress-84402043.js: Added. |
| * stress/typed-array-large-oob-eventually-not.js: Added. |
| (test): |
| * stress/typed-array-large-slice.js: Added. |
| (expect): |
| * stress/typed-array-set-large-offset.js: Added. |
| * stress/typed-array-set-large.js: Added. |
| |
| 2021-10-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, reduce # of iterations in stress/validate-int-52-ai-state.js due to Debug timeout |
| |
| * stress/validate-int-52-ai-state.js: |
| |
| 2021-10-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, skip stress/unlinked-code-block-destructor.js when it is debug build |
| |
| The bug was not related to Debug build. And it is timing out on Debug build due to |
| heavy test load. |
| |
| * stress/unlinked-code-block-destructor.js: |
| |
| 2021-10-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, reduce # of iteration since it is timing out on Debug JSC bot |
| |
| * stress/put-private-name-ic-write-barrier.js: |
| (PutPrivateNameIC): |
| |
| 2021-10-29 Dmitry Bezhetskov <dbezhetskov@igalia.com> |
| |
| [WASM-Function-References] Add support for (ref.null heaptype) |
| https://bugs.webkit.org/show_bug.cgi?id=229707 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Added spec tests for (ref.null $t) : https://github.com/WebAssembly/function-references/blob/master/test/core/ref_null.wast. |
| |
| * wasm.yaml: |
| * wasm/function-references-spec-tests/call_ref.wast.js: |
| * wasm/function-references-spec-tests/ref_null.wast.js: Added. |
| |
| 2021-10-27 Dmitry Bezhetskov <dbezhetskov@igalia.com> |
| |
| [WASM-Function-References] Add call_ref spec tests |
| https://bugs.webkit.org/show_bug.cgi?id=229710 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Add tests for call_ref instruction from the spec repo: |
| https://github.com/WebAssembly/function-references/blob/master/test/core/call_ref.wast. |
| Also added tests for Funcref/Externref in Wasm tables and globals to test |
| new internal representation of Funcref = (ref null funcref). |
| |
| * wasm.yaml: |
| * wasm/function-references-spec-tests/call_ref.wast.js: Added. |
| * wasm/function-references/ref_types.js: |
| (async testRefGlobalCheck): |
| (async testNonNullExternrefIncompatible): |
| (async testNonNullFuncrefIncompatible): |
| (async testWasmJSGlobals): |
| (async testRefTypesInTables): |
| * wasm/wasm.json: |
| |
| 2021-10-26 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreivewed, fix CLoop build and test failure |
| |
| CLoop is running Yarr interpreter instead of Yarr JIT. |
| |
| * mozilla/ecma_3/RegExp/regress-85721.js: |
| |
| 2021-10-26 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, fix test262 bot failures |
| https://bugs.webkit.org/show_bug.cgi?id=232005 |
| |
| * test262/expectations.yaml: |
| |
| 2021-10-25 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Don't branch around register allocation in DFG enumerator get by val |
| https://bugs.webkit.org/show_bug.cgi?id=232260 |
| rdar://84544469 |
| |
| Reviewed by Robin Morisset. |
| |
| * stress/dont-branch-around-regalloc-enumerator-get-by-val-float.js: Added. |
| (foo): |
| |
| 2021-10-24 Alexey Shvayka <ashvayka@apple.com> |
| |
| InternalFunction::createSubclassStructure() should use prototype's global object |
| https://bugs.webkit.org/show_bug.cgi?id=231874 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/internal-function-subclass-structure-realm.js: Added. |
| |
| 2021-10-23 Phillip Mates <pmates@igalia.com> |
| |
| update test262 |
| https://bugs.webkit.org/show_bug.cgi?id=232005 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * test262/expectations.yaml: |
| * test262/latest-changes-summary.txt: |
| * test262/test/built-ins/Array/prototype/concat/Array.prototype.concat_large-typed-array.js: |
| (concatTypedArray): |
| * test262/test/built-ins/Array/prototype/concat/Array.prototype.concat_small-typed-array.js: |
| (concatTypedArray): |
| * test262/test/built-ins/Array/prototype/copyWithin/non-negative-target-and-start.js: |
| * test262/test/built-ins/Function/internals/Call/class-ctor-realm.js: |
| * test262/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-44.js: |
| * test262/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-49.js: |
| * test262/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-b-2.js: |
| * test262/test/built-ins/ShadowRealm/prototype/evaluate/globalthis-available-properties.js: Added. |
| * test262/test/built-ins/ShadowRealm/prototype/evaluate/globalthis-config-only-properties.js: Added. |
| (const.remainingNames.names.filter.name.esNonConfigValues.includes): |
| (hasOwn.call): |
| * test262/test/built-ins/ShadowRealm/prototype/evaluate/globalthis-orginary-object.js: Added. |
| * test262/test/built-ins/ShadowRealm/prototype/evaluate/throws-error-from-ctor-realm.js: Added. |
| * test262/test/built-ins/ShadowRealm/prototype/evaluate/validates-realm-object.js: |
| * test262/test/built-ins/ShadowRealm/prototype/evaluate/wrapped-function-proto-from-caller-realm.js: |
| (checkArgWrapperFn.realm.evaluate.string_appeared_here.assert.sameValue.checkArgWrapperFn): |
| * test262/test/built-ins/ShadowRealm/prototype/importValue/not-constructor.js: |
| * test262/test/built-ins/Temporal/PlainDate/prototype/since/largestunit-higher-units.js: |
| * test262/test/built-ins/Temporal/PlainMonthDay/prototype/toPlainDate/basic.js: |
| * test262/test/intl402/NumberFormat/prototype/format/signDisplay-currency-de-DE.js: |
| * test262/test/intl402/NumberFormat/prototype/format/signDisplay-currency-en-US.js: |
| * test262/test/intl402/NumberFormat/prototype/format/signDisplay-currency-ja-JP.js: |
| * test262/test/intl402/NumberFormat/prototype/format/signDisplay-currency-ko-KR.js: |
| * test262/test/intl402/NumberFormat/prototype/format/signDisplay-currency-zh-TW.js: |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-currency-de-DE.js: |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-currency-en-US.js: |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-currency-ja-JP.js: |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-currency-ko-KR.js: |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/signDisplay-currency-zh-TW.js: |
| * test262/test/intl402/Temporal/Instant/prototype/toLocaleString/locales-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/Instant/prototype/toLocaleString/locales-undefined.js. |
| * test262/test/intl402/Temporal/Instant/prototype/toLocaleString/options-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/Instant/prototype/toLocaleString/options-undefined.js. |
| * test262/test/intl402/Temporal/PlainDate/prototype/toLocaleString/locales-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainDate/prototype/toLocaleString/locales-undefined.js. |
| * test262/test/intl402/Temporal/PlainDate/prototype/toLocaleString/options-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainDate/prototype/toLocaleString/options-undefined.js. |
| * test262/test/intl402/Temporal/PlainDateTime/prototype/toLocaleString/locales-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainDateTime/prototype/toLocaleString/locales-undefined.js. |
| * test262/test/intl402/Temporal/PlainDateTime/prototype/toLocaleString/options-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainDateTime/prototype/toLocaleString/options-undefined.js. |
| * test262/test/intl402/Temporal/PlainMonthDay/prototype/toLocaleString/locales-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainMonthDay/prototype/toLocaleString/locales-undefined.js. |
| * test262/test/intl402/Temporal/PlainMonthDay/prototype/toLocaleString/options-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainMonthDay/prototype/toLocaleString/options-undefined.js. |
| * test262/test/intl402/Temporal/PlainTime/prototype/toLocaleString/locales-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainTime/prototype/toLocaleString/locales-undefined.js. |
| * test262/test/intl402/Temporal/PlainTime/prototype/toLocaleString/options-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainTime/prototype/toLocaleString/options-undefined.js. |
| * test262/test/intl402/Temporal/PlainYearMonth/prototype/toLocaleString/locales-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainYearMonth/prototype/toLocaleString/locales-undefined.js. |
| * test262/test/intl402/Temporal/PlainYearMonth/prototype/toLocaleString/options-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/PlainYearMonth/prototype/toLocaleString/options-undefined.js. |
| * test262/test/intl402/Temporal/ZonedDateTime/prototype/toLocaleString/locales-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/toLocaleString/locales-undefined.js. |
| * test262/test/intl402/Temporal/ZonedDateTime/prototype/toLocaleString/options-undefined.js: Renamed from JSTests/test262/test/built-ins/Temporal/ZonedDateTime/prototype/toLocaleString/options-undefined.js. |
| * test262/test/language/computed-property-names/basics/number.js: |
| * test262/test/language/computed-property-names/basics/string.js: |
| * test262/test/language/computed-property-names/basics/symbol.js: |
| * test262/test/language/computed-property-names/class/method/generator.js: |
| * test262/test/language/computed-property-names/class/method/number.js: |
| * test262/test/language/computed-property-names/class/method/string.js: |
| * test262/test/language/computed-property-names/class/method/symbol.js: |
| * test262/test/language/computed-property-names/object/method/generator.js: |
| * test262/test/language/computed-property-names/object/method/number.js: |
| * test262/test/language/computed-property-names/object/method/string.js: |
| * test262/test/language/computed-property-names/object/method/symbol.js: |
| * test262/test/language/computed-property-names/to-name-side-effects/numbers-object.js: |
| * test262/test/language/computed-property-names/to-name-side-effects/object.js: |
| * test262/test/language/identifiers/part-unicode-14.0.0-escaped.js: Added. |
| * test262/test/language/identifiers/part-unicode-14.0.0.js: Added. |
| * test262/test/language/identifiers/start-unicode-14.0.0-escaped.js: Added. |
| * test262/test/language/identifiers/start-unicode-14.0.0.js: Added. |
| * test262/test/language/rest-parameters/arrow-function.js: |
| * test262/test/language/rest-parameters/no-alias-arguments.js: |
| (f): |
| * test262/test/language/rest-parameters/with-new-target.js: |
| (Base): |
| (Child): |
| * test262/test/language/statements/class/definition/fn-length-static-precedence-order.js: |
| * test262/test/language/statements/class/definition/fn-name-static-precedence-order.js: |
| * test262/test/language/statements/class/static-init-arguments-functions.js: |
| * test262/test/language/statements/class/static-init-arguments-methods.js: |
| * test262/test/language/statements/class/subclass/builtin-objects/Array/contructor-calls-super-multiple-arguments.js: |
| * test262/test/language/statements/class/subclass/builtin-objects/Array/regular-subclassing.js: |
| * test262/test262-Revision.txt: |
| |
| 2021-10-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] GetTypedArrayLengthAsInt52 must be inserted only when we ensure that input is TypedArray via array-mode-based filtering |
| https://bugs.webkit.org/show_bug.cgi?id=232168 |
| rdar://84366658 |
| |
| Reviewed by Robin Morisset. |
| |
| * stress/gettypedarraylengthasint52-must-be-emitted-for-typedarray.js: Added. |
| (foo): |
| |
| 2021-10-22 Asumu Takikawa <asumu@igalia.com> |
| |
| Change WebAssembly module import linking time to evaluate step. |
| https://bugs.webkit.org/show_bug.cgi?id=231114 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Added test cases based on Wasm/ESM proposal examples from: |
| |
| https://github.com/WebAssembly/esm-integration/blob/main/proposals/esm-integration/EXAMPLES.md |
| |
| The new tests cases cover the bindings made for both JS<->Wasm |
| and Wasm<->JS cyclic module cases, and importing values from JS |
| into Wasm modules. The tests do not cover importing memory values |
| as this does not work yet. |
| |
| * wasm/modules/wasm-js-cycle.js: |
| * wasm/modules/wasm-js-cycle/entry-global.wasm: |
| * wasm/modules/wasm-js-cycle/entry-global.wat: |
| * wasm/modules/wasm-js-cycle/entry-table.wasm: |
| * wasm/modules/wasm-js-cycle/entry-table.wat: |
| * wasm/modules/wasm-js-cycle/global.js: |
| (from.string_appeared_here.export.incrementGlobal): Deleted. |
| * wasm/modules/wasm-js-cycle/table.js: |
| (from.string_appeared_here.export.setTable): Deleted. |
| |
| * wasm/modules/js-wasm-cycle.js: |
| (then): |
| * wasm/modules/js-wasm-cycle/entry-function.js: Added. |
| (f): |
| * wasm/modules/js-wasm-cycle/entry-i32-global.js: Added. |
| * wasm/modules/js-wasm-cycle/entry-i32-value.js: Added. |
| * wasm/modules/js-wasm-cycle/entry-memory.js: Added. |
| * wasm/modules/js-wasm-cycle/entry-table.js: Added. |
| * wasm/modules/js-wasm-cycle/entry-wasm-global.js: Added. |
| (f): |
| * wasm/modules/js-wasm-cycle/entry-wasm-memory.js: Added. |
| (f): |
| * wasm/modules/js-wasm-cycle/entry-wasm-table.js: Added. |
| (f): |
| * wasm/modules/js-wasm-cycle/function.wasm: Added. |
| * wasm/modules/js-wasm-cycle/function.wat: Added. |
| * wasm/modules/js-wasm-cycle/i32-global.wasm: Added. |
| * wasm/modules/js-wasm-cycle/i32-global.wat: Added. |
| * wasm/modules/js-wasm-cycle/i32-value.wasm: Added. |
| * wasm/modules/js-wasm-cycle/i32-value.wat: Added. |
| * wasm/modules/js-wasm-cycle/memory.wasm: Added. |
| * wasm/modules/js-wasm-cycle/memory.wat: Added. |
| * wasm/modules/js-wasm-cycle/table.wasm: Added. |
| * wasm/modules/js-wasm-cycle/table.wat: Added. |
| * wasm/modules/js-wasm-cycle/wasm-global.wasm: Added. |
| * wasm/modules/js-wasm-cycle/wasm-global.wat: Added. |
| * wasm/modules/js-wasm-cycle/wasm-memory.wasm: Added. |
| * wasm/modules/js-wasm-cycle/wasm-memory.wat: Added. |
| * wasm/modules/js-wasm-cycle/wasm-table.wasm: Added. |
| * wasm/modules/js-wasm-cycle/wasm-table.wat: Added. |
| * wasm/modules/wasm-imports-js-exports.js: |
| * wasm/modules/wasm-imports-js-exports/global.js: Added. |
| * wasm/modules/wasm-imports-js-exports/global.wasm: Added. |
| * wasm/modules/wasm-imports-js-exports/global.wat: Added. |
| * wasm/modules/wasm-imports-js-exports/table.js: Added. |
| * wasm/modules/wasm-imports-js-exports/table.wasm: Added. |
| * wasm/modules/wasm-imports-js-exports/table.wat: Added. |
| * wasm/modules/wasm-js-cycle.js: |
| * wasm/modules/wasm-js-cycle/entry-global.wasm: Added. |
| * wasm/modules/wasm-js-cycle/entry-global.wat: Added. |
| * wasm/modules/wasm-js-cycle/entry-memory.wasm: Added. |
| * wasm/modules/wasm-js-cycle/entry-memory.wat: Added. |
| * wasm/modules/wasm-js-cycle/entry-table.wasm: Added. |
| * wasm/modules/wasm-js-cycle/entry-table.wat: Added. |
| * wasm/modules/wasm-js-cycle/global.js: Added. |
| (export.incrementGlobal): |
| * wasm/modules/wasm-js-cycle/memory.js: Added. |
| (from.string_appeared_here.export.setMemory): |
| * wasm/modules/wasm-js-cycle/table.js: Added. |
| (export.setTable): |
| |
| 2021-10-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Inserted GetTypedArrayLengthAsInt52 for PutByVal should have NodeResultInt52 |
| https://bugs.webkit.org/show_bug.cgi?id=232059 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/inserted-gettypedarraylengthasint52-should-have-int52-result-for-put-by-val.js: Added. |
| (foo.bar): |
| (foo): |
| |
| 2021-10-18 Phillip Mates <pmates@igalia.com> |
| |
| Test coverage for JSC shadow realms implementation |
| https://bugs.webkit.org/show_bug.cgi?id=230602 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * modules/import-meta-syntax.js: |
| (shouldThrow): |
| * stress/eval-indirect.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| * stress/import-syntax.js: |
| * stress/resources/shadow-realm-example-module.js: Added. |
| (putInGlobal): |
| (getFromGlobal): |
| (getAnObject): |
| (getCallCount): |
| * stress/shadow-realm-evaluate.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (assertionFn): |
| (shouldBe.String): |
| (shouldBe.globalObjectFor.doEval): |
| (shouldBe.globalObjectFor): |
| * stress/shadow-realm-import-value.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (async shouldThrowAsync): |
| (async const): |
| (doImport): |
| * stress/shadow-realm.js: Added. |
| (shouldBe): |
| (throw.new.Error): |
| * test262/config.yaml: |
| |
| 2021-10-18 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] PutByVal's child5 should be KnownInt32Use / Int52RepUse in FTL |
| https://bugs.webkit.org/show_bug.cgi?id=231884 |
| rdar://84357099 |
| |
| Reviewed by Robin Morisset. |
| |
| * stress/put-by-val-known-int32.js: Added. |
| (new.Uint8Array.1000000.map): |
| |
| 2021-10-16 Robin Morisset <rmorisset@apple.com> |
| |
| Allow WASM to use up to 4GB |
| https://bugs.webkit.org/show_bug.cgi?id=229353 |
| rdar://81603447 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| The big-wasm-memory/wasm-memory-requested... tests used to simply expect an OOM at 2GB. |
| They now expect success at 4GB, and failure at 4GB+1. |
| 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). |
| 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. |
| |
| I also added a few new tests, specifically checking our handling of large typed arrays, and especially of indices above INT32_MAX. |
| |
| * stress/big-wasm-memory-grow-no-max.js: |
| (test): |
| * stress/big-wasm-memory-grow.js: |
| (test): |
| * stress/big-wasm-memory.js: |
| (test): |
| * stress/typed-array-always-large.js: Added. |
| (getArrayLength): |
| (getByVal): |
| (putByVal): |
| (test): |
| * stress/typed-array-eventually-large.js: Added. |
| (getArrayLength): |
| (getByVal): |
| (putByVal): |
| (test): |
| * stress/typed-array-large-eventually-oob.js: Added. |
| (getArrayLength): |
| (getByVal): |
| (putByVal): |
| (test): |
| * wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE-2.js: |
| * wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE.js: |
| |
| 2021-10-15 Robin Morisset <rmorisset@apple.com> |
| |
| Revert r284230, my last fixes to the watch build make it break tests |
| https://bugs.webkit.org/show_bug.cgi?id=231797 |
| |
| Unreviewed. |
| |
| * stress/big-wasm-memory-grow-no-max.js: |
| (test): |
| * stress/big-wasm-memory-grow.js: |
| (test): |
| * stress/big-wasm-memory.js: |
| (test): |
| * stress/typed-array-always-large.js: Removed. |
| (getArrayLength): Deleted. |
| (getByVal): Deleted. |
| (putByVal): Deleted. |
| (test): Deleted. |
| * stress/typed-array-eventually-large.js: Removed. |
| (getArrayLength): Deleted. |
| (getByVal): Deleted. |
| (putByVal): Deleted. |
| (test): Deleted. |
| * stress/typed-array-large-eventually-oob.js: Removed. |
| (getArrayLength): Deleted. |
| (getByVal): Deleted. |
| (putByVal): Deleted. |
| (test): Deleted. |
| * wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE-2.js: |
| * wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE.js: |
| |
| 2021-10-14 Robin Morisset <rmorisset@apple.com> |
| |
| Allow WASM to use up to 4GB |
| https://bugs.webkit.org/show_bug.cgi?id=229353 |
| rdar://81603447 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| The big-wasm-memory/wasm-memory-requested... tests used to simply expect an OOM at 2GB. |
| They now expect success at 4GB, and failure at 4GB+1. |
| 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). |
| 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. |
| |
| I also added a few new tests, specifically checking our handling of large typed arrays, and especially of indices above INT32_MAX. |
| |
| * stress/big-wasm-memory-grow-no-max.js: |
| (test): |
| * stress/big-wasm-memory-grow.js: |
| (test): |
| * stress/big-wasm-memory.js: |
| (test): |
| * stress/typed-array-always-large.js: Added. |
| (getArrayLength): |
| (getByVal): |
| (putByVal): |
| (test): |
| * stress/typed-array-eventually-large.js: Added. |
| (getArrayLength): |
| (getByVal): |
| (putByVal): |
| (test): |
| * stress/typed-array-large-eventually-oob.js: Added. |
| (getArrayLength): |
| (getByVal): |
| (putByVal): |
| (test): |
| * wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE-2.js: |
| * wasm/regress/wasm-memory-requested-more-than-MAX_ARRAY_BUFFER_SIZE.js: |
| |
| 2021-10-14 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r284151. |
| https://bugs.webkit.org/show_bug.cgi?id=231740 |
| |
| WTR |
| |
| Reverted changeset: |
| |
| "Test coverage for JSC shadow realms implementation" |
| https://bugs.webkit.org/show_bug.cgi?id=230602 |
| https://commits.webkit.org/r284151 |
| |
| 2021-10-14 Phillip Mates <pmates@igalia.com> |
| |
| Test coverage for JSC shadow realms implementation |
| https://bugs.webkit.org/show_bug.cgi?id=230602 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * modules/import-meta-syntax.js: |
| (shouldThrow): |
| * stress/eval-indirect.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| * stress/import-syntax.js: |
| * stress/resources/shadow-realm-example-module.js: Added. |
| (putInGlobal): |
| (getFromGlobal): |
| (getAnObject): |
| (getCallCount): |
| * stress/shadow-realm-evaluate.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (assertionFn): |
| (shouldBe.String): |
| (shouldBe.globalObjectFor.doEval): |
| (shouldBe.globalObjectFor): |
| * stress/shadow-realm-import-value.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (async shouldThrowAsync): |
| (async const): |
| (doImport): |
| * stress/shadow-realm.js: Added. |
| (shouldBe): |
| (throw.new.Error): |
| * test262/config.yaml: |
| |
| 2021-10-11 Saam Barati <sbarati@apple.com> |
| |
| Don't branch around register allocation in DFG enumerator get by val and pass in the right LValue type to strictInt52ToJSValue |
| https://bugs.webkit.org/show_bug.cgi?id=231465 |
| <rdar://83876470> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/dont-branch-around-regalloc-enumerator-get-by-val.js: Added. |
| (foo): |
| |
| 2021-10-09 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Refine RegExp#compile based on regexp-legacy-features proposal |
| https://bugs.webkit.org/show_bug.cgi?id=231486 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * stress/regexp-recompile.js: Added. |
| (shouldBe): |
| (recompile): |
| (target): |
| * test262/expectations.yaml: |
| |
| 2021-10-08 Tadeu Zagallo <tzagallo@apple.com> |
| |
| Implement the WebAssembly exception handling proposal |
| https://bugs.webkit.org/show_bug.cgi?id=229681 |
| <rdar://81603387> |
| |
| Reviewed by Keith Miller. |
| |
| Add new tests for the exception handling and import a set of tests used by V8 into wasm/v8. |
| |
| * wasm.yaml: |
| * wasm/Builder.js: |
| (const._importExceptionContinuation.type.Import.field): |
| (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section): |
| (const._exportFunctionContinuation.type.Export.field): Deleted. |
| (const._exportFunctionContinuation): Deleted. |
| * wasm/Builder_WebAssemblyBinary.js: |
| (const.emitters.Import): |
| (const.emitters.Export): |
| (const.emitters.Exception): |
| * wasm/assert.js: |
| * wasm/self-test/test_BuilderJSON.js: |
| (ImportBeforeTypeSections): Deleted. |
| * wasm/stress/catch-with-delegate.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.callback): |
| (assert.throws): |
| * wasm/stress/create-tag-from.js: Added. |
| * wasm/stress/exception-cross-instance-2.js: Added. |
| (test): |
| (assert.eq): |
| * wasm/stress/exception-cross-instance-3.js: Added. |
| (test): |
| (assert.eq): |
| * wasm/stress/exception-cross-instance.js: Added. |
| (test): |
| (assert.throws): |
| (instB.new.WebAssembly.Instance): |
| * wasm/stress/exception-liveness-tier-up.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.catch): |
| (assert.eq.): |
| (assert.eq): |
| * wasm/stress/exception-multiple-instances.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.const.module.new.WebAssembly.Module): |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.inst.exports.throw): |
| * wasm/stress/exception-simple-delegate.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.testSimpleThrowDelegate): |
| (testThrowDelegateSkip): |
| (testDelegateCaller): |
| (testSimpleDelegateMerge): |
| * wasm/stress/exception-simple-throw-catch.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.testSimpleTryCatch): |
| (testSimpleTryCatchAll): |
| (testCallTryCatch): |
| (testCallTryCatchAll): |
| (testSimpleTryCatchValue): |
| (testCallTryCatchValue): |
| (testStackTryCatch): |
| (testLiveAfterTryCatch): |
| (testLiveAfterTryCatchAll): |
| (testUnifyTryCatchCatch): |
| (testUnifyTryCatchCatchAll): |
| (testUnifyTryNoThrow): |
| (testUnifyTryNoCatch): |
| (testNestedCatch): |
| * wasm/stress/exception-thrown-from-js-to-wasm-catchall-rethrow.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.callback): |
| * wasm/stress/exception-thrown-from-js-to-wasm-catchall.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.callback): |
| * wasm/stress/exception-thrown-from-js-to-wasm.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.callback): |
| * wasm/stress/exception-thrown-out-of-wasm.js: Added. |
| * wasm/stress/exception-thrown-over-wasm.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.callback): |
| * wasm/stress/exception-trap.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.testCannotCatchUnreachable): |
| (testCannotCatchOOB): |
| (testWasmAPIThrow): |
| (testJSCatchAndRethrow): |
| * wasm/stress/rethrow-from-catch-to-catch.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.callback): |
| * wasm/stress/rethrow-to-catch.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.callback): |
| (assert.throws.callback): |
| (assert.throws): |
| * wasm/stress/rethrow-to-delegate-to-catch.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here): |
| (assert.eq.exn.getArg): |
| (assert.throws): |
| (assert.throws.callback): |
| (assert.eq): |
| * wasm/stress/simple-export-exception.js: Added. |
| * wasm/v8/LICENSE: Added. |
| * wasm/v8/exceptions-api.js: Added. |
| (TestImport): |
| (TestImportExport): |
| (TestExceptionConstructor): |
| (TestExceptionConstructorWithPayload): |
| (TestCatchJSException.js_func): |
| (js_func): |
| (TestCatchJS): |
| (TestCatchJSExceptionWithPayload): |
| (TestGetArg): |
| * wasm/v8/exceptions-export.js: Added. |
| (TestExportMultiple): |
| (TestExportOutOfBounds): |
| * wasm/v8/exceptions-externref.js: Added. |
| (TestThrowRefNull): |
| (TestThrowRefParam): |
| * wasm/v8/exceptions-import.js: Added. |
| (NewExportedTag): |
| (TestImportSimple): |
| (TestImportMissing): |
| * wasm/v8/exceptions-rethrow.js: Added. |
| (TestRethrowInCatch): |
| (TestRethrowInCatchAll): |
| (TestRethrowNested): |
| (TestRethrowRecatch): |
| * wasm/v8/exceptions-shared.js: Added. |
| (NewExportedException): |
| (TestSingleInstance.let.instance.builder.instantiate.): |
| (TestSingleInstance): |
| (TestMultiInstanceNonShared.let.instance2.builder.instantiate.): |
| (TestMultiInstanceShared.let.instance2.builder.instantiate.): |
| (TestMultiModuleShared.let.instance2.builder2.instantiate.): |
| * wasm/v8/exceptions-type-reflection.js: Added. |
| (TestExport): |
| (TestImportExport): |
| * wasm/v8/exceptions-utils.js: Added. |
| (assertWasmThrows): |
| * wasm/v8/exceptions.js: Added. |
| (TestThrowSimple): |
| (TestCatchSimple): |
| (TestTrapNotCaught): |
| (TestTrapViaJSNotCaught.js_import): |
| (TestManuallyThrownRuntimeErrorCaught.throw_exc): |
| (TestManuallyThrownRuntimeErrorCaught): |
| (TestExnWithWasmProtoNotCaught.js_import): |
| (TestExnWithWasmProtoNotCaught): |
| (TestStackOverflowNotCaught.stack_overflow): |
| (TestStackOverflowNotCaught): |
| (TestThrowParamI): |
| (TestThrowParamF): |
| (TestThrowParamL): |
| (TestThrowParamD): |
| (TestCatchCrossFunctions.throw_value): |
| (TestCatchCrossFunctions.throw_string): |
| (TestCatchCrossFunctions.throw_undefined): |
| (TestCatchCrossFunctions.throw_fp): |
| (TestCatchCrossFunctions.throw_large): |
| (TestDelegateNoThrow): |
| (TestDelegateThrow): |
| (TestDelegateThrowNoCatch): |
| (TestDelegateMerge): |
| (TestDelegate1): |
| (TestDelegateUnreachable): |
| (TestDelegateToCaller): |
| (TestUnreachableInCatchAll): |
| (TestThrowWithLocal): |
| (TestCatchlessTry): |
| * wasm/v8/mjsunit.js: Added. |
| (MjsUnitAssertionError): |
| (MjsUnitAssertionError.prototype.toString): |
| (catch): |
| (classOf): |
| (ValueOf): |
| (prettyPrinted): |
| (prettyPrintedArrayElement): |
| (failWithMessage): |
| (formatFailureText): |
| (fail): |
| (deepObjectEquals): |
| (deepEquals): |
| (assertSame): |
| (assertNotSame): |
| (assertEquals): |
| (assertNotEquals): |
| (assertEqualsDelta): |
| (assertArrayEquals): |
| (assertPropertiesEqual): |
| (assertToStringEquals): |
| (assertTrue): |
| (assertFalse): |
| (assertNull): |
| (assertNotNull): |
| (executeCode): |
| (checkException): |
| (assertThrows): |
| (assertThrowsEquals): |
| (assertThrowsAsync): |
| (assertInstanceof): |
| (assertDoesNotThrow): |
| (assertUnreachable): |
| (assertContains): |
| (assertMatches): |
| (concatenateErrors): |
| (assertPromiseResult): |
| (OptimizationStatus): |
| (assertUnoptimized): |
| (assertOptimized): |
| (isNeverOptimizeLiteMode): |
| (isNeverOptimize): |
| (isAlwaysOptimize): |
| (isInterpreted): |
| (isBaseline): |
| (isUnoptimized): |
| (isOptimized): |
| (isTurboFanned): |
| (MjsUnitAssertionError.prepareStackTrace): |
| * wasm/v8/wasm-module-builder.js: Added. |
| (bytes): |
| (wasmOptRefType): |
| (wasmRefType): |
| (wasmRtt): |
| (wasmRttNoDepth): |
| (makeSig): |
| (makeSig_v_x): |
| (makeSig_x_v): |
| (makeSig_v_xx): |
| (makeSig_r_v): |
| (makeSig_r_x): |
| (makeSig_r_xx): |
| (defineWasmOpcode): |
| (assertTraps): |
| (Binary): |
| (Binary.prototype.ensure_space): |
| (Binary.prototype.trunc_buffer): |
| (Binary.prototype.reset): |
| (Binary.prototype.emit_u8): |
| (Binary.prototype.emit_u16): |
| (Binary.prototype.emit_u32): |
| (Binary.prototype.emit_leb_u): |
| (Binary.prototype.emit_u32v): |
| (Binary.prototype.emit_u64v): |
| (Binary.prototype.emit_bytes): |
| (Binary.prototype.emit_string): |
| (Binary.prototype.emit_heap_type): |
| (Binary.prototype.emit_type): |
| (Binary.prototype.emit_init_expr_recursive): |
| (Binary.prototype.emit_init_expr): |
| (Binary.prototype.emit_header): |
| (Binary.prototype.emit_section): |
| (WasmFunctionBuilder): |
| (WasmFunctionBuilder.prototype.numLocalNames): |
| (WasmFunctionBuilder.prototype.exportAs): |
| (WasmFunctionBuilder.prototype.exportFunc): |
| (WasmFunctionBuilder.prototype.setCompilationHint): |
| (WasmFunctionBuilder.prototype.addBody): |
| (WasmFunctionBuilder.prototype.addBodyWithEnd): |
| (WasmFunctionBuilder.prototype.getNumLocals): |
| (WasmFunctionBuilder.prototype.addLocals): |
| (WasmFunctionBuilder.prototype.end): |
| (WasmInitExpr.I32Const): |
| (WasmInitExpr.I64Const): |
| (WasmInitExpr.F32Const): |
| (WasmInitExpr.F64Const): |
| (WasmInitExpr.S128Const): |
| (WasmInitExpr.GlobalGet): |
| (WasmInitExpr.RefFunc): |
| (WasmInitExpr.RefNull): |
| (WasmInitExpr.StructNewWithRtt): |
| (WasmInitExpr.StructNew): |
| (WasmInitExpr.StructNewDefaultWithRtt): |
| (WasmInitExpr.StructNewDefault): |
| (WasmInitExpr.ArrayInit): |
| (WasmInitExpr.ArrayInitStatic): |
| (WasmInitExpr.RttCanon): |
| (WasmInitExpr.RttSub): |
| (WasmInitExpr.RttFreshSub): |
| (WasmInitExpr.defaultFor): |
| (WasmInitExpr): |
| (WasmGlobalBuilder): |
| (WasmGlobalBuilder.prototype.exportAs): |
| (WasmTableBuilder): |
| (WasmTableBuilder.prototype.exportAs): |
| (makeField): |
| (WasmStruct): |
| (WasmStructSubtype): |
| (WasmArray): |
| (WasmArraySubtype): |
| (WasmElemSegment): |
| (WasmElemSegment.prototype.is_active): |
| (WasmElemSegment.prototype.is_passive): |
| (WasmElemSegment.prototype.is_declarative): |
| (WasmElemSegment.prototype.expressions_as_elements): |
| (WasmModuleBuilder): |
| (WasmModuleBuilder.prototype.addStart): |
| (WasmModuleBuilder.prototype.addMemory): |
| (WasmModuleBuilder.prototype.addMemory64): |
| (WasmModuleBuilder.prototype.addExplicitSection): |
| (WasmModuleBuilder.prototype.stringToBytes): |
| (WasmModuleBuilder.prototype.createCustomSection): |
| (WasmModuleBuilder.prototype.addCustomSection): |
| (WasmModuleBuilder.prototype.addType): |
| (WasmModuleBuilder.prototype.addStruct): |
| (WasmModuleBuilder.prototype.addStructSubtype): |
| (WasmModuleBuilder.prototype.addArray): |
| (WasmModuleBuilder.prototype.addArraySubtype): |
| (WasmModuleBuilder.prototype.addGlobal): |
| (WasmModuleBuilder.prototype.addTable): |
| (WasmModuleBuilder.prototype.addTag): |
| (WasmModuleBuilder.prototype.addFunction): |
| (WasmModuleBuilder.prototype.addImport): |
| (WasmModuleBuilder.prototype.addImportedGlobal): |
| (WasmModuleBuilder.prototype.addImportedMemory): |
| (WasmModuleBuilder.prototype.addImportedTable): |
| (WasmModuleBuilder.prototype.addImportedTag): |
| (WasmModuleBuilder.prototype.addExport): |
| (WasmModuleBuilder.prototype.addExportOfKind): |
| (WasmModuleBuilder.prototype.setCompilationHint): |
| (WasmModuleBuilder.prototype.addDataSegment): |
| (WasmModuleBuilder.prototype.addPassiveDataSegment): |
| (WasmModuleBuilder.prototype.exportMemoryAs): |
| (WasmModuleBuilder.prototype.addActiveElementSegment): |
| (WasmModuleBuilder.prototype.addPassiveElementSegment): |
| (WasmModuleBuilder.prototype.addDeclarativeElementSegment): |
| (WasmModuleBuilder.prototype.appendToTable): |
| (WasmModuleBuilder.prototype.setTableBounds): |
| (WasmModuleBuilder.prototype.setName): |
| (WasmModuleBuilder.prototype.toBuffer): |
| (WasmModuleBuilder.prototype.toArray): |
| (WasmModuleBuilder.prototype.instantiate): |
| (WasmModuleBuilder.prototype.asyncInstantiate): |
| (WasmModuleBuilder.prototype.toModule): |
| (wasmSignedLeb): |
| (wasmUnsignedLeb): |
| (wasmI32Const): |
| (wasmI64Const): |
| (wasmF32Const): |
| (wasmF64Const): |
| (wasmS128Const): |
| (getOpcodeName): |
| * wasm/wasm.json: |
| |
| 2021-10-08 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] UnlinkedCodeBlock::m_instructions can be nullptr |
| https://bugs.webkit.org/show_bug.cgi?id=231445 |
| rdar://83975933 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/unlinked-code-block-destructor.js: Added. |
| (useAllMemory.get Object): |
| (useAllMemory.foo): |
| (useAllMemory): |
| (try.bar): |
| |
| 2021-10-08 Saam Barati <sbarati@apple.com> |
| |
| RegExpExec can't statically prove which of the two structures it will get in AI by just looking at the RegExp* |
| https://bugs.webkit.org/show_bug.cgi?id=231382 |
| <rdar://83722151> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/reg-exp-exec-cant-prove-which-structure-it-produces-in-ai.js: Added. |
| (foo): |
| |
| 2021-10-07 Philip Chimento <pchimento@igalia.com> |
| |
| [JSC] Temporal tweaks to pass more test262 tests |
| https://bugs.webkit.org/show_bug.cgi?id=231331 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * test262/config.yaml: Three tests no longer crash, but they still |
| depend on unimplemented functionality, so skip them. |
| * test262/expectations.yaml: |
| |
| 2021-10-06 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Unreviewed, ensure test262 expectations reflect BigSur release mode. |
| |
| * test262/expectations.yaml: |
| |
| 2021-10-06 Philip Chimento <pchimento@igalia.com> |
| |
| [JSC] Update test262 |
| https://bugs.webkit.org/show_bug.cgi?id=231201 |
| |
| Add tests that were somehow cut off in the previous patch. |
| |
| Reviewed by Ross Kirsling. |
| |
| * test262/test/built-ins/Temporal/Now/*: Added. |
| |
| 2021-10-06 Philip Chimento <pchimento@igalia.com> |
| |
| [JSC] Update test262 |
| https://bugs.webkit.org/show_bug.cgi?id=231201 |
| |
| Reviewed by Ross Kirsling. |
| |
| Update test262 to latest, to bring in Temporal tests. |
| |
| * test262/config.yaml: Ignore tests that depend on unimplemented parts |
| of Temporal. |
| * test262/expectations.yaml: Add new failures. |
| * test262/*: Update from upstream. |
| * test262/test262-Revision.txt: |
| |
| 2021-10-06 Saam Barati <sbarati@apple.com> |
| |
| Run backwards propagation before we prune the graph after ForceOSRExit nodes in BytecodeParser |
| https://bugs.webkit.org/show_bug.cgi?id=230823 |
| <rdar://problem/83565088> |
| |
| Reviewed by Robin Morisset. |
| |
| * run-backwards-propagation-before-osr-exit-pruning.js: Added. |
| (assert): |
| (main.async v24): |
| (main): |
| |
| 2021-10-05 Saam Barati <sbarati@apple.com> |
| |
| Don't pass DontBuildStrings to next token after parsing an empty parameter list |
| https://bugs.webkit.org/show_bug.cgi?id=225094 |
| <rdar://problem/77231778> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/dont-pass-DontBuildStrings-when-building-empty-arguments-list.js: Added. |
| (main.a.prototype.g.toString.string_appeared_here): |
| (main.a): |
| (main): |
| |
| 2021-10-05 Mark Lam <mark.lam@apple.com> |
| |
| CodeBlock should not add/remove LoopHintExecutionCounters. |
| https://bugs.webkit.org/show_bug.cgi?id=231209 |
| rdar://83571235 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/codeBlock-should-not-add-remove-loop-hint-execution-counters-due-to-cached-unlinked-baseline-code.js: Added. |
| |
| 2021-10-05 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] JSPropertyNameEnumerator should not have cached prototype chain since empty JSPropertyNameEnumerator is shared |
| https://bugs.webkit.org/show_bug.cgi?id=231202 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/for-in-validation-poly-proto.js: Added. |
| (shouldBe): |
| (test): |
| (factory.Test): |
| (factory): |
| * stress/for-in-validation-watchpoint.js: Added. |
| (shouldBe): |
| (test): |
| (Test): |
| (factory): |
| |
| 2021-10-04 Saam Barati <sbarati@apple.com> |
| |
| IntrinsicGetterAccessCase implementation of __proto__ needs to handle get_by_id_with_this |
| https://bugs.webkit.org/show_bug.cgi?id=229951 |
| <rdar://problem/82787527> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/run-proto-intrinsic-getter-with-this-value-in-get-by-id-with-this.js: Added. |
| (assert): |
| (main.v37): |
| (main): |
| |
| 2021-10-02 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Update test262 config.yaml since OSS WebKit now uses ICU 64.2 header |
| https://bugs.webkit.org/show_bug.cgi?id=231121 |
| |
| Reviewed by Mark Lam. |
| |
| * test262/config.yaml: |
| |
| 2021-10-02 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] DateTimeFormat.resolvedOptions shouldn't return an object with other date/time properties if dateStyle or timeStyle are set |
| https://bugs.webkit.org/show_bug.cgi?id=231041 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/intl-date-time-format-date-time-style-basic.js: |
| (shouldBe.JSON.stringify.o.resolvedOptions): |
| (shouldBe): |
| (shouldBe.o.format): Deleted. |
| |
| 2021-10-02 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, add reported test to our stress tests |
| https://bugs.webkit.org/show_bug.cgi?id=230827 |
| |
| While we cannot reproduce the issue successfully, adding it to our stress tests to ensure that this will never happen. |
| |
| * stress/intl-datetimeformat.js: |
| |
| 2021-10-01 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r283293. |
| https://bugs.webkit.org/show_bug.cgi?id=231116 |
| |
| changing print() broke a lot of random things |
| |
| Reverted changeset: |
| |
| "Print values in a nicer way in the jsc shell" |
| https://bugs.webkit.org/show_bug.cgi?id=230931 |
| https://commits.webkit.org/r283293 |
| |
| 2021-09-30 Saam Barati <sbarati@apple.com> |
| |
| The DFG/FTL need to be aware that Proxy's can produce "function" for typeof and might be callable |
| https://bugs.webkit.org/show_bug.cgi?id=230804 |
| <rdar://problem/83543951> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/ai-typeof-needs-to-be-aware-of-proxy-2.js: Added. |
| (assert): |
| (builtin.vm.createBuiltin): |
| (builtin2.vm.createBuiltin): |
| (let.p.new.Proxy): |
| * stress/ai-typeof-needs-to-be-aware-of-proxy.js: Added. |
| (assert): |
| (builtin.vm.createBuiltin): |
| (let.p.new.Proxy): |
| * stress/is-callable-in-ftl-needs-to-be-aware-of-proxy.js: Added. |
| (main): |
| |
| 2021-09-29 Mark Lam <mark.lam@apple.com> |
| |
| DFG strength reduction on % operator should handle an INT_MIN divisor. |
| https://bugs.webkit.org/show_bug.cgi?id=230391 |
| <rdar://problem/83229740> |
| |
| Reviewed by Robin Morisset. |
| |
| * stress/dfg-strength-reduction-on-mod-should-handle-INT_MIN.js: Added. |
| |
| 2021-09-29 Saam Barati <sbarati@apple.com> |
| |
| Print values in a nicer way in the jsc shell |
| https://bugs.webkit.org/show_bug.cgi?id=230931 |
| |
| Reviewed by Tadeu Zagallo. |
| |
| * ChakraCore/test/jsc-lib.js: |
| |
| 2021-09-29 Saam Barati <sbarati@apple.com> |
| |
| We need to load the baseline JIT's constant pool register after OSR exit to checkpoints if we return to baseline code |
| https://bugs.webkit.org/show_bug.cgi?id=230972 |
| <rdar://83659469> |
| |
| Reviewed by Mark Lam and Yusuke Suzuki. |
| |
| * stress/checkpoint-osr-exit-needs-to-reload-baseline-jit-constant-pool-gpr.js: Added. |
| (empty): |
| (empty2): |
| (test): |
| |
| 2021-09-29 Saam Barati <sbarati@apple.com> |
| |
| Code inside strength reduction can incorrectly prove that we know what lastIndex is |
| https://bugs.webkit.org/show_bug.cgi?id=230802 |
| <rdar://problem/83543699> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/dont-fold-regexp-exec-when-we-dont-know-last-index-and-regexp-is-constant.js: Added. |
| (assert): |
| (let.reg.RegExp.foo.g.doExec): |
| (noInline.doExec): |
| |
| 2021-09-29 Saam Barati <sbarati@apple.com> |
| |
| DoesGCCheck does not use enough bits for nodeIndex |
| https://bugs.webkit.org/show_bug.cgi?id=230915 |
| <rdar://83297515> |
| |
| Unreviewed. Forgot to add a try/catch in the test. |
| |
| * stress/verify-can-gc-node-index.js: |
| |
| 2021-09-28 Saam Barati <sbarati@apple.com> |
| |
| DoesGCCheck does not use enough bits for nodeIndex |
| https://bugs.webkit.org/show_bug.cgi?id=230915 |
| <rdar://83297515> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/verify-can-gc-node-index.js: Added. |
| (gen): |
| (f): |
| |
| 2021-09-28 Alexey Shvayka <shvaikalesh@gmail.com> |
| |
| Speed up setting JSFunction's "prototype" property |
| https://bugs.webkit.org/show_bug.cgi?id=230864 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * microbenchmarks/class-creation.js: Added. |
| * microbenchmarks/function-prototype-put-non-reified.js: Added. |
| * microbenchmarks/function-prototype-put-reified.js: Added. |
| |
| 2021-09-27 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [WTF] Add ApproximateTime |
| https://bugs.webkit.org/show_bug.cgi?id=230876 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/approximate-time-now.js: Added. |
| * microbenchmarks/monotonic-time-now.js: Added. |
| * microbenchmarks/wall-time-now.js: Added. |
| |
| 2021-09-26 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Optimize PutByVal with for-in |
| https://bugs.webkit.org/show_bug.cgi?id=230801 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/for-in-sentinel.js: Added. |
| (shouldBe): |
| (test): |
| |
| 2021-09-26 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r283095. |
| https://bugs.webkit.org/show_bug.cgi?id=230815 |
| |
| We should land the original patch since this does not work |
| with bytecode cache |
| |
| Reverted changeset: |
| |
| "[JSC] Optimize PutByVal with for-in" |
| https://bugs.webkit.org/show_bug.cgi?id=230801 |
| https://commits.webkit.org/r283095 |
| |
| 2021-09-26 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Optimize PutByVal with for-in |
| https://bugs.webkit.org/show_bug.cgi?id=230801 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/for-in-sentinel.js: Added. |
| (shouldBe): |
| (test): |
| |
| 2021-09-24 Rick Waldron <waldron.rick@gmail.com> |
| |
| [JSC] Add checkScriptSyntax function to jsc host environment |
| https://bugs.webkit.org/show_bug.cgi?id=230631 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Updates tests that were using eval() to verify syntax. |
| |
| * stress/arrow-function-syntax.js: Replace custom checkSyntax with checkScriptSyntax |
| * stress/async-iteration-for-await-of-syntax.js: Replace custom checkSyntax with checkScriptSyntax |
| * stress/async-iteration-syntax.js: Replace custom checkSyntax with checkScriptSyntax |
| |
| 2021-09-23 Ross Kirsling <ross.kirsling@sony.com> |
| |
| [JSC] Handle syntactic production for `#x in expr` correctly |
| https://bugs.webkit.org/show_bug.cgi?id=230668 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/private-in.js: Add tests. |
| * test262/expectations.yaml: Mark two test cases as passing. |
| |
| 2021-09-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Filter algorithmic numbering systems from enumeration data |
| https://bugs.webkit.org/show_bug.cgi?id=230660 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/intl-enumeration.js: |
| * test262/expectations.yaml: |
| |
| 2021-09-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Adjust Intl currency enumeration |
| https://bugs.webkit.org/show_bug.cgi?id=230656 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/intl-enumeration.js: |
| * test262/expectations.yaml: |
| |
| 2021-09-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] emoji and eor collations are missing |
| https://bugs.webkit.org/show_bug.cgi?id=230652 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/intl-enumeration.js: |
| * test262/expectations.yaml: |
| |
| 2021-09-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Intl unicode identifier type will reject underscore |
| https://bugs.webkit.org/show_bug.cgi?id=230645 |
| |
| Reviewed by Ross Kirsling. |
| |
| * test262/expectations.yaml: |
| |
| 2021-09-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Upgrade test262 |
| https://bugs.webkit.org/show_bug.cgi?id=230641 |
| |
| Reviewed by Ross Kirsling. |
| |
| Upgrade test262 to the latest one. |
| |
| * test262/config.yaml: |
| * test262/expectations.yaml: |
| * test262/test262-Revision.txt: |
| |
| 2021-09-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] CompareStrictEq is omitting String check incorrectly |
| https://bugs.webkit.org/show_bug.cgi?id=230582 |
| rdar://83237121 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/compare-strict-eq-string-check.js: Added. |
| (foo): |
| (bar): |
| |
| 2021-09-21 Justin Michaud <justin_michaud@apple.com> |
| |
| Differential testing: live statement don't execute |
| https://bugs.webkit.org/show_bug.cgi?id=229939 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/in-by-val-should-throw.js: Added. |
| (doesThrow): |
| (noInline.doesThrow.noFTL.doesThrow.blackbox): |
| (noInline.blackbox.doesNotThrow): |
| (noInline.doesNotThrow.noFTL.doesNotThrow.main): |
| |
| 2021-09-20 Mikhail R. Gadelha <mikhail@igalia.com> |
| |
| Skip stress/json-stringify-stack-overflow.js only on memory limited systems |
| https://bugs.webkit.org/show_bug.cgi?id=230489 |
| |
| Unreviewed gardening. |
| |
| It's currently only failing on systems with low memory, regardless of |
| the arch. |
| |
| * stress/json-stringify-stack-overflow.js: |
| |
| 2021-09-17 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Add fast property enumeration mode for JSON.stringify |
| https://bugs.webkit.org/show_bug.cgi?id=230393 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/json-stringify-object-modify.js: Added. |
| (shouldBe): |
| (throw.new.Error.let.object.hello.get inner): |
| (throw.new.Error): |
| (shouldBe.let.object.hello.get inner): |
| |
| 2021-09-15 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Optimize leaf object creation in JSON.parse |
| https://bugs.webkit.org/show_bug.cgi?id=230298 |
| |
| Reviewed by Keith Miller. |
| |
| * microbenchmarks/json-parse-leaf-object.js: Added. |
| |
| 2021-09-13 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Add JSON.parse microbenchmarks from Speedometer2 |
| https://bugs.webkit.org/show_bug.cgi?id=230234 |
| |
| Reviewed by Saam Barati. |
| |
| This patch adds JSON.parse microbenchmarks from Speedometer2. We record JSON.parse call in Speedometer2 subtests, |
| and create benchmark which performs the same calls. |
| |
| * microbenchmarks/flight-todomvc-json-parse.js: Renamed from JSTests/microbenchmarks/flight-todomvc-json.js. |
| * microbenchmarks/vanilla-es2015-babel-webpack-todomvc-json-parse.js: Added. |
| * microbenchmarks/vanilla-es2015-todomvc-json-parse.js: Added. |
| * microbenchmarks/vanilla-todomvc-json-parse.js: Added. |
| |
| 2021-09-10 Justin Michaud <justin_michaud@apple.com> |
| |
| [ JSC Catalina Release ] wasm.yaml/wasm/references/multitable.js.wasm-collect-continuously (javascriptcore-tests) is a flaky timeout |
| https://bugs.webkit.org/show_bug.cgi?id=229896 |
| |
| The combination of collectContinuously and verifyGC really hammer the poor hardware |
| during the final two "table insanity" stress tests. I have confirmed that the test |
| is indeed making forward progress, even after running for 45 minutes, by using logGC. |
| For this reason, it seems like it is OK to skip verifyGC for this test. |
| |
| We could have added a vm option isVerifyingGC and disabled only the table insanity test |
| in this case like we do for low memory, but I think this is good enough. |
| |
| Reviewed by Mark Lam. |
| |
| * wasm/references/multitable.js: |
| |
| 2021-09-09 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Intl.Locale weekendInfo should list all weekend days instead of range |
| https://bugs.webkit.org/show_bug.cgi?id=230108 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/intl-locale-info.js: |
| (throw.new.Error): |
| (let.enGB.new.Intl.Locale.shouldBe): Deleted. |
| * test262/config.yaml: |
| |
| 2021-09-09 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Optimize op_get_property_enumerator further |
| https://bugs.webkit.org/show_bug.cgi?id=230086 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/for-in-cell-other.js: Added. |
| (shouldBe): |
| (forIn): |
| * stress/for-in-null-undefined.js: Added. |
| (shouldBe): |
| (forIn): |
| |
| 2021-09-09 Justin Michaud <justin_michaud@apple.com> |
| |
| Differential testing: incorrect constant propagation around Uint8ClampedArray |
| https://bugs.webkit.org/show_bug.cgi?id=229869 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/Uint8ClampedArrayClampsInt52Positive.js: Added. |
| (let.x.123.test): |
| (noInline.test.int32pos1): |
| (255.int32pos2): |
| (1.int32neg1): |
| (0.int32neg2): |
| (0.int52pos1): |
| (255.int52pos2): |
| (255.int52neg1): |
| (0.int52neg2): |
| (0.int52neg3): |
| (0.int52pos3): |
| (255.int8): |
| |
| 2021-09-09 Robin Morisset <rmorisset@apple.com> |
| |
| Optimize compareStrictEq when neither side is a double and at least one is not a BigInt |
| https://bugs.webkit.org/show_bug.cgi?id=226755 |
| <rdar://problem/79321542> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Made the error messages in stress/reflect-set a bit more informative in the process of debugging an issue with the patch. |
| |
| * stress/reflect-set.js: |
| (shouldBe): |
| (shouldThrow): |
| |
| 2021-09-07 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Implement Temporal.PlainTime |
| https://bugs.webkit.org/show_bug.cgi?id=229892 |
| |
| Reviewed by Darin Adler. |
| |
| * stress/temporal-calendar.js: |
| * stress/temporal-duration.js: |
| * stress/temporal-plaintime.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (shouldBe.String.Temporal.PlainTime.from): |
| (let.time.Temporal.PlainTime.from.shouldBe): |
| (let.text.of.failures.shouldThrow): |
| (print): |
| (shouldBe.Temporal.PlainTime.from): |
| (new.Temporal.PlainTime.valueOf): |
| (shouldBe.String.time.until.Temporal.PlainTime.from): |
| * stress/temporal-timezone.js: |
| (let.text.of.failures.shouldThrow): Deleted. |
| * test262/config.yaml: |
| |
| 2021-09-07 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Math.hypot checks for infinite values prematurely |
| https://bugs.webkit.org/show_bug.cgi?id=229843 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/math-hypot-evaluation-ordering.js: Added. |
| (shouldThrow): |
| |
| 2021-09-03 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Make EnumeratorNextUpdateIndexAndMode clobberizing rule precise |
| https://bugs.webkit.org/show_bug.cgi?id=229898 |
| rdar://82714439 |
| |
| Reviewed by Saam Barati. |
| |
| * complex.yaml: |
| * complex/for-in-clobberize.js: Added. |
| |
| 2021-09-03 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Implement Temporal.TimeZone |
| https://bugs.webkit.org/show_bug.cgi?id=229703 |
| |
| Reviewed by Ross Kirsling. |
| |
| * complex.yaml: |
| * complex/temporal-now-timezone-check.js: Added. |
| (shouldBe): |
| * complex/temporal-now-timezone-with-broken-tz.js: Added. |
| (shouldBe): |
| * stress/intl-enumeration.js: |
| * stress/temporal-timezone.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (let.text.of.failures.shouldThrow): |
| (reviver): |
| |
| 2021-09-02 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Validate JSPropertyNameEnumerator via watchpoints |
| https://bugs.webkit.org/show_bug.cgi?id=229846 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/for-in-cacheable-dictionary.js: Added. |
| (shouldBe): |
| (collect): |
| * stress/for-in-invalidate.js: Added. |
| (shouldBe): |
| (collect): |
| * stress/for-in-uncacheable-dictionary.js: Added. |
| (shouldBe): |
| (collect): |
| |
| 2021-08-31 Ross Kirsling <ross.kirsling@sony.com> |
| |
| [JSC] Implement Temporal.Duration |
| https://bugs.webkit.org/show_bug.cgi?id=228532 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/temporal-duration.js: Added. |
| * test262/config.yaml: Enabled Duration tests. |
| |
| 2021-08-30 Ross Kirsling <ross.kirsling@sony.com> |
| |
| [JSC][Intl] Errors for .call({}) are too verbose |
| https://bugs.webkit.org/show_bug.cgi?id=229694 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/intl-displaynames.js: |
| |
| 2021-08-30 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Implement Temporal.Calendar |
| https://bugs.webkit.org/show_bug.cgi?id=229651 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/temporal-calendar.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (new.Temporal.Calendar): |
| |
| 2021-08-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Upgrade test262 |
| https://bugs.webkit.org/show_bug.cgi?id=229645 |
| |
| Reviewed by Keith Miller. |
| |
| Upgrade test262 to the latest one. |
| |
| * test262/expectations.yaml: |
| * test262/latest-changes-summary.txt: |
| * test262/test262-Revision.txt: |
| |
| 2021-08-26 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Intl.DateTimeFormat incorrectly parses patterns with 'h' literal |
| https://bugs.webkit.org/show_bug.cgi?id=229313 |
| rdar://82414310 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/intl-date-pattern-includes-literal-text.js: Added. |
| (shouldBe): |
| |
| 2021-08-26 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Float32Arrays.sort() return undefined when length < 2 |
| https://bugs.webkit.org/show_bug.cgi?id=229575 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/typed-array-sort-small.js: Added. |
| (shouldBe): |
| (throw.new.Error): |
| |
| 2021-08-26 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] op_put_private_name should use modern IC and remove ByValInfo |
| https://bugs.webkit.org/show_bug.cgi?id=229544 |
| |
| Reviewed by Saam Barati. |
| |
| Move class-fields-private benchmarks into microbenchmarks. |
| Added several microbenchmarks and stress tests. |
| |
| * microbenchmarks/class-private-field-polymorphic.js: Added. |
| (shouldBe): |
| (test.A.prototype.put): |
| * microbenchmarks/get-private-name.js: Renamed from JSTests/microbenchmarks/class-fields-private/get-private-name.js. |
| * microbenchmarks/monomorphic-get-private-field.js: Renamed from JSTests/microbenchmarks/class-fields-private/monomorphic-get-private-field.js. |
| * microbenchmarks/polymorphic-get-private-field.js: Renamed from JSTests/microbenchmarks/class-fields-private/polymorphic-get-private-field.js. |
| * microbenchmarks/polymorphic-put-private-field.js: Renamed from JSTests/microbenchmarks/class-fields-private/polymorphic-put-private-field.js. |
| * microbenchmarks/put-by-val-polymorphic-properties.js: Added. |
| (shouldBe): |
| (test): |
| * microbenchmarks/put-private-field.js: Renamed from JSTests/microbenchmarks/class-fields-private/put-private-field.js. |
| * stress/class-private-field-megamorphic.js: Added. |
| (shouldBe): |
| * stress/class-private-field-polymorphic.js: Added. |
| (shouldBe): |
| (test.A.prototype.put): |
| * stress/put-by-val-polymorphic-properties.js: Added. |
| (shouldBe): |
| (test): |
| |
| 2021-08-26 Saam Barati <sbarati@apple.com> |
| |
| r281485 was not sufficient in where it called disablePeepholeOptimization |
| https://bugs.webkit.org/show_bug.cgi?id=229582 |
| <rdar://82346980> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/for-in-disable-bytecode-generator-peephole-optimizations-after-rewrite-2.js: Added. |
| (foo): |
| |
| 2021-08-24 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Update Intl tests to support ICU 68 |
| https://bugs.webkit.org/show_bug.cgi?id=229467 |
| |
| Reviewed by Mark Lam. |
| |
| ICU 68 changes some outputs of Intl tests. This patch adjusts that. |
| |
| * stress/intl-parse-unicode-subtags.js: |
| (vm.icuVersion): |
| |
| 2021-08-24 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Add Intl Enumeration APIs |
| https://bugs.webkit.org/show_bug.cgi?id=214795 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/intl-datetimeformat.js: |
| * stress/intl-enumeration.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| * stress/intl-locale-info.js: |
| (let.l.new.Intl.Locale.shouldBe): |
| (shouldBe): |
| |
| 2021-08-24 Keith Miller <keith_miller@apple.com> |
| |
| (r281473) stress/for-in-has-own-property-shouldnt-flush-registers.js failing on Debug |
| https://bugs.webkit.org/show_bug.cgi?id=229448 |
| |
| Reviewed by Mark Lam. |
| |
| Fix typo in test name. |
| |
| * stress/for-in-in-by-val-should-flush-registers.js: Renamed from JSTests/stress/for-in-in-by-val-shouldnt-flush-registers.js. |
| |
| 2021-08-23 Saam Barati <sbarati@apple.com> |
| |
| Disable peephole optimizations in the byte code generator after rewriting instructions for for-in |
| https://bugs.webkit.org/show_bug.cgi?id=229420 |
| <rdar://82020528> |
| |
| Reviewed by Keith Miller. |
| |
| * stress/for-in-disable-bytecode-generator-peephole-optimizations-after-rewrite.js: Added. |
| (foo): |
| |
| 2021-08-23 Saam Barati <sbarati@apple.com> |
| |
| compileEnumeratorHasProperty uses flushRegisters incorrectly |
| https://bugs.webkit.org/show_bug.cgi?id=229412 |
| <rdar://82020767> |
| |
| Reviewed by Keith Miller. |
| |
| * stress/for-in-has-own-property-shouldnt-flush-registers.js: Added. |
| (foo): |
| * stress/for-in-in-by-val-shouldnt-flush-registers.js: Added. |
| (a.toString): |
| |
| 2021-08-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Remove already-shipped wasm option flags |
| https://bugs.webkit.org/show_bug.cgi?id=229386 |
| |
| Reviewed by Ross Kirsling. |
| |
| * wasm/references/element_active_mod.js: |
| * wasm/references/element_parsing.js: |
| * wasm/references/externref_globals.js: |
| * wasm/references/externref_modules.js: |
| * wasm/references/externref_table.js: |
| * wasm/references/externref_table_import.js: |
| * wasm/references/func_ref.js: |
| * wasm/references/globals.js: |
| * wasm/references/is_null.js: |
| * wasm/references/memory_copy.js: |
| * wasm/references/memory_copy_shared.js: |
| * wasm/references/memory_fill_shared.js: |
| * wasm/references/multitable.js: |
| * wasm/references/parse_unreachable.js: |
| * wasm/references/table_js_api.js: |
| * wasm/references/table_misc.js: |
| * wasm/references/validation.js: |
| * wasm/stress/immutable-globals.js: |
| * wasm/stress/local-ref.js: |
| * wasm/stress/mutable-globals.js: |
| * wasm/stress/table-grow-table-size.js: |
| |
| 2021-08-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Remove already-shipped JS feature flags |
| https://bugs.webkit.org/show_bug.cgi?id=229387 |
| |
| Reviewed by Ross Kirsling. |
| |
| * microbenchmarks/class-fields-private/get-private-name.js: |
| * microbenchmarks/class-fields-private/monomorphic-get-private-field.js: |
| * microbenchmarks/class-fields-private/polymorphic-get-private-field.js: |
| * microbenchmarks/class-fields-private/polymorphic-put-private-field.js: |
| * microbenchmarks/class-fields-private/put-private-field.js: |
| * stress/class-fields-private-as-function.js: |
| * stress/class-fields-private-cached-bytecode.js: |
| * stress/class-fields-private-freeze-out-of-line.js: |
| * stress/class-fields-private-freeze.js: |
| * stress/class-fields-private-harmony.js: |
| * stress/class-fields-private-on-proxy.js: |
| * stress/class-fields-private-out-of-line.js: |
| * stress/class-fields-private-prevent-extensions-out-of-line.js: |
| * stress/class-fields-private-prevent-extensions.js: |
| * stress/class-fields-private-seal-out-of-line.js: |
| * stress/class-fields-private-seal.js: |
| * stress/class-fields-private-use-eval.js: |
| * stress/class-fields-static-harmony.js: |
| * stress/class-fields-static-private-harmony.js: |
| * stress/class-fields-stress-instance.js: |
| * stress/class-private-method-access.js: |
| * stress/dfg-get-private-name-by-id-generic.js: |
| * stress/dfg-get-private-name-by-id-osr-bad-identifier.js: |
| * stress/dfg-get-private-name-by-id.js: |
| * stress/dfg-get-private-name-by-offset-osr-bad-identifier.js: |
| * stress/dfg-get-private-name-by-offset-osr-bad-structure.js: |
| * stress/dfg-get-private-name-by-offset.js: |
| * stress/dfg-get-private-name-by-val-generic.js: |
| * stress/dfg-put-private-name-check-barrier-insertion.js: |
| * stress/dfg-put-private-name-compiled-as-put-by-id-direct.js: |
| * stress/dfg-put-private-name-compiled-as-put-private-name-by-id.js: |
| * stress/ftl-get-private-name-by-id.js: |
| * stress/ftl-get-private-name-by-offset-multi.js: |
| * stress/get-private-name-cache-failure.js: |
| * stress/get-private-name-with-constant-ident.js: |
| * stress/get-private-name-with-constant-symbol.js: |
| * stress/get-private-name-with-different-symbol.js: |
| * stress/get-private-name-with-primitive.js: |
| * stress/get-private-name.js: |
| * stress/optional-chaining-and-private-fields.js: |
| * stress/private-accesor-duplicate-name-early-errors.js: |
| * stress/private-accessor-static-non-static.js: |
| * stress/private-brand-installed-after-super-call-from-arrow-function.js: |
| * stress/private-brand-installed-after-super-call-from-eval.js: |
| * stress/private-getter-brand-check.js: |
| * stress/private-getter-inner-class.js: |
| * stress/private-in-error.js: |
| * stress/private-in.js: |
| * stress/private-members-get-and-set.js: |
| * stress/private-method-and-field-named-constructor.js: |
| * stress/private-method-brand-check.js: |
| * stress/private-method-change-attribute-from-branded-structure.js: |
| * stress/private-method-change-prototype-from-branded-structure.js: |
| * stress/private-method-check-private-brand-ic.js: |
| * stress/private-method-check-structure-miss.js: |
| * stress/private-method-comparison.js: |
| * stress/private-method-delete-property-from-branded-structure.js: |
| * stress/private-method-extends-brand-check.js: |
| * stress/private-method-get-and-call.js: |
| * stress/private-method-invalid-multiple-brand-installation.js: |
| * stress/private-method-invalidate-compiled-with-constant-symbol.js: |
| * stress/private-method-nested-class.js: |
| * stress/private-method-on-sealed-objects.js: |
| * stress/private-method-on-uncacheable-dictionary.js: |
| * stress/private-method-polymorphic-with-constant-symbol.js: |
| * stress/private-method-set-brand-should-have-write-barrier.js: |
| * stress/private-method-untyped-use.js: |
| * stress/private-method-with-uncacheable-dictionary-transition.js: |
| * stress/private-methods-and-accessors-postfix-node.js: |
| * stress/private-methods-and-accessors-prefix-node.js: |
| * stress/private-methods-inline-cache.js: |
| * stress/private-methods-megamorphic-ic.js: |
| * stress/private-methods-on-proxy.js: |
| * stress/private-methods-poly-ic-multiple-classes.js: |
| * stress/private-methods-poly-ic-single-class.js: |
| * stress/private-name-access-in-computed-property.js: |
| * stress/private-names-available-on-direct-eval.js: |
| * stress/private-names-available-on-eval-during-field-initialization.js: |
| * stress/private-setter-brand-check.js: |
| * stress/private-setter-inner-class.js: |
| * stress/put-by-val-direct-addprivate.js: |
| * stress/put-by-val-direct-putprivate.js: |
| * stress/put-private-name-by-id-set-do-not-add-structure-trasition.js: |
| * stress/put-private-name-check-structure-miss.js: |
| * stress/put-private-name-constant-folding-to-mult-put-by-offset.js: |
| * stress/put-private-name-constant-folding-to-put-by-offset.js: |
| * stress/put-private-name-generic.js: |
| * stress/put-private-name-invalid-define.js: |
| * stress/put-private-name-invalid-store.js: |
| * stress/put-private-name-invalidate-compiled-with-constant-symbol.js: |
| * stress/put-private-name-polymorphic-with-constant-symbol.js: |
| * stress/put-private-name-untyped-use.js: |
| * stress/put-private-name-with-constant-symbol.js: |
| * stress/put-private-name-with-different-identifier.js: |
| * stress/put-private-name-with-primitive.js: |
| * stress/static-private-methods-and-accessor-inner-class.js: |
| * stress/static-private-methods-and-accessor-multiple-evaluation.js: |
| * stress/static-private-methods-and-accessors-postfix-node.js: |
| * stress/static-private-methods-and-accessors-prefix-node.js: |
| * stress/v8-cleanup-from-different-realm.js: |
| * stress/v8-cleanup-proxy-from-different-realm.js: |
| * stress/v8-finalization-registry-basics.js: |
| * stress/v8-finalizationregistry-and-weakref.js: |
| * stress/v8-finalizationregistry-keeps-holdings-alive.js: |
| * stress/v8-finalizationregistry-scheduled-for-cleanup-multiple-times.js: |
| * stress/v8-multiple-dirty-finalization-registries.js: |
| * stress/v8-reentrant-gc-from-cleanup.js: |
| * stress/v8-stress-finalizationregistry-dirty-enqueue.js: |
| * stress/v8-undefined-holdings.js: |
| * stress/v8-unregister-after-cleanup.js: |
| * stress/v8-unregister-before-cleanup.js: |
| * stress/v8-unregister-called-twice.js: |
| * stress/v8-unregister-inside-cleanup2.js: |
| * stress/v8-unregister-inside-cleanup3.js: |
| * stress/v8-unregister-many.js: |
| * stress/v8-weak-unregistertoken.js: |
| * test262/config.yaml: |
| |
| 2021-08-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Unreviewed, speculative fix for old ICU |
| https://bugs.webkit.org/show_bug.cgi?id=229385 |
| |
| * stress/intl-locale-info.js: |
| (shouldBe): |
| |
| 2021-08-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Remove Intl runtime feature flags for already shipped ones |
| https://bugs.webkit.org/show_bug.cgi?id=229371 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/intl-datetimeformat-day-period.js: |
| * test262/config.yaml: |
| |
| 2021-08-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Intl.DisplayNames v2 |
| https://bugs.webkit.org/show_bug.cgi?id=227832 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/intl-displaynames-v2.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (vm.icuVersion): |
| * stress/intl-displaynames.js: |
| (vm.icuVersion): |
| * test262/config.yaml: |
| * test262/expectations.yaml: |
| |
| 2021-08-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Intl Locale Info |
| https://bugs.webkit.org/show_bug.cgi?id=227830 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/intl-locale-info.js: Added. |
| (shouldBe): |
| (throw.new.Error): |
| (let.enGB.new.Intl.Locale.shouldBe): |
| (let.l.new.Intl.Locale.shouldBe): |
| * test262/config.yaml: |
| |
| 2021-08-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Extend Intl TimeZoneName Option |
| https://bugs.webkit.org/show_bug.cgi?id=227831 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/intl-extended-timezone-names.js: Added. |
| (shouldBe): |
| (timeZoneTest): |
| * test262/config.yaml: |
| |
| 2021-08-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Enable Array#findLast method |
| https://bugs.webkit.org/show_bug.cgi?id=229355 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/unscopables.js: |
| |
| 2021-08-17 Mikhail R. Gadelha <mikhail@igalia.com> |
| |
| Unreviewed. Skip failing MIPS tests |
| https://bugs.webkit.org/show_bug.cgi?id=229198 |
| |
| * ChakraCore.yaml: |
| |
| 2021-08-13 Keith Miller <keith_miller@apple.com> |
| |
| EnumeratorNextUpdatePropertyName always needs to be able to handle IndexedMode |
| https://bugs.webkit.org/show_bug.cgi?id=229087 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/for-in-own-structure-and-generic-with-late-add-indexed.js: Added. |
| (test): |
| (Foo): |
| |
| 2021-08-11 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| WTFCrash in JSC::Lexer<char16_t>::append8 |
| https://bugs.webkit.org/show_bug.cgi?id=228982 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/directive-includes-non-latin1.js: Added. |
| |
| 2021-08-09 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] super-Latin1 white space and line terminator after regular expression literal misinterpreted as flags |
| https://bugs.webkit.org/show_bug.cgi?id=227944 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * test262/expectations.yaml: |
| |
| 2021-08-08 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Clean up test262 expectations |
| https://bugs.webkit.org/show_bug.cgi?id=228903 |
| |
| Reviewed by Ross Kirsling. |
| |
| * test262/config.yaml: |
| * test262/expectations.yaml: |
| |
| 2021-08-07 Keith Miller <keith_miller@apple.com> |
| |
| for-in should only emit one loop in bytecode |
| https://bugs.webkit.org/show_bug.cgi?id=227989 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * microbenchmarks/for-in-double-array-with-own-named.js: Added. |
| (test): |
| * microbenchmarks/for-in-double-array.js: Added. |
| (test): |
| * microbenchmarks/for-in-getters.js: Added. |
| (test): |
| * microbenchmarks/for-in-int32-array-with-own-named.js: Added. |
| (test): |
| * microbenchmarks/for-in-int32-array.js: Added. |
| (test): |
| * microbenchmarks/for-in-int32-object-with-own-named-and-getters.js: Added. |
| (test): |
| * microbenchmarks/for-in-int32-object-with-own-named.js: Added. |
| (test): |
| * microbenchmarks/for-in-object-with-own-named.js: Added. |
| (sum): |
| (opaqueSet): |
| * microbenchmarks/for-in-string-array.js: Added. |
| (test): |
| * microbenchmarks/for-of-iterate-array-map-set.js: Added. |
| (sum): |
| (let.generator): |
| * stress/for-in-array-mode.js: |
| (test): |
| * stress/for-in-base-reassigned-later.js: |
| * stress/for-in-delete-during-iteration.js: |
| * stress/for-in-primitive-index-on-prototype.js: Added. |
| (test): |
| * stress/for-in-tests.js: |
| * stress/has-own-property-structure-for-in-loop-correctness.js: |
| (test5): |
| |
| 2021-08-05 Mikhail R. Gadelha <mikhail@igalia.com> |
| |
| Assertion failure when checking array in DFG (32 bits) |
| https://bugs.webkit.org/show_bug.cgi?id=228839 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/check-array-empty-32.js: Added. |
| (a.b.catch.print.c): |
| (a.b): |
| (a.e): |
| (a): |
| |
| 2021-08-02 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Yarr BoyerMoore search should support character-class |
| https://bugs.webkit.org/show_bug.cgi?id=228613 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regexp-bm-search-character-non-fixed-size.js: Added. |
| (shouldBe): |
| * stress/regexp-bm-search-many-candidate-zero-length.js: Added. |
| (shouldBe): |
| (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): |
| * stress/regexp-bm-search-non-fixed-size.js: Added. |
| (shouldBe): |
| |
| 2021-08-02 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Update test262 |
| https://bugs.webkit.org/show_bug.cgi?id=228709 |
| |
| Reviewed by Mark Lam. |
| |
| * test262/latest-changes-summary.txt: |
| * test262/test/built-ins/Error/prototype/constructor/S15.11.4.1_A1_T1.js: Removed. |
| * test262/test/built-ins/Error/prototype/message/15.11.4.3-1.js: Removed. |
| * test262/test/built-ins/Error/prototype/message/S15.11.4.3_A1.js: Removed. |
| * test262/test/built-ins/Error/prototype/message/S15.11.4.3_A2.js: Removed. |
| * test262/test/built-ins/Error/prototype/name/15.11.4.2-1.js: Removed. |
| * test262/test/built-ins/Error/prototype/name/S15.11.4.2_A1.js: Removed. |
| * test262/test/built-ins/Error/prototype/name/S15.11.4.2_A2.js: Removed. |
| * test262/test/built-ins/Error/prototype/toString/S15.11.4.4_A1.js: Removed. |
| * test262/test/built-ins/TypedArray/prototype/findLast/return-abrupt-from-this-out-of-bounds.js: |
| * test262/test/built-ins/TypedArray/prototype/findLastIndex/return-abrupt-from-this-out-of-bounds.js: |
| * test262/test/harness/sta-error.js: Removed. |
| * test262/test/harness/sta-override-error.js: Removed. |
| * test262/test262-Revision.txt: |
| |
| 2021-07-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Upgrade test262 |
| https://bugs.webkit.org/show_bug.cgi?id=228627 |
| |
| Reviewed by Ross Kirsling. |
| |
| 2021-07-30 Robin Morisset <rmorisset@apple.com> |
| |
| Improve OSR entry into Wasm loops with arguments |
| https://bugs.webkit.org/show_bug.cgi?id=228595 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| 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. |
| 100k iterations was not enough to reliably complete an OSR entry. |
| |
| * wasm/stress/osr-entry-with-loop-arguments.js: Added. |
| (async test): |
| |
| 2021-07-30 Tadeu Zagallo <tzagallo@apple.com> |
| |
| putInlineFastReplacingStaticPropertyIfNeeded should handle custom values |
| https://bugs.webkit.org/show_bug.cgi?id=227963 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * stress/reflect-set-custom-value.js: |
| |
| 2021-07-29 Tadeu Zagallo <tzagallo@apple.com> |
| |
| definePropertyOnReceiver should check if receiver canPerformFastPutInline |
| https://bugs.webkit.org/show_bug.cgi?id=227963 |
| <rdar://80259710> |
| |
| Reviewed by Alexey Shvayka. |
| |
| * stress/reflect-set-custom-value.js: Added. |
| |
| 2021-07-29 Yusuke Suzuki <ysuzuki@apple.com> and Alexey Shvayka <shvaikalesh@gmail.com> |
| |
| [JSC] Legacy RegExp fields should be accessors |
| https://bugs.webkit.org/show_bug.cgi?id=220233 |
| |
| Reviewed by Tadeu Zagallo. |
| |
| * ChakraCore/test/Lib/forin_lib_v3.baseline-jsc: |
| * microbenchmarks/assign-custom-setter-polymorphic.js: |
| * microbenchmarks/assign-custom-setter.js: |
| * microbenchmarks/custom-setter-getter-as-put-get-by-id.js: |
| * microbenchmarks/custom-value-2.js: |
| * microbenchmarks/custom-value.js: |
| * microbenchmarks/get-custom-getter.js: |
| * stress/custom-value-delete-property-1.js: |
| * stress/custom-value-delete-property-2.js: |
| * stress/custom-value-delete-property-3.js: |
| * stress/object-assign-fast-path.js: |
| * stress/reflect-set.js: |
| * stress/regexp-constructor-dollar-getters-are-unique.js: Added. |
| * stress/regexp-setter-realm.js: Added. |
| * stress/static-put-in-prototype-chain.js: Added. |
| * test262/config.yaml: |
| * test262/expectations.yaml: |
| |
| 2021-07-28 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Yarr should perform BoyerMoore search |
| https://bugs.webkit.org/show_bug.cgi?id=228301 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/jquery-todomvc-regexp.js: |
| * stress/regexp--bm-search-long-character.js: Added. |
| (shouldBe): |
| * stress/regexp--bm-search-long-map.js: Added. |
| (shouldBe): |
| * stress/regexp-bitvector-reuse.js: Added. |
| (shouldBe): |
| * stress/regexp-non-ascii-bm-search-character.js: Added. |
| (shouldBe): |
| * stress/regexp-non-ascii-bm-search-map.js: Added. |
| (shouldBe): |
| |
| 2021-07-25 Alexey Shvayka <shvaikalesh@gmail.com> |
| |
| Partly implement Function.prototype.{caller,arguments} reflection proposal |
| https://bugs.webkit.org/show_bug.cgi?id=158116 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * ChakraCore/test/strict/19.function.baseline: |
| * ChakraCore/test/strict/22.callerCalleeArguments.baseline-jsc: |
| * microbenchmarks/function-prototype-get.js: Added. |
| * microbenchmarks/reflect-own-keys-function.js: Added. |
| * stress/for-in-shadow-non-enumerable.js: |
| * stress/function-hidden-as-caller.js: |
| * stress/has-own-property-arguments.js: |
| * stress/object-assign-fast-path.js: |
| * stress/put-to-proto-chain-overrides-put.js: |
| * stress/reflect-set.js: |
| * test262/config.yaml: Skip 3 test cases that are now incorrect. |
| * test262/expectations.yaml: Mark 2 test cases as passing. |
| |
| 2021-07-23 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Add Speedometer2 jQuery-TodoMVC RegExp microbenchmark |
| https://bugs.webkit.org/show_bug.cgi?id=228257 |
| |
| Reviewed by Mark Lam. |
| |
| I instrumented JSC and extracted executed RegExp evaluations from Speedometer2/jQuery-TodoMVC |
| to easily test RegExp performance. |
| |
| * microbenchmarks/jquery-todomvc-regexp.js: Added. |
| (x00.test): |
| |
| 2021-07-23 Alexey Shvayka <shvaikalesh@gmail.com> |
| |
| [JSC] Call custom accessors / values with their holder's global object |
| https://bugs.webkit.org/show_bug.cgi?id=225997 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/custom-get-set-proto-chain-put.js: |
| * stress/getter-setter-globalobject-in-ic-2.js: Added. |
| |
| 2021-07-22 Saam Barati <sbarati@apple.com> |
| |
| JSTests/stress/test-out-of-memory shouldn't assume that we always OOM |
| https://bugs.webkit.org/show_bug.cgi?id=228213 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/test-out-of-memory.js: |
| |
| 2021-07-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Reduce iteration of microbenchmarks/memcpy-typed-loop.js |
| https://bugs.webkit.org/show_bug.cgi?id=228214 |
| |
| Reviewed by Saam Barati. |
| |
| Observing frequent timeout (e.g. https://ews-build.webkit.org/#/builders/1/builds/44698). |
| We do not need to have such a large # of iterations. |
| |
| * microbenchmarks/memcpy-typed-loop.js: |
| |
| 2021-07-22 Saam Barati <sbarati@apple.com> |
| |
| AirStackSlot's uint16_t byte size is too small |
| https://bugs.webkit.org/show_bug.cgi?id=228193 |
| <rdar://80888059> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/stack-slot-needs-to-use-more-than-uint16.js: Added. |
| |
| 2021-07-20 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] invalidParameterInstanceofSourceAppender should care direct call of Symbol.hasInstance |
| https://bugs.webkit.org/show_bug.cgi?id=228075 |
| rdar://80762879 |
| |
| Reviewed by Frédéric Wang. |
| |
| * stress/symbol-hasinstance-error.js: Added. |
| (shouldThrow): |
| (let.a): |
| |
| 2021-07-19 Mark Lam <mark.lam@apple.com> |
| |
| DFG's parseIntResult() should check for negative zero. |
| https://bugs.webkit.org/show_bug.cgi?id=228068 |
| rdar://80788603 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/dfg-parseIntResult-should-check-for-negative-zero.js: Added. |
| |
| 2021-07-19 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] InByStatus / InByVariant should visit CacheableIdentifier |
| https://bugs.webkit.org/show_bug.cgi?id=228088 |
| rdar://80794604 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/in-by-variant-should-mark-cacheable-identifier.js: Added. |
| (foo): |
| (let.handler.has): |
| |
| 2021-07-16 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Simplify sampling-profiler-regexp.js test |
| https://bugs.webkit.org/show_bug.cgi?id=228040 |
| |
| Reviewed by Saam Barati. |
| |
| 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. |
| We change the sampling-profiler/samplingProfiler.js runTest to add a mode which searches specific signature in the call tree. |
| |
| * stress/sampling-profiler-regexp.js: |
| (platformSupportsSamplingProfiler): |
| * stress/sampling-profiler/samplingProfiler.js: |
| (doesTreeHaveStackTrace): |
| (runTest): |
| |
| 2021-07-16 Saam Barati <sbarati@apple.com> |
| |
| Grab the lock in FTL::Thunks::keyForSlowPathCallThunk |
| https://bugs.webkit.org/show_bug.cgi?id=227988 |
| <rdar://problem/80627901> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/thunks-hash-map-should-grab-lock.js: Added. |
| |
| 2021-07-16 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] RegExp::dumpToStream must not ref Strings since it is called concurrently |
| https://bugs.webkit.org/show_bug.cgi?id=228031 |
| rdar://80686425 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/regexp-dump-concurrently.js: Added. |
| (let.code): |
| |
| 2021-07-15 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] SamplingProfiler should recognize RegExp execution |
| https://bugs.webkit.org/show_bug.cgi?id=201702 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/sampling-profiler-regexp.js: Added. |
| (platformSupportsSamplingProfiler.getText): |
| (platformSupportsSamplingProfiler.test): |
| (platformSupportsSamplingProfiler.baz): |
| (platformSupportsSamplingProfiler): |
| * stress/sampling-profiler/samplingProfiler.js: Extend samplingProfiler to show better error information when VERBOSE = true. |
| (doesTreeHaveStackTrace): |
| |
| 2021-07-15 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Harden defaultTimeZone retrieval |
| https://bugs.webkit.org/show_bug.cgi?id=227996 |
| |
| Reviewed by Mark Lam. |
| |
| * complex.yaml: |
| * complex/intl-timezone-check.js: Added. |
| (shouldBe): |
| |
| 2021-07-15 Mark Lam <mark.lam@apple.com> |
| |
| JITWorklist::waitUntilAllPlansForVMAreReady() should also be notified when plans are cancelled. |
| https://bugs.webkit.org/show_bug.cgi?id=228003 |
| rdar://78314543 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/waitUntilAllPlansForVMAreReady-should-be-notified-of-cancelled-plans-too.js: Added. |
| |
| 2021-07-14 Devin Rousso <drousso@apple.com> |
| |
| Implement Array.prototype.findLast and Array.prototype.findLastIndex |
| https://bugs.webkit.org/show_bug.cgi?id=227939 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/typedarray-findLast.js: Added. |
| (keepEven): |
| (keepEvenAndChange): |
| (isBigEnoughAndException): |
| |
| * stress/typedarray-findLastIndex.js: Added. |
| (keepEven): |
| (keepEvenAndChange): |
| (isBigEnoughAndException): |
| |
| 2021-07-14 Keith Miller <keith_miller@apple.com> |
| |
| Unreviewed, test gardening. |
| |
| * stress/bit-op-with-object-returning-int32.js: |
| * stress/bitwise-not-fixup-rules.js: |
| (jscOptions): |
| |
| 2021-07-14 Mark Lam <mark.lam@apple.com> |
| |
| Check for out of memory in JSC::globalFuncEscape() and JSC::globalFuncUnescape(). |
| https://bugs.webkit.org/show_bug.cgi?id=227962 |
| rdar://78392251 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/out-of-memory-in-globalFuncUnescape.js: Added. |
| |
| 2021-07-14 Mark Lam <mark.lam@apple.com> |
| |
| Placate exception checker validation in operationObjectAssignUntyped. |
| https://bugs.webkit.org/show_bug.cgi?id=227955 |
| rdar://80503746 |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/exception-check-in-operationObjectAssignUntyped.js: Added. |
| |
| 2021-07-14 Keith Miller <keith_miller@apple.com> |
| |
| Fix more tests around fuzzing executable allocations |
| https://bugs.webkit.org/show_bug.cgi?id=226663 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/bit-op-with-object-returning-int32.js: |
| (numberOfDFGCompiles): Deleted. |
| * stress/bitwise-not-fixup-rules.js: |
| (jscOptions): |
| (numberOfDFGCompiles): Deleted. |
| |
| 2021-07-12 Saam Barati <sbarati@apple.com> |
| |
| Run some tests for fewer iterations to prevent test timeouts |
| https://bugs.webkit.org/show_bug.cgi?id=227879 |
| |
| Reviewed by Mark Lam. |
| |
| * microbenchmarks/get-by-val-negative-array-index.js: |
| * microbenchmarks/memcpy-typed-loop-small.js: |
| * microbenchmarks/put-by-val-negative-array-index.js: |
| |
| 2021-07-12 Saam Barati <sbarati@apple.com> |
| |
| stress/wasm-loop-consistency.js should require the --useExecutableAllocationFuzz=false JSC option |
| https://bugs.webkit.org/show_bug.cgi?id=227876 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/wasm-loop-consistency.js: |
| |
| 2021-07-10 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Update test262 |
| https://bugs.webkit.org/show_bug.cgi?id=227851 |
| |
| Reviewed by Mark Lam. |
| |
| * test262/config.yaml: |
| * test262/expectations.yaml: |
| * test262/harness/compareArray.js: |
| (assert.compareArray): |
| * test262/harness/regExpUtils.js: |
| (buildString): |
| (): Deleted. |
| * test262/harness/sta.js: |
| (Test262Error.thrower): |
| * test262/harness/testIntl.js: |
| (getLocaleSupportInfo): |
| * test262/latest-changes-summary.txt: |
| * test262/test/annexB/language/literals/regexp/legacy-octal-escape.js: |
| * test262/test/built-ins/ArrayBuffer/options-maxbytelength-diminuitive.js: Added. |
| * test262/test/built-ins/ArrayBuffer/options-maxbytelength-excessive.js: Added. |
| * test262/test/built-ins/ArrayBuffer/options-maxbytelength-negative.js: Added. |
| * test262/test/built-ins/ArrayBuffer/options-maxbytelength-object.js: Added. |
| (options.maxByteLength.toString): |
| (options.maxByteLength.valueOf): |
| * test262/test/built-ins/ArrayBuffer/options-maxbytelength-poisoned.js: Added. |
| (options.get maxByteLength): |
| * test262/test/built-ins/ArrayBuffer/options-maxbytelength-undefined.js: Added. |
| * test262/test/built-ins/ArrayBuffer/options-non-object.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/detached-buffer.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/invoked-as-accessor.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/invoked-as-func.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/length.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/name.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/prop-desc.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/return-maxbytelength-non-resizable.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/return-maxbytelength-resizable.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/this-has-no-arraybufferdata-internal.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/this-is-not-object.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/maxByteLength/this-is-sharedarraybuffer.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resizable/detached-buffer.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resizable/invoked-as-accessor.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resizable/invoked-as-func.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resizable/length.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resizable/name.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resizable/prop-desc.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resizable/return-resizable.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resizable/this-has-no-arraybufferdata-internal.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resizable/this-is-not-object.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resizable/this-is-sharedarraybuffer.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/descriptor.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/extensible.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/length.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/name.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/new-length-excessive.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/new-length-negative.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/new-length-non-number.js: Added. |
| (newLength.toString): |
| (newLength.valueOf): |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/nonconstructor.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-grow.js: Added. |
| (catch): |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-same-size-zero-explicit.js: Added. |
| (catch): |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-same-size-zero-implicit.js: Added. |
| (catch): |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-same-size.js: Added. |
| (catch): |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-shrink-zero-explicit.js: Added. |
| (catch): |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-shrink-zero-implicit.js: Added. |
| (catch): |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/resize-shrink.js: Added. |
| (catch): |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-detached.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-not-arraybuffer-object.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-not-object.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-not-resizable-arraybuffer-object.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/resize/this-is-sharedarraybuffer.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/descriptor.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/extensible.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-larger.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-same.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-smaller.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/from-fixed-to-zero.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-larger.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-same.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-smaller.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/from-resizable-to-zero.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/length.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/name.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/new-length-excessive.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/new-length-non-number.js: Added. |
| (newLength.toString): |
| (newLength.valueOf): |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/nonconstructor.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/this-is-detached.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/this-is-not-arraybuffer-object.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/this-is-not-object.js: Added. |
| * test262/test/built-ins/ArrayBuffer/prototype/transfer/this-is-sharedarraybuffer.js: Added. |
| * test262/test/built-ins/DataView/prototype/byteLength/resizable-array-buffer-auto.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/byteLength/resizable-array-buffer-fixed.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/byteOffset/resizable-array-buffer-auto.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/byteOffset/resizable-array-buffer-fixed.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/getBigInt64/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/getBigUint64/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/getFloat32/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/getFloat64/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/getInt16/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/getInt32/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/getInt8/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/getUint16/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/getUint32/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/getUint8/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/setBigInt64/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/setBigUint64/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/setFloat32/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/setFloat64/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/setInt16/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/setInt32/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/setInt8/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/setUint16/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/setUint32/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/DataView/prototype/setUint8/resizable-buffer.js: Added. |
| (catch): |
| * test262/test/built-ins/Error/cause_abrupt.js: |
| (has): |
| (options.get cause): |
| * test262/test/built-ins/Object/hasOwn/descriptor.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_exists.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter.js: Added. |
| (base.get foo): |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_and_setter.js: Added. |
| (base.get foo): |
| (base.set foo): |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_and_setter_configurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_and_setter_configurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_and_setter_nonconfigurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_and_setter_nonconfigurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_configurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_configurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_nonconfigurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_getter_nonconfigurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_nonwritable_configurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_nonwritable_configurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_nonwritable_nonconfigurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_nonwritable_nonconfigurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_setter.js: Added. |
| (base.set foo): |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_setter_configurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_setter_configurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_setter_nonconfigurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_setter_nonconfigurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_writable_configurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_writable_configurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_writable_nonconfigurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_inherited_writable_nonconfigurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_nonexistent.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_getter.js: Added. |
| (o.get foo): |
| * test262/test/built-ins/Object/hasOwn/hasown_own_getter_and_setter.js: Added. |
| (o.get foo): |
| (o.set foo): |
| * test262/test/built-ins/Object/hasOwn/hasown_own_getter_and_setter_configurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_getter_and_setter_configurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_getter_and_setter_nonconfigurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_getter_and_setter_nonconfigurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_getter_configurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_getter_configurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_getter_nonconfigurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_getter_nonconfigurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_nonwritable_configurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_nonwritable_nonconfigurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_nonwriteable_configurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_nonwriteable_nonconfigurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_property_exists.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_setter.js: Added. |
| (o.set foo): |
| * test262/test/built-ins/Object/hasOwn/hasown_own_setter_configurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_setter_configurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_setter_nonconfigurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_setter_nonconfigurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_writable_configurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_writable_configurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_writable_nonconfigurable_enumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/hasown_own_writable_nonconfigurable_nonenumerable.js: Added. |
| * test262/test/built-ins/Object/hasOwn/length.js: Added. |
| * test262/test/built-ins/Object/hasOwn/name.js: Added. |
| * test262/test/built-ins/Object/hasOwn/not-a-constructor.js: Added. |
| * test262/test/built-ins/Object/hasOwn/prototype.js: Added. |
| * test262/test/built-ins/Object/hasOwn/symbol_own_property.js: Added. |
| * test262/test/built-ins/Object/hasOwn/symbol_property_toPrimitive.js: Added. |
| (wrapper.Symbol.toPrimitive): |
| * test262/test/built-ins/Object/hasOwn/symbol_property_toString.js: Added. |
| (wrapper.toString): |
| (wrapper.valueOf): |
| * test262/test/built-ins/Object/hasOwn/symbol_property_valueOf.js: Added. |
| (wrapper.valueOf): |
| * test262/test/built-ins/Object/hasOwn/toobject_before_topropertykey.js: Added. |
| (coercibleKey1.get toString): |
| (coercibleKey1.get valueOf): |
| (coercibleKey2.Symbol.toPrimitive): |
| * test262/test/built-ins/Object/hasOwn/toobject_null.js: Added. |
| * test262/test/built-ins/Object/hasOwn/toobject_undefined.js: Added. |
| * test262/test/built-ins/Promise/race/resolve-element-function-extensible.js: Removed. |
| * test262/test/built-ins/Promise/race/resolve-element-function-name.js: Removed. |
| * test262/test/built-ins/Promise/race/resolve-element-function-nonconstructor.js: Removed. |
| * test262/test/built-ins/Promise/race/resolve-element-function-prototype.js: Removed. |
| * test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-diminuitive.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-excessive.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-negative.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-object.js: Added. |
| (options.maxByteLength.toString): |
| (options.maxByteLength.valueOf): |
| * test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-poisoned.js: Added. |
| (options.get maxByteLength): |
| * test262/test/built-ins/SharedArrayBuffer/options-maxbytelength-undefined.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/options-non-object.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/grow/descriptor.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/grow/extensible.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/grow/grow-larger-size.js: Added. |
| (catch): |
| * test262/test/built-ins/SharedArrayBuffer/prototype/grow/grow-same-size.js: Added. |
| (catch): |
| * test262/test/built-ins/SharedArrayBuffer/prototype/grow/grow-smaller-size.js: Added. |
| (catch): |
| * test262/test/built-ins/SharedArrayBuffer/prototype/grow/length.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/grow/name.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/grow/new-length-excessive.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/grow/new-length-negative.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/grow/new-length-non-number.js: Added. |
| (newLength.toString): |
| (newLength.valueOf): |
| * test262/test/built-ins/SharedArrayBuffer/prototype/grow/nonconstructor.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/grow/this-is-not-arraybuffer-object.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/grow/this-is-not-object.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/grow/this-is-not-resizable-arraybuffer-object.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/grow/this-is-sharedarraybuffer.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/growable/invoked-as-accessor.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/growable/invoked-as-func.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/growable/length.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/growable/name.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/growable/prop-desc.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/growable/return-growable.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/growable/this-has-no-arraybufferdata-internal.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/growable/this-is-arraybuffer.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/growable/this-is-not-object.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/invoked-as-accessor.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/invoked-as-func.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/length.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/name.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/prop-desc.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/return-maxbytelength-growable.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/return-maxbytelength-non-growable.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/this-has-no-arraybufferdata-internal.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/this-is-arraybuffer.js: Added. |
| * test262/test/built-ins/SharedArrayBuffer/prototype/maxByteLength/this-is-not-object.js: Added. |
| * test262/test/built-ins/Symbol/for/description.js: Added. |
| (symbol.Symbol.toString): |
| * test262/test/built-ins/Temporal/now/instant/extensible.js: Added. |
| * test262/test/built-ins/Temporal/now/instant/length.js: Added. |
| * test262/test/built-ins/Temporal/now/instant/name.js: Added. |
| * test262/test/built-ins/Temporal/now/instant/not-a-constructor.js: Added. |
| * test262/test/built-ins/Temporal/now/instant/prop-desc.js: Added. |
| * test262/test/built-ins/Temporal/now/instant/return-value-distinct.js: Added. |
| * test262/test/built-ins/Temporal/now/instant/return-value-prototype.js: Added. |
| * test262/test/built-ins/Temporal/now/instant/return-value-value.js: Added. |
| * test262/test/built-ins/Temporal/now/timeZone/extensible.js: Added. |
| * test262/test/built-ins/Temporal/now/timeZone/length.js: Added. |
| * test262/test/built-ins/Temporal/now/timeZone/name.js: Added. |
| * test262/test/built-ins/Temporal/now/timeZone/new-object.js: Added. |
| * test262/test/built-ins/Temporal/now/timeZone/not-a-constructor.js: Added. |
| * test262/test/built-ins/Temporal/now/timeZone/prop-desc.js: Added. |
| * test262/test/built-ins/Temporal/now/timeZone/return-value.js: Added. |
| * test262/test/built-ins/TypedArray/prototype/at/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| * test262/test/built-ins/TypedArray/prototype/byteLength/resizable-array-buffer-auto.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArray/prototype/byteLength/resizable-array-buffer-fixed.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArray/prototype/byteOffset/resizable-array-buffer-auto.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArray/prototype/byteOffset/resizable-array-buffer-fixed.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArray/prototype/copyWithin/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| * test262/test/built-ins/TypedArray/prototype/entries/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| * test262/test/built-ins/TypedArray/prototype/every/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| (testWithTypedArrayConstructors.TA.array.every): |
| * test262/test/built-ins/TypedArray/prototype/fill/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| * test262/test/built-ins/TypedArray/prototype/filter/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| (testWithTypedArrayConstructors.TA.array.filter): |
| * test262/test/built-ins/TypedArray/prototype/find/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| (testWithTypedArrayConstructors.TA.array.find): |
| * test262/test/built-ins/TypedArray/prototype/findIndex/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| (testWithTypedArrayConstructors.TA.array.findIndex): |
| * test262/test/built-ins/TypedArray/prototype/forEach/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| (testWithTypedArrayConstructors.TA.array.forEach): |
| * test262/test/built-ins/TypedArray/prototype/includes/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| * test262/test/built-ins/TypedArray/prototype/indexOf/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| * test262/test/built-ins/TypedArray/prototype/join/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| * test262/test/built-ins/TypedArray/prototype/keys/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| * test262/test/built-ins/TypedArray/prototype/lastIndexOf/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| * test262/test/built-ins/TypedArray/prototype/length/resizable-array-buffer-auto.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArray/prototype/length/resizable-array-buffer-fixed.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArray/prototype/map/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| (testWithTypedArrayConstructors.TA.array.map): |
| * test262/test/built-ins/TypedArray/prototype/reduce/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| (testWithTypedArrayConstructors.TA.array.reduce): |
| * test262/test/built-ins/TypedArray/prototype/reduceRight/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| (testWithTypedArrayConstructors.TA.array.reduceRight): |
| * test262/test/built-ins/TypedArray/prototype/reverse/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| * test262/test/built-ins/TypedArray/prototype/set/typedarray-arg-set-values-same-buffer-same-type-resized.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArray/prototype/set/typedarray-arg-target-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| * test262/test/built-ins/TypedArray/prototype/slice/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| * test262/test/built-ins/TypedArray/prototype/some/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| (testWithTypedArrayConstructors.TA.array.some): |
| * test262/test/built-ins/TypedArray/prototype/sort/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| * test262/test/built-ins/TypedArray/prototype/toLocaleString/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| * test262/test/built-ins/TypedArray/prototype/values/return-abrupt-from-this-out-of-bounds.js: Added. |
| (testWithTypedArrayConstructors.TA.catch): |
| * test262/test/built-ins/TypedArrayConstructors/ctors/buffer-arg/excessive-offset-throws-resizable-ab.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/out-of-bounds-when-species-retrieved-different-type.js: Added. |
| (testWithTypedArrayConstructors.): |
| (testWithTypedArrayConstructors.get var): |
| (testWithTypedArrayConstructors.onGetSpecies): |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/ctors/typedarray-arg/out-of-bounds-when-species-retrieved-same-type.js: Added. |
| (testWithTypedArrayConstructors.): |
| (testWithTypedArrayConstructors.get var): |
| (testWithTypedArrayConstructors.onGetSpecies): |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/detached-buffer-realm.js: Removed. |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/detached-buffer-throws-realm.js: Added. |
| (testWithBigIntTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/detached-buffer-throws.js: Added. |
| (testWithBigIntTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-not-numeric-index-throws.js: Added. |
| (testWithBigIntTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-numericindex-accessor-desc-throws.js: Added. |
| (testWithBigIntTypedArrayConstructors.): |
| (testWithBigIntTypedArrayConstructors.get assert): |
| (testWithBigIntTypedArrayConstructors.set assert): |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-numericindex-desc-configurable.js: |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-numericindex-desc-not-configurable-throws.js: Added. |
| (testWithBigIntTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-numericindex-desc-not-enumerable-throws.js: Added. |
| (testWithBigIntTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/key-is-numericindex-desc-not-writable-throws.js: Added. |
| (testWithBigIntTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/BigInt/tonumber-value-detached-buffer.js: |
| (testWithBigIntTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/detached-buffer-realm.js: Removed. |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/detached-buffer-throws-realm.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/detached-buffer-throws.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-not-numeric-index-throws.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex-accessor-desc-throws.js: Added. |
| (testWithTypedArrayConstructors.): |
| (testWithTypedArrayConstructors.get assert): |
| (testWithTypedArrayConstructors.set assert): |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex-desc-configurable.js: |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex-desc-not-configurable-throws.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex-desc-not-enumerable-throws.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/key-is-numericindex-desc-not-writable-throws.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/DefineOwnProperty/tonumber-value-detached-buffer.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/Delete/key-is-symbol.js: |
| * test262/test/built-ins/TypedArrayConstructors/internals/HasProperty/resizable-array-buffer-auto.js: Added. |
| (inspect): |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/HasProperty/resizable-array-buffer-fixed.js: Added. |
| (inspect): |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/OwnPropertyKeys/integer-indexes-resizable-array-buffer-auto.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/TypedArrayConstructors/internals/OwnPropertyKeys/integer-indexes-resizable-array-buffer-fixed.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/intl402/DateTimeFormat/constructor-options-style-conflict.js: Added. |
| * test262/test/intl402/Locale/prototype/calendars/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/calendars/name.js: Added. |
| * test262/test/intl402/Locale/prototype/calendars/output-array.js: Added. |
| * test262/test/intl402/Locale/prototype/calendars/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/collations/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/collations/name.js: Added. |
| * test262/test/intl402/Locale/prototype/collations/output-array-values.js: Added. |
| * test262/test/intl402/Locale/prototype/collations/output-array.js: Added. |
| * test262/test/intl402/Locale/prototype/collations/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/hourCycles/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/hourCycles/name.js: Added. |
| * test262/test/intl402/Locale/prototype/hourCycles/output-array-values.js: Added. |
| * test262/test/intl402/Locale/prototype/hourCycles/output-array.js: Added. |
| * test262/test/intl402/Locale/prototype/hourCycles/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/numberingSystems/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/numberingSystems/name.js: Added. |
| * test262/test/intl402/Locale/prototype/numberingSystems/output-array.js: Added. |
| * test262/test/intl402/Locale/prototype/numberingSystems/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/textInfo/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/textInfo/name.js: Added. |
| * test262/test/intl402/Locale/prototype/textInfo/output-object-keys.js: Added. |
| * test262/test/intl402/Locale/prototype/textInfo/output-object.js: Added. |
| * test262/test/intl402/Locale/prototype/textInfo/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/timeZones/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/timeZones/name.js: Added. |
| * test262/test/intl402/Locale/prototype/timeZones/output-array-sorted.js: Added. |
| * test262/test/intl402/Locale/prototype/timeZones/output-array.js: Added. |
| * test262/test/intl402/Locale/prototype/timeZones/output-undefined.js: Added. |
| * test262/test/intl402/Locale/prototype/timeZones/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/weekInfo/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/weekInfo/name.js: Added. |
| * test262/test/intl402/Locale/prototype/weekInfo/output-object-keys.js: Added. |
| * test262/test/intl402/Locale/prototype/weekInfo/output-object.js: Added. |
| * test262/test/intl402/Locale/prototype/weekInfo/prop-desc.js: Added. |
| * test262/test/intl402/Segmenter/constructor/supportedLocalesOf/locales-specific.js: |
| * test262/test/intl402/Segmenter/prototype/segment/containing/iswordlike.js: |
| (other_granularities.forEach): |
| * test262/test/intl402/Segmenter/prototype/segment/containing/one-index.js: |
| (toString): |
| (valueOf): |
| (Symbol.toPrimitive): |
| * test262/test/intl402/Segmenter/prototype/segment/containing/out-of-bound-index.js: |
| (toString): |
| (valueOf): |
| (Symbol.toPrimitive): |
| * test262/test/intl402/Segmenter/prototype/segment/containing/word-iswordlike.js: |
| (inputs.forEach): |
| * test262/test/intl402/Segmenter/prototype/segment/containing/zero-index.js: |
| (toString): |
| (valueOf): |
| (Symbol.toPrimitive): |
| * test262/test/intl402/Segmenter/prototype/segment/segment-grapheme-iterable.js: |
| (const.v.of.seg.segment): |
| * test262/test/intl402/Segmenter/prototype/segment/segment-sentence-iterable.js: |
| (const.v.of.seg.segment): |
| * test262/test/intl402/Segmenter/prototype/segment/segment-word-iterable.js: |
| (const.v.of.seg.segment): |
| * test262/test/intl402/fallback-locales-are-supported.js: |
| (testWithIntlConstructors): |
| * test262/test/intl402/supportedLocalesOf-consistent-with-resolvedOptions.js: |
| (testWithIntlConstructors): |
| * test262/test/intl402/supportedLocalesOf-unicode-extensions-ignored.js: |
| (testWithIntlConstructors.): |
| (testWithIntlConstructors): |
| * test262/test/language/expressions/arrow-function/extensibility.js: Added. |
| (assert.Object.isExtensible): |
| * test262/test/language/expressions/arrow-function/syntax/arrowparameters-cover-initialize-2.js: |
| * test262/test/language/expressions/assignment/S11.13.1_A7_T1.js: Removed. |
| * test262/test/language/expressions/assignment/S11.13.1_A7_T2.js: Removed. |
| * test262/test/language/expressions/assignment/target-member-computed-reference-null.js: Added. |
| (DummyError): |
| (prop): |
| (expr): |
| (prop.toString): |
| * test262/test/language/expressions/assignment/target-member-computed-reference-undefined.js: Added. |
| (DummyError): |
| (prop): |
| (expr): |
| (prop.toString): |
| * test262/test/language/expressions/assignment/target-member-identifier-reference-null.js: Added. |
| * test262/test/language/expressions/assignment/target-member-identifier-reference-undefined.js: Added. |
| * test262/test/language/expressions/assignment/target-super-computed-reference-null.js: Added. |
| (C.m): |
| (C): |
| * test262/test/language/expressions/assignment/target-super-identifier-reference-null.js: Added. |
| (C.m): |
| (C): |
| * test262/test/language/expressions/delete/member-computed-reference-null.js: Added. |
| * test262/test/language/expressions/delete/member-computed-reference-undefined.js: Added. |
| * test262/test/language/expressions/delete/member-identifier-reference-null.js: Added. |
| * test262/test/language/expressions/delete/member-identifier-reference-undefined.js: Added. |
| * test262/test/language/expressions/delete/super-property-null-base.js: Added. |
| (C.m): |
| (C): |
| * test262/test/language/expressions/dynamic-import/2nd-param-assert-enumeration-abrupt.js: Added. |
| (options.ownKeys): |
| (options.then): |
| * test262/test/language/expressions/dynamic-import/2nd-param-assert-enumeration.js: Added. |
| (options.ownKeys): |
| (options.get _): |
| (options.getOwnPropertyDescriptor): |
| (options.then): |
| * test262/test/language/expressions/dynamic-import/2nd-param-assert-non-object.js: Added. |
| (test): |
| (string_appeared_here.then): |
| * test262/test/language/expressions/dynamic-import/2nd-param-assert-undefined.js: Added. |
| (then): |
| * test262/test/language/expressions/dynamic-import/2nd-param-assert-value-abrupt.js: Added. |
| (assert.get string_appeared_here): |
| (then): |
| * test262/test/language/expressions/dynamic-import/2nd-param-assert-value-non-string.js: Added. |
| (test): |
| (string_appeared_here.then): |
| * test262/test/language/expressions/dynamic-import/2nd-param-await-expr.js: Added. |
| * test262/test/language/expressions/dynamic-import/2nd-param-await-ident.js: Added. |
| (await): |
| (await.undefined.then): |
| * test262/test/language/expressions/dynamic-import/2nd-param-evaluation-abrupt-return.js: Added. |
| (iter): |
| * test262/test/language/expressions/dynamic-import/2nd-param-evaluation-abrupt-throw.js: Added. |
| (throwError): |
| * test262/test/language/expressions/dynamic-import/2nd-param-evaluation-sequence.js: Added. |
| * test262/test/language/expressions/dynamic-import/2nd-param-get-assert-error.js: Added. |
| (options.get assert): |
| (options.then): |
| * test262/test/language/expressions/dynamic-import/2nd-param-in.js: Added. |
| (promise.then): |
| * test262/test/language/expressions/dynamic-import/2nd-param-non-object.js: Added. |
| (test): |
| (string_appeared_here.then): |
| * test262/test/language/expressions/dynamic-import/2nd-param-trailing-comma-fulfill.js: Added. |
| (then): |
| * test262/test/language/expressions/dynamic-import/2nd-param-trailing-comma-reject.js: Added. |
| (import.toString): |
| (then): |
| * test262/test/language/expressions/dynamic-import/2nd-param-yield-expr.js: Added. |
| (iter): |
| (promise.then): |
| * test262/test/language/expressions/dynamic-import/2nd-param-yield-ident-invalid.js: Added. |
| * test262/test/language/expressions/dynamic-import/2nd-param-yield-ident-valid.js: Added. |
| (yield.then): |
| * test262/test/language/expressions/dynamic-import/2nd-param_FIXTURE.js: Added. |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-assignment-expression-not-extensible-args.js: |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-arrow-not-extensible-args.js: |
| (let.f): |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-arrow-function-await-not-extensible-args.js: |
| (async await): |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-arrow-function-return-await-not-extensible-args.js: |
| (async await): |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-arrow-function-return-await-not-extensible-no-trailing-comma.js: Removed. |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-await-not-extensible-args.js: |
| (async f): |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-not-extensible-args.js: |
| (async f): |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-return-await-not-extensible-args.js: |
| (async f): |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-function-return-await-not-extensible-no-trailing-comma.js: Removed. |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-async-gen-await-not-extensible-args.js: |
| (async f): |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-block-labeled-not-extensible-args.js: |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-block-not-extensible-args.js: |
| (DONOTEVALUATE): |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-do-while-not-extensible-args.js: |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-else-braceless-not-extensible-args.js: |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-else-not-extensible-args.js: |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-function-not-extensible-args.js: |
| (fn): |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-function-return-not-extensible-args.js: |
| (fn): |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-if-braceless-not-extensible-args.js: |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-if-braceless-not-extensible-no-trailing-comma.js: Removed. |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-if-not-extensible-args.js: |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-while-not-extensible-args.js: |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-with-expression-not-extensible-args.js: |
| (with.import): |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/nested-with-not-extensible-args.js: |
| (with): |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/top-level-not-extensible-args.js: |
| * test262/test/language/expressions/dynamic-import/syntax/invalid/top-level-not-extensible-no-trailing-comma.js: Removed. |
| * 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. |
| * 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. |
| * 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. |
| (let.f): |
| * 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. |
| (let.f): |
| * 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. |
| * 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. |
| (async await): |
| * 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. |
| * 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. |
| (async await): |
| * 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. |
| (async f): |
| * 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. |
| (async f): |
| * 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. |
| (async f): |
| * 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. |
| (async f): |
| * 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. |
| (async f): |
| * 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. |
| (async f): |
| * 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. |
| (async f): |
| * 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. |
| (async f): |
| * 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. |
| * 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. |
| * 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. |
| * 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. |
| * 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. |
| * 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. |
| * 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. |
| * 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. |
| * 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. |
| * 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. |
| * 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. |
| (fn): |
| * 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. |
| (fn): |
| * 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. |
| (fn): |
| * 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. |
| (fn): |
| * 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. |
| * 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. |
| * 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. |
| * 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. |
| * 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. |
| * 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. |
| * 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. |
| (with.import): |
| * 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. |
| (with.import): |
| * 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. |
| (with): |
| * 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. |
| (with): |
| * test262/test/language/expressions/dynamic-import/syntax/valid/top-level-trailing-comma-first.js: Added. |
| * test262/test/language/expressions/dynamic-import/syntax/valid/top-level-trailing-comma-second.js: Added. |
| * test262/test/language/expressions/dynamic-import/trailing-comma-fulfill.js: Added. |
| (then): |
| * test262/test/language/expressions/dynamic-import/trailing-comma-reject.js: Added. |
| (import.toString): |
| (then): |
| * test262/test/language/expressions/template-literal/invalid-legacy-octal-escape-sequence-8.js: |
| * test262/test/language/expressions/template-literal/invalid-legacy-octal-escape-sequence-9.js: |
| * test262/test/language/expressions/template-literal/invalid-legacy-octal-escape-sequence.js: |
| * test262/test/language/import/json-extensibility-array.js: Added. |
| * test262/test/language/import/json-extensibility-object.js: Added. |
| * test262/test/language/import/json-idempotency-indirect_FIXTURE.js: Added. |
| * test262/test/language/import/json-idempotency.js: Added. |
| (then): |
| * test262/test/language/import/json-invalid.js: Added. |
| * test262/test/language/import/json-named-bindings.js: Added. |
| * test262/test/language/import/json-value-array.js: Added. |
| * test262/test/language/import/json-value-boolean.js: Added. |
| * test262/test/language/import/json-value-null.js: Added. |
| * test262/test/language/import/json-value-number.js: Added. |
| * test262/test/language/import/json-value-object.js: Added. |
| * test262/test/language/import/json-value-string.js: Added. |
| * test262/test/language/import/json-via-namespace.js: Added. |
| * test262/test/language/literals/numeric/legacy-octal-integer-strict.js: |
| * test262/test/language/literals/numeric/legacy-octal-integer.js: Renamed from JSTests/test262/test/annexB/language/literals/numeric/legacy-octal-integer.js. |
| * test262/test/language/literals/numeric/non-octal-decimal-integer-strict.js: |
| * test262/test/language/literals/numeric/non-octal-decimal-integer.js: Renamed from JSTests/test262/test/annexB/language/literals/numeric/non-octal-decimal-integer.js. |
| * test262/test/language/literals/string/legacy-non-octal-escape-sequence-1-strict-explicit-pragma.js: |
| * test262/test/language/literals/string/legacy-non-octal-escape-sequence-2-strict-explicit-pragma.js: |
| * test262/test/language/literals/string/legacy-non-octal-escape-sequence-3-strict-explicit-pragma.js: |
| * test262/test/language/literals/string/legacy-non-octal-escape-sequence-4-strict-explicit-pragma.js: |
| * test262/test/language/literals/string/legacy-non-octal-escape-sequence-5-strict-explicit-pragma.js: |
| * test262/test/language/literals/string/legacy-non-octal-escape-sequence-6-strict-explicit-pragma.js: |
| * test262/test/language/literals/string/legacy-non-octal-escape-sequence-7-strict-explicit-pragma.js: |
| * test262/test/language/literals/string/legacy-non-octal-escape-sequence-8-non-strict.js: Added. |
| * test262/test/language/literals/string/legacy-non-octal-escape-sequence-8-strict-explicit-pragma.js: |
| * test262/test/language/literals/string/legacy-non-octal-escape-sequence-8-strict.js: |
| * test262/test/language/literals/string/legacy-non-octal-escape-sequence-9-non-strict.js: Added. |
| * test262/test/language/literals/string/legacy-non-octal-escape-sequence-9-strict-explicit-pragma.js: |
| * test262/test/language/literals/string/legacy-non-octal-escape-sequence-9-strict.js: |
| * test262/test/language/literals/string/legacy-non-octal-escape-sequence-strict.js: |
| * test262/test/language/literals/string/legacy-octal-escape-sequence-strict.js: |
| * test262/test/language/literals/string/legacy-octal-escape-sequence.js: Renamed from JSTests/test262/test/annexB/language/literals/string/legacy-octal-escape-sequence.js. |
| * test262/test/language/module-code/early-dup-assert-key-export.js: Added. |
| * test262/test/language/module-code/early-dup-assert-key-import-nobinding.js: Added. |
| * test262/test/language/module-code/early-dup-assert-key-import-withbinding.js: Added. |
| * test262/test/language/module-code/early-export-ill-formed-string.js: |
| * test262/test/language/module-code/eval-gtbndng-indirect-faux-assertion.js: Added. |
| * test262/test/language/module-code/import-assertion-1_FIXTURE.js: Added. |
| * test262/test/language/module-code/import-assertion-2_FIXTURE.js: Added. |
| * test262/test/language/module-code/import-assertion-3_FIXTURE.js: Added. |
| * test262/test/language/module-code/import-assertion-empty.js: Added. |
| * test262/test/language/module-code/import-assertion-key-identifiername.js: Added. |
| * test262/test/language/module-code/import-assertion-key-string-double.js: Added. |
| * test262/test/language/module-code/import-assertion-key-string-single.js: Added. |
| * test262/test/language/module-code/import-assertion-many.js: Added. |
| * test262/test/language/module-code/import-assertion-newlines.js: Added. |
| * test262/test/language/module-code/import-assertion-trlng-comma.js: Added. |
| * test262/test/language/module-code/import-assertion-value-string-double.js: Added. |
| * test262/test/language/module-code/import-assertion-value-string-single.js: Added. |
| * test262/test/language/module-code/instn-star-as-props-dflt-skip.js: |
| * test262/test/language/module-code/top-level-await/dfs-invariant-async_FIXTURE.js: Added. |
| * test262/test/language/module-code/top-level-await/dfs-invariant-direct-1_FIXTURE.js: Added. |
| * test262/test/language/module-code/top-level-await/dfs-invariant-direct-2_FIXTURE.js: Added. |
| * test262/test/language/module-code/top-level-await/dfs-invariant-indirect_FIXTURE.js: Added. |
| * test262/test/language/module-code/top-level-await/dfs-invariant.js: Added. |
| * test262/test/language/statements/for-of/head-lhs-async-escaped.js: Added. |
| * test262/test/language/statements/for-of/head-lhs-async-parens.js: Added. |
| * test262/test262-Revision.txt: |
| |
| 2021-07-08 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Update Intl.Locale test after AppleICU update |
| https://bugs.webkit.org/show_bug.cgi?id=227788 |
| |
| Reviewed by Keith Miller. |
| |
| This patch fixes Intl.Locale test since AppleICU fixes the ICU bug and starts producing the right results. |
| |
| * stress/intl-long-locale-id-maximize-minimize.js: |
| (shouldBe): |
| |
| 2021-07-07 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Fix Object.assign fast path to accept undefined/null |
| https://bugs.webkit.org/show_bug.cgi?id=227769 |
| rdar://80264271 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/object-assign-undefined.js: Added. |
| (test): |
| |
| 2021-07-06 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, reverting r279546, r279554, r279558 and r279567. |
| https://bugs.webkit.org/show_bug.cgi?id=227732 |
| |
| Speedometer/jQuery-TodoMVC 2-3% regression |
| |
| Reverted changesets: |
| |
| "[WebIDL] Rework runtime enabled properties leveraging |
| PropertyCallback" |
| https://bugs.webkit.org/show_bug.cgi?id=227275 |
| https://commits.webkit.org/r279546 |
| |
| "[WebIDL] Generate constructor's hash table in |
| GenerateConstructorHelperMethods" |
| https://bugs.webkit.org/show_bug.cgi?id=227668 |
| https://commits.webkit.org/r279554 |
| |
| "[WebIDL] Simplify generation of runtime conditionally read- |
| write attributes" |
| https://bugs.webkit.org/show_bug.cgi?id=227672 |
| https://commits.webkit.org/r279558 |
| |
| "Use AbortSignal's [PrivateIdentifier] whenSignalAborted() |
| static method" |
| https://bugs.webkit.org/show_bug.cgi?id=227673 |
| https://commits.webkit.org/r279567 |
| |
| 2021-07-06 Saam Barati <sbarati@apple.com> |
| |
| Run microbenchmarks/memcpy-typed-loop-small.js for fewer iterations to avoid timeouts |
| https://bugs.webkit.org/show_bug.cgi?id=227717 |
| |
| Reviewed by Robin Morisset. |
| |
| * microbenchmarks/memcpy-typed-loop-small.js: |
| |
| 2021-07-05 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Optimize Object.assign and putDirectInternal |
| https://bugs.webkit.org/show_bug.cgi?id=227677 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/object-assign-replace.js: Added. |
| (test): |
| * microbenchmarks/object-assign-transition.js: Added. |
| (test): |
| |
| 2021-07-03 Alexey Shvayka <shvaikalesh@gmail.com> |
| |
| [WebIDL] Rework runtime enabled properties leveraging PropertyCallback |
| https://bugs.webkit.org/show_bug.cgi?id=227275 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/lazy-property-cross-realm.js: Added. |
| * stress/lazy-property-get-cache.js: Added. |
| * stress/lazy-property-gopd.js: Added. |
| * stress/lazy-property-hasownproperty-cache.js: Added. |
| * stress/lazy-property-put-cache.js: Added. |
| |
| 2021-06-30 Saam Barati <sbarati@apple.com> |
| |
| Turn off data ICs by default |
| https://bugs.webkit.org/show_bug.cgi?id=227334 |
| <rdar://problem/79802812> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * microbenchmarks/deltablue-varargs.js: |
| * microbenchmarks/richards-try-catch.js: |
| |
| 2021-06-30 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Stop generating default parameter code if class constructor is called without 'new' |
| https://bugs.webkit.org/show_bug.cgi?id=227547 |
| rdar://78821453 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/calling-non-callable-constructors.js: Added. |
| (shouldThrow): |
| |
| 2021-06-29 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Private names should be handled by usedVariables mechanism |
| https://bugs.webkit.org/show_bug.cgi?id=227476 |
| rdar://76049469 |
| |
| Reviewed by Saam Barati. |
| |
| 2021-06-30 Mikhail R. Gadelha <mikhail@igalia.com> |
| |
| Unskip interpreter-wasm.js on ARM and MIPS |
| https://bugs.webkit.org/show_bug.cgi?id=227295 |
| |
| Reviewed by Caio Araujo Neponoceno de Lima. |
| |
| Changed the testcase to be guarded by $vm.isWasmSupported(), so the |
| test will be executed once wasm is available in the arch |
| |
| * microbenchmarks/interpreter-wasm.js: |
| (key.in.Module.Module.hasOwnProperty): Deleted. |
| (quit_): Deleted. |
| (locateFile): Deleted. |
| (ENVIRONMENT_IS_NODE.read_): Deleted. |
| (ENVIRONMENT_IS_NODE.readBinary): Deleted. |
| (ENVIRONMENT_IS_NODE.quit_): Deleted. |
| (ENVIRONMENT_IS_NODE.Module.string_appeared_here): Deleted. |
| (else.read_): Deleted. |
| (else.readBinary): Deleted. |
| (else.quit_): Deleted. |
| (else): Deleted. |
| (else.xhr.onload): Deleted. |
| (else.readAsync): Deleted. |
| (else.setWindowTitle): Deleted. |
| (key.in.moduleOverrides.moduleOverrides.hasOwnProperty): Deleted. |
| (dynamicAlloc): Deleted. |
| (getNativeTypeSize): Deleted. |
| (warnOnce): Deleted. |
| (convertJsFunctionToWasm): Deleted. |
| (addFunctionWasm): Deleted. |
| (removeFunctionWasm): Deleted. |
| (): Deleted. |
| (setTempRet0): Deleted. |
| (setValue): Deleted. |
| (assert): Deleted. |
| (getCFunc): Deleted. |
| (toC.string_appeared_here): Deleted. |
| (convertReturnValue): Deleted. |
| (ccall): Deleted. |
| (UTF8ArrayToString): Deleted. |
| (UTF8ToString): Deleted. |
| (stringToUTF8Array): Deleted. |
| (stringToUTF8): Deleted. |
| (lengthBytesUTF8): Deleted. |
| (allocateUTF8OnStack): Deleted. |
| (writeArrayToMemory): Deleted. |
| (writeAsciiToMemory): Deleted. |
| (updateGlobalBufferAndViews): Deleted. |
| (callRuntimeCallbacks): Deleted. |
| (preRun): Deleted. |
| (initRuntime): Deleted. |
| (preMain): Deleted. |
| (exitRuntime): Deleted. |
| (postRun): Deleted. |
| (addOnPreRun): Deleted. |
| (addOnPostRun): Deleted. |
| (addRunDependency): Deleted. |
| (removeRunDependency): Deleted. |
| (hasPrefix): Deleted. |
| (isDataURI): Deleted. |
| (isFileURI): Deleted. |
| (getBinary): Deleted. |
| (getBinaryPromise): Deleted. |
| (createWasm.receiveInstance): Deleted. |
| (createWasm.receiveInstantiatedSource): Deleted. |
| (createWasm.instantiateArrayBuffer): Deleted. |
| (createWasm.instantiateAsync.): Deleted. |
| (createWasm.instantiateAsync): Deleted. |
| (createWasm): Deleted. |
| (__ATINIT__.push.func): Deleted. |
| (demangle): Deleted. |
| (demangleAll): Deleted. |
| (_emscripten_get_sbrk_ptr): Deleted. |
| (_emscripten_memcpy_big): Deleted. |
| (abortOnCannotGrowMemory): Deleted. |
| (_emscripten_resize_heap): Deleted. |
| (PATH.splitPath): Deleted. |
| (PATH.normalizeArray): Deleted. |
| (PATH.normalize): Deleted. |
| (PATH.dirname): Deleted. |
| (PATH.basename): Deleted. |
| (PATH.extname): Deleted. |
| (PATH.join): Deleted. |
| (PATH.join2): Deleted. |
| (SYSCALLS.printChar): Deleted. |
| (SYSCALLS.getStr): Deleted. |
| (SYSCALLS.get64): Deleted. |
| (_fd_write): Deleted. |
| (_setTempRet0): Deleted. |
| (___wasm_call_ctors.Module.string_appeared_here): Deleted. |
| (_main.Module.string_appeared_here): Deleted. |
| (_malloc.Module.string_appeared_here): Deleted. |
| (___errno_location.Module.string_appeared_here): Deleted. |
| (_free.Module.string_appeared_here): Deleted. |
| (stackSave.Module.string_appeared_here): Deleted. |
| (stackAlloc.Module.string_appeared_here): Deleted. |
| (stackRestore.Module.string_appeared_here): Deleted. |
| (__growWasmMemory.Module.string_appeared_here): Deleted. |
| (dynCall_ii.Module.string_appeared_here): Deleted. |
| (dynCall_iiii.Module.string_appeared_here): Deleted. |
| (dynCall_jiji.Module.string_appeared_here): Deleted. |
| (ExitStatus): Deleted. |
| (dependenciesFulfilled): Deleted. |
| (callMain): Deleted. |
| (run.doRun): Deleted. |
| (run): Deleted. |
| (exit): Deleted. |
| |
| 2021-06-25 Guillaume Emont <guijemont@igalia.com> |
| |
| Unskip stress/call-apply-exponential-bytecode-size.js on most platforms |
| https://bugs.webkit.org/show_bug.cgi?id=227354 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Instead of skipping, we increase the JIT memory size for this test on |
| platforms that have less than 64 MB by default. |
| |
| * stress/call-apply-exponential-bytecode-size.js: |
| |
| 2021-06-25 Mikhail R. Gadelha <mikhail@igalia.com> |
| |
| Unskip structure-storedPrototype-should-only-assert-on-the-mutator-thread.js on arm and mips |
| https://bugs.webkit.org/show_bug.cgi?id=227222 |
| |
| Tested with 50 iterations in both arm and mips. |
| |
| Unreviewed Gardening. |
| |
| * stress/structure-storedPrototype-should-only-assert-on-the-mutator-thread.js: |
| |
| 2021-06-25 Paulo Matos <pmatos@igalia.com> |
| |
| Unskip materialized-regexp-has-correct-last-index-set-by-match on arm and mips |
| https://bugs.webkit.org/show_bug.cgi?id=227213 |
| |
| Unreviewed Gardening. |
| |
| * stress/materialized-regexp-has-correct-last-index-set-by-match.js: |
| |
| 2021-06-25 Mikhail R. Gadelha <mikhail@igalia.com> |
| |
| Unskip materialize-regexp-cyclic-regexp.js on ARM and MIPS |
| https://bugs.webkit.org/show_bug.cgi?id=227223 |
| |
| Tested with 50 iterations in both arm and mips. |
| |
| Unreviewed Gardening. |
| |
| * stress/materialize-regexp-cyclic-regexp.js: |
| |
| 2021-06-24 Asumu Takikawa <asumu@igalia.com> |
| |
| [WASM-Function-References] Add support for (ref null? $t) type constructor |
| https://bugs.webkit.org/show_bug.cgi?id=226296 |
| |
| Adds additional tests for uses of `(ref $t)` and `(ref null $t)` |
| types, including with non-null extern/funcrefs. |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wasm/function-references/ref_types.js: Added. |
| (module): |
| (async testRefTypeLocal): |
| (async testNonNullRefTypeLocal): |
| (async testRefTypeInSignature): |
| (async testRefTypeParamCheck): |
| (async testRefGlobalCheck): |
| (async testExternFuncrefNonNullCheck): |
| (async testExternrefCompatibility): |
| (async testNonNullExternrefIncompatible): |
| (async testFuncrefCompatibility): |
| (async testNonNullFuncrefIncompatible): |
| * wasm/wasm.json: |
| |
| 2021-06-24 Guillaume Emont <guijemont@igalia.com> |
| |
| Improve our checking of NaN values in DataView tests |
| https://bugs.webkit.org/show_bug.cgi?id=227347 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| This allows the merging of dataview-jit-set-nan.js and |
| dataview-jit-set.js. |
| |
| * stress/dataview-jit-set-nan.js: Removed. |
| * stress/dataview-jit-set.js: |
| (test5): |
| (test6): |
| |
| 2021-06-24 Mikhail R. Gadelha <mikhail@igalia.com> |
| |
| Unskip arguments-properties-order.js on MIPS |
| https://bugs.webkit.org/show_bug.cgi?id=227254 |
| |
| No failures after 50 iterations. Also tested on Loongson 3A4000 (in 32-bits mode). |
| |
| Unreviewed Gardening. |
| |
| * stress/arguments-properties-order.js: |
| |
| 2021-06-24 Xan Lopez <xan@igalia.com> |
| |
| [JSC] Implement returnEarlyFromInfiniteLoopsForFuzzing for 32bits |
| https://bugs.webkit.org/show_bug.cgi?id=227290 |
| |
| Reviewed by Mark Lam. |
| |
| Now that we can return early from infinite (actual or just |
| extremely long running) loops on 32bits, we can pass these tests. |
| |
| * stress/construct-return-early-from-infinite-loop-for-fuzzer.js: unskip for 32bits. |
| * stress/early-return-from-builtin2.js: ditto. |
| * stress/validate-does-gc-with-return-early-from-infinite-loop-2.js: ditto. |
| * stress/validate-does-gc-with-return-early-from-infinite-loop.js: ditto. |
| |
| 2021-06-23 Saam Barati <sbarati@apple.com> |
| |
| Bound stress/put-by-id-flags with a fixed number of iterations |
| https://bugs.webkit.org/show_bug.cgi?id=227305 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/put-by-id-flags.js: |
| (numberOfDFGCompiles): Deleted. |
| |
| 2021-06-23 Saam Barati <sbarati@apple.com> |
| |
| Run typedarray-intrinsic-getters-change-prototype for a fixed set of iterations |
| https://bugs.webkit.org/show_bug.cgi?id=227304 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/typedarray-intrinsic-getters-change-prototype.js: |
| (body): |
| |
| 2021-06-22 Saam Barati <sbarati@apple.com> |
| |
| Don't assume stress/out-of-memory-while-constructing-BytecodeGenerator.js will OOM |
| https://bugs.webkit.org/show_bug.cgi?id=227263 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/out-of-memory-while-constructing-BytecodeGenerator.js: |
| |
| 2021-06-22 Saam Barati <sbarati@apple.com> |
| |
| Run detach-buffer-during-iteration for fewer iterations |
| https://bugs.webkit.org/show_bug.cgi?id=227262 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/detach-buffer-during-iteration.js: |
| |
| 2021-06-22 Saam Barati <sbarati@apple.com> |
| |
| Run microbenchmarks/interpreter-wasm under runDefault only |
| https://bugs.webkit.org/show_bug.cgi?id=227261 |
| |
| Reviewed by Robin Morisset. |
| |
| * microbenchmarks/interpreter-wasm.js: |
| |
| 2021-06-22 Saam Barati <sbarati@apple.com> |
| |
| jitCompileAndSetHeuristics shouldn't return true when we fail to compile |
| https://bugs.webkit.org/show_bug.cgi?id=227155 |
| |
| Reviewed by Tadeu Zagallo. |
| |
| * microbenchmarks/interpreter-wasm.js: |
| * microbenchmarks/memcpy-wasm-large.js: |
| * microbenchmarks/memcpy-wasm-medium.js: |
| * microbenchmarks/memcpy-wasm-small.js: |
| * microbenchmarks/memcpy-wasm.js: |
| * stress/wasm-error-message-cross-threads.js: |
| |
| 2021-06-22 Angelos Oikonomopoulos <angelos@igalia.com> |
| |
| Unskip stress/elidable-new-object-roflcopter-then-exit.js on MIPS/ARM |
| https://bugs.webkit.org/show_bug.cgi?id=227251 |
| |
| Unreviewed gardening. |
| |
| No failures on either platform after 100 iterations. |
| |
| * stress/elidable-new-object-roflcopter-then-exit.js: |
| |
| 2021-06-22 Angelos Oikonomopoulos <angelos@igalia.com> |
| |
| Unskip microbenchmarks/redefine-property-data-dictionary.js on MIPS/ARM |
| https://bugs.webkit.org/show_bug.cgi?id=227252 |
| |
| Unreviewed gardening. |
| |
| No failures on either platform after 100 iterations. |
| |
| * microbenchmarks/redefine-property-data-dictionary.js: |
| |
| 2021-06-22 Angelos Oikonomopoulos <angelos@igalia.com> |
| |
| Unskip stress/array-species-create-should-handle-masquerader.js on mips |
| https://bugs.webkit.org/show_bug.cgi?id=227249 |
| |
| Unreviewed gardening. |
| |
| No failure after 60 iterations. |
| |
| * stress/array-species-create-should-handle-masquerader.js: |
| |
| 2021-06-21 Ross Kirsling <ross.kirsling@sony.com> |
| |
| [JSC] Add JIT ICs for `#x in obj` feature |
| https://bugs.webkit.org/show_bug.cgi?id=226146 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/has-private-brand.js: Added. |
| * microbenchmarks/has-private-name.js: Added. |
| |
| 2021-06-21 Xan Lopez <xan@igalia.com> |
| |
| [JSC] Fix consistency check during stack splitting in Wasm::LLIntGenerator::addLoop |
| https://bugs.webkit.org/show_bug.cgi?id=226012 |
| |
| Reviewed by Tadeu Zagallo. |
| |
| * stress/wasm-loop-consistency.js: Added. |
| (vm.isWasmSupported): |
| |
| 2021-06-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| Release assert memory in JSC::Wasm::Memory::growShared(JSC::Wasm::PageCount)::<lambda()> |
| https://bugs.webkit.org/show_bug.cgi?id=227180 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/shared-wasm-memory-with-zero-byte.js: Added. |
| |
| 2021-06-21 Xan Lopez <xan@igalia.com> |
| |
| [JSC] Reenable ChakraCore/test/Math/max.js on ARMv7 and MIPS |
| https://bugs.webkit.org/show_bug.cgi?id=227209 |
| |
| Reviewed by Adrian Perez de Castro. |
| |
| * ChakraCore.yaml: reenable the test, should be working fine now. |
| |
| 2021-06-20 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Add ValueOf fast path in toPrimitive |
| https://bugs.webkit.org/show_bug.cgi?id=226948 |
| |
| Reviewed by Ross Kirsling. |
| |
| * microbenchmarks/valueof-via-toprimitive.js: Added. |
| |
| 2021-06-17 Saam Barati <sbarati@apple.com> |
| |
| Make microbenchmarks/delete-property-from-prototype-chain not time out on debug builds |
| https://bugs.webkit.org/show_bug.cgi?id=227148 |
| |
| Reviewed by Mark Lam. |
| |
| * microbenchmarks/delete-property-from-prototype-chain.js: |
| |
| 2021-06-16 Tadeu Zagallo <tzagallo@apple.com> |
| |
| AssemblyHelpers should save/restore callee save FPRs |
| https://bugs.webkit.org/show_bug.cgi?id=227052 |
| <rdar://77080162> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/callee-save-fpr.js: Added. |
| (_f): |
| (_g): |
| (_h): |
| (_i): |
| (assertEqual): |
| |
| 2021-06-15 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Optimize JSON.parse with small content by dropping single character Identifier pool |
| https://bugs.webkit.org/show_bug.cgi?id=227057 |
| |
| Reviewed by Sam Weinig. |
| |
| * microbenchmarks/flight-todomvc-json.js: Added. |
| (test): |
| |
| 2021-06-14 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Workaround ICU uloc_addLikelySubtags / uloc_minimizeSubtags bugs |
| https://bugs.webkit.org/show_bug.cgi?id=226996 |
| rdar://79250513 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/intl-long-locale-id-maximize-minimize.js: Added. |
| (shouldBe): |
| (throw.new.Error): |
| |
| 2021-06-13 Saam Barati <sbarati@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=226576 |
| <rdar://problem/78810362> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/short-circuit-read-modify-write-cant-write-dst-before-tdz-check.js: Added. |
| (let.result.eval.try.captureV): |
| (catch): |
| |
| 2021-06-06 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Use ResolvedClosureVar to get brand from scope |
| https://bugs.webkit.org/show_bug.cgi?id=226677 |
| rdar://78802869 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/private-access-nested-eval.js: Added. |
| (shouldThrow): |
| (shouldThrow.prototype.x): |
| (shouldThrow.prototype.m.C.prototype.z): |
| (shouldThrow.prototype.m.C.prototype.a): |
| (shouldThrow.prototype.m.C): |
| (shouldThrow.prototype.m): |
| * stress/private-access-nested.js: Added. |
| (shouldThrow): |
| (shouldThrow.prototype.x): |
| (shouldThrow.prototype.m.C.prototype.z): |
| (shouldThrow.prototype.m.C.prototype.a): |
| (shouldThrow.prototype.m.C): |
| (shouldThrow.prototype.m): |
| |
| 2021-06-07 Alexey Shvayka <shvaikalesh@gmail.com> |
| |
| Unreviewed, reland r276592 with a fix for put() override in prototype chain of a JSProxy |
| https://bugs.webkit.org/show_bug.cgi?id=226185 |
| |
| * microbenchmarks/put-slow-no-cache-array.js: Added. |
| * microbenchmarks/put-slow-no-cache-function.js: Added. |
| * microbenchmarks/put-slow-no-cache-js-proxy.js: Added. |
| * microbenchmarks/put-slow-no-cache-long-prototype-chain.js: Added. |
| * microbenchmarks/put-slow-no-cache.js: Added. |
| * microbenchmarks/reflect-set-with-receiver.js: Added. |
| * stress/custom-get-set-proto-chain-put.js: |
| * stress/module-namespace-access-set-fails.js: Added. |
| * stress/put-non-reified-static-accessor-or-custom.js: Added. |
| * stress/put-non-reified-static-function-or-custom.js: Added. |
| * stress/put-to-primitive-non-reified-static-custom.js: Added. |
| * stress/put-to-primitive.js: Added. |
| * stress/put-to-proto-chain-overrides-put.js: |
| Rework to always test new objects, add JSProxy coverage, and assert that receiver has own property. |
| |
| * stress/typed-array-canonical-numeric-index-string-set.js: Added. |
| |
| 2021-06-07 Saam Barati <sbarati@apple.com> |
| |
| Short circuit read modify write nodes emit byte code that uses the wrong locals |
| https://bugs.webkit.org/show_bug.cgi?id=226576 |
| <rdar://problem/78810362> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/short-circuit-read-modify-should-use-the-write-virtual-registers.js: Added. |
| (eval): |
| |
| 2021-06-07 Robin Morisset <rmorisset@apple.com> |
| |
| Optimize compareStrictEq when neither side is a double and at least one is neither a string nor a BigInt |
| https://bugs.webkit.org/show_bug.cgi?id=226676 |
| |
| Reviewed by Filip Pizlo. |
| |
| I made two variants of the already existing poly-stricteq microbenchmarks with different types in the array. |
| I also tweaked all three so that we more reliably reach the FTL. |
| Finally I added a stress-test to verify that I did not introduce an OSR exit bug. |
| |
| * microbenchmarks/poly-stricteq-not-double-nor-string.js: Added. |
| (foo): |
| (test): |
| * microbenchmarks/poly-stricteq-not-double.js: Added. |
| (foo): |
| (test): |
| * microbenchmarks/poly-stricteq.js: |
| (foo): |
| (test): |
| * stress/poly-stricteq-not-double-nor-string-fail.js: Added. |
| (foo): |
| (test): |
| |
| 2021-06-04 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Private static method should define privateClassBrandIdentifier in class-scope |
| https://bugs.webkit.org/show_bug.cgi?id=226656 |
| rdar://78313139 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/private-in-error.js: Added. |
| (shouldThrow): |
| (x): |
| (prototype.foo): |
| * stress/private-static-method-declaration-error.js: Added. |
| (shouldThrow): |
| (prototype.get x): |
| (prototype.foo.D.a): |
| (prototype.foo.D.prototype.b): |
| (prototype.foo.D): |
| (prototype.foo): |
| |
| 2021-06-04 Mark Lam <mark.lam@apple.com> |
| |
| Placate exception checker validation in objectPrototypeHasOwnProperty. |
| https://bugs.webkit.org/show_bug.cgi?id=226651 |
| rdar://78861296 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/placate-exception-checker-in-objectPrototypeHasOwnProperty.js: Added. |
| |
| 2021-06-03 Filip Pizlo <fpizlo@apple.com> |
| |
| DFG should speculate on CompareStrictEq(@x, @x) |
| https://bugs.webkit.org/show_bug.cgi?id=226621 |
| |
| Reviewed by Mark Lam. |
| |
| * microbenchmarks/untyped-stricteq-self.js: Added. |
| (foo): |
| * stress/untyped-stricteq-self-fail.js: Added. |
| (bar): |
| (foo): |
| |
| 2021-06-04 Keith Miller <keith_miller@apple.com> |
| |
| Fix tests that fail under executable allocation fuzzing |
| https://bugs.webkit.org/show_bug.cgi?id=226593 |
| |
| Reviewed by Mark Lam. |
| |
| * microbenchmarks/memcpy-wasm-large.js: |
| (typeof.WebAssembly.string_appeared_here.try.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array): |
| (typeof.WebAssembly.string_appeared_here.catch): |
| (typeof.WebAssembly.string_appeared_here.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array): Deleted. |
| * microbenchmarks/memcpy-wasm-medium.js: |
| (typeof.WebAssembly.string_appeared_here.try.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array): |
| (typeof.WebAssembly.string_appeared_here.catch): |
| (typeof.WebAssembly.string_appeared_here.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array): Deleted. |
| * microbenchmarks/memcpy-wasm-small.js: |
| (typeof.WebAssembly.string_appeared_here.try.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array): |
| (typeof.WebAssembly.string_appeared_here.catch): |
| (typeof.WebAssembly.string_appeared_here.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array): Deleted. |
| * microbenchmarks/memcpy-wasm.js: |
| (typeof.WebAssembly.string_appeared_here.try.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array): |
| (typeof.WebAssembly.string_appeared_here.catch): |
| (typeof.WebAssembly.string_appeared_here.const.1.new.WebAssembly.Instance.new.WebAssembly.Module.new.Uint8Array): Deleted. |
| * stress/bit-op-with-object-returning-int32.js: |
| (numberOfDFGCompiles): |
| (bitOr): Deleted. |
| (bitXor): Deleted. |
| (bitNot): Deleted. |
| (bitLShift): Deleted. |
| * stress/bitwise-not-fixup-rules.js: |
| (numberOfDFGCompiles): |
| (let.o.valueOf): Deleted. |
| |
| 2021-06-04 Tadeu Zagallo <tzagallo@apple.com> |
| |
| Optimize Function.prototype.toString |
| https://bugs.webkit.org/show_bug.cgi?id=226418 |
| <rdar://77861846> |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/function-to-string.js: Added. |
| (f): |
| (C): |
| (C.prototype.method1): |
| (C.prototype.method2): |
| (test): |
| (test2): |
| |
| 2021-06-03 Ross Kirsling <ross.kirsling@sony.com> |
| |
| [JSC] Implement JIT ICs for InByVal |
| https://bugs.webkit.org/show_bug.cgi?id=226563 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/in-by-val-int32.js: Added. |
| * microbenchmarks/in-by-val-string-index.js: Added. |
| * microbenchmarks/in-by-val-symbol.js: Added. |
| |
| 2021-06-03 Mark Lam <mark.lam@apple.com> |
| |
| Fix an ASSERT in objectPrototypeHasOwnProperty() to account for TerminationException. |
| https://bugs.webkit.org/show_bug.cgi?id=226609 |
| rdar://78465046 |
| |
| Reviewed by Robin Morisset. |
| |
| * stress/termination-exception-in-objectPrototypeHasOwnProperty.js: Added. |
| |
| 2021-06-03 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Make $vm's accessor test functions robust against primitive |this| |
| https://bugs.webkit.org/show_bug.cgi?id=226591 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/test-static-accessor-on-primitive.js: Added. |
| (shouldThrow): |
| |
| 2021-05-28 Robin Morisset <rmorisset@apple.com> |
| |
| Fix LikelyDenseUnsignedIntegerSet::clear() |
| https://bugs.webkit.org/show_bug.cgi?id=226388 |
| rdar://78607433 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/stack-allocation-regression.js: Added. |
| (foo): |
| |
| 2021-05-28 Saam Barati <sbarati@apple.com> |
| |
| Don't sink arguments past the context of the inline call frame they were created in |
| https://bugs.webkit.org/show_bug.cgi?id=226363 |
| <rdar://78392801> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/dont-sink-arguments-past-inline-call-frame.js: Added. |
| (foo): |
| (fooWrap): |
| (empty): |
| (bar): |
| |
| 2021-05-22 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Support Ergonomic Brand Checks proposal (`#x in obj`) |
| https://bugs.webkit.org/show_bug.cgi?id=221093 |
| |
| Reviewed by Caio Araujo Neponoceno de Lima. |
| |
| * stress/private-in.js: Added. |
| * test262/config.yaml: Add feature flag. |
| |
| 2021-05-21 Angelos Oikonomopoulos <angelos@igalia.com> |
| |
| Unskip type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value on MIPS |
| https://bugs.webkit.org/show_bug.cgi?id=226011 |
| |
| Unreviewed gardening. |
| |
| Appears to no longer be flaky. |
| |
| * stress/type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value.js: |
| |
| 2021-05-20 Saam Barati <sbarati@apple.com> |
| |
| [ Catalina Release JSC] A large number of JSC test appear to be flaky failing |
| https://bugs.webkit.org/show_bug.cgi?id=225998 |
| <rdar://problem/78235001> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/dont-link-virtual-calls-on-compiler-thread.js: Added. |
| |
| 2021-05-19 Robin Morisset <rmorisset@apple.com> |
| |
| Fix typo in AirUseCounts |
| https://bugs.webkit.org/show_bug.cgi?id=225977 |
| rdar://78210501 |
| |
| Reviewed by Mark Lam. |
| |
| Add the testcase found by Tuomas. |
| |
| * stress/register-allocator-stress.js: Added. |
| (foo): |
| |
| 2021-05-18 Keith Miller <keith_miller@apple.com> |
| |
| Temporarily revert r276592 as it breaks some native apps |
| https://bugs.webkit.org/show_bug.cgi?id=225917 |
| |
| Unreviewed, revert. |
| |
| * microbenchmarks/put-slow-no-cache-array.js: Removed. |
| * microbenchmarks/put-slow-no-cache-function.js: Removed. |
| * microbenchmarks/put-slow-no-cache-js-proxy.js: Removed. |
| * microbenchmarks/put-slow-no-cache-long-prototype-chain.js: Removed. |
| * microbenchmarks/put-slow-no-cache.js: Removed. |
| * microbenchmarks/reflect-set-with-receiver.js: Removed. |
| * stress/custom-get-set-proto-chain-put.js: |
| (getObjects): |
| (let.base.of.getBases): |
| * stress/module-namespace-access-set-fails.js: Removed. |
| * stress/put-non-reified-static-accessor-or-custom.js: Removed. |
| * stress/put-non-reified-static-function-or-custom.js: Removed. |
| * stress/put-to-primitive-non-reified-static-custom.js: Removed. |
| * stress/put-to-primitive.js: Removed. |
| * stress/put-to-proto-chain-overrides-put.js: Removed. |
| * stress/typed-array-canonical-numeric-index-string-set.js: Removed. |
| |
| 2021-05-17 Alexey Shvayka <shvaikalesh@gmail.com> |
| |
| REGRESSION (r271119): Object methods defined with shorthand notation cannot access "caller" in non-strict mode |
| https://bugs.webkit.org/show_bug.cgi?id=225277 |
| |
| Reviewed by Darin Adler. |
| |
| * stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js: Now covers #157461 and #157863. |
| * stress/function-caller-cross-realm-via-call-apply.js: Added, coverage for #34553. |
| * stress/function-hidden-as-caller.js: Also adds test case for #102276. |
| |
| 2021-05-16 Saam Barati <sbarati@apple.com> |
| |
| DFGVarargsForwardingPhase shouldn't consult Flush |
| https://bugs.webkit.org/show_bug.cgi?id=225824 |
| |
| Reviewed by Filip Pizlo and Yusuke Suzuki. |
| |
| * microbenchmarks/tail-call-forward-arguments-arguments-elimination.js: Added. |
| |
| 2021-05-15 Alexey Shvayka <shvaikalesh@gmail.com> |
| |
| Turn callGetter() / callSetter() into instance methods |
| https://bugs.webkit.org/show_bug.cgi?id=225831 |
| |
| Reviewed by Ross Kirsling. |
| |
| * microbenchmarks/put-slow-no-cache-setter.js: Added. |
| |
| 2021-05-07 Ross Kirsling <ross.kirsling@sony.com> |
| |
| [JSC] Error#cause must recognize explicit undefined |
| https://bugs.webkit.org/show_bug.cgi?id=225535 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * test262/config.yaml: |
| Re-enable tests for this feature; they were all failing due to this quirk. |
| |
| 2021-05-07 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Update test262 (2021.05.07) |
| https://bugs.webkit.org/show_bug.cgi?id=225536 |
| |
| Reviewed by Alexey Shvayka. |
| |
| * test262/config.yaml: |
| * test262/expectations.yaml: |
| * test262/latest-changes-summary.txt: |
| * test262/test/: |
| * test262/test262-Revision.txt: |
| |
| 2021-05-06 Mark Lam <mark.lam@apple.com> |
| |
| Forbid further execution in jsc shell if execution is terminated. |
| https://bugs.webkit.org/show_bug.cgi?id=225410 |
| rdar://77548608 |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/jsc-shell-forbid-execution-after-termination.js: Added. |
| |
| 2021-05-05 Saam Barati <sbarati@apple.com> |
| |
| Update tests to use collectExtraSamplingProfilerData instead of collectSamplingProfilerDataForJSCShell |
| https://bugs.webkit.org/show_bug.cgi?id=225398 |
| |
| Reviewed by Mark Lam. |
| |
| I forgot to update the tests to use the new option name. |
| |
| * stress/sampling-profiler-code-origin.js: |
| * stress/sampling-profiler-richards.js: |
| |
| 2021-05-03 Mark Lam <mark.lam@apple.com> |
| |
| Fix syntax error message for AUTOPLUSPLUS token. |
| https://bugs.webkit.org/show_bug.cgi?id=225308 |
| rdar://76830934 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/prefix-plusplus-syntax-error-should-say-plusplus.js: Added. |
| |
| 2021-05-03 Dmitry Bezhetskov <dbezhetskov@igalia.com> |
| |
| [WASM-Function-References] Add call_ref instruction |
| https://bugs.webkit.org/show_bug.cgi?id=222903 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Add basic tests for new call_ref instruction: |
| https://github.com/WebAssembly/function-references/blob/master/proposals/function-references/Overview.md. |
| Add tests for calling same-instance wasm function, foreign-instance |
| wasm function and for calling imported js function. |
| |
| * wasm.yaml: |
| * wasm/function-references/call_ref.js: Added. |
| (module): |
| (async basics): |
| (async indirectCall): |
| (async importHostCall): |
| * wasm/wasm.json: |
| |
| 2021-04-28 Mark Lam <mark.lam@apple.com> |
| |
| Fix exception assertions in light of the TerminationException. |
| https://bugs.webkit.org/show_bug.cgi?id=225128 |
| rdar://76694909 |
| |
| Reviewed by Robin Morisset. |
| |
| * stress/suppress-TerminationException-in-JSFunction-prototypeForConstruction.js: Added. |
| |
| 2021-04-27 Angelos Oikonomopoulos <angelos@igalia.com> |
| |
| [JSC] Skip tests failing on Loongson 3A4000 |
| https://bugs.webkit.org/show_bug.cgi?id=225091 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| This new hardware is much faster when it comes to running JSC tests (and |
| hopefully more reliable than the ci20 boards currently in use), so skip the |
| couple of tests that fail, so that we can test the Loongson box in production. |
| |
| * ChakraCore.yaml: |
| * stress/arguments-properties-order.js: |
| |
| 2021-04-26 Mark Lam <mark.lam@apple.com> |
| |
| %TypedArray%.prototype.sort() should not use a regular array as a temp buffer. |
| https://bugs.webkit.org/show_bug.cgi?id=225062 |
| rdar://77021547 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/typedarray-sort-should-not-use-a-regular-array-as-temp-buffer.js: Added. |
| |
| 2021-04-26 Alexey Shvayka <shvaikalesh@gmail.com> |
| |
| [JSC] OrdinarySet should invoke custom [[Set]] methods |
| https://bugs.webkit.org/show_bug.cgi?id=217916 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * microbenchmarks/put-slow-no-cache-array.js: Added. |
| * microbenchmarks/put-slow-no-cache-function.js: Added. |
| * microbenchmarks/put-slow-no-cache-js-proxy.js: Added. |
| * microbenchmarks/put-slow-no-cache-long-prototype-chain.js: Added. |
| * microbenchmarks/put-slow-no-cache.js: Added. |
| * microbenchmarks/reflect-set-with-receiver.js: Added. |
| * stress/custom-get-set-proto-chain-put.js: |
| * stress/module-namespace-access-set-fails.js: Added. |
| * stress/put-non-reified-static-accessor-or-custom.js: Added. |
| * stress/put-non-reified-static-function-or-custom.js: Added. |
| * stress/put-to-primitive-non-reified-static-custom.js: Added. |
| * stress/put-to-primitive.js: Added. |
| * stress/put-to-proto-chain-overrides-put.js: Added. |
| * stress/typed-array-canonical-numeric-index-string-set.js: Added. |
| |
| 2021-04-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Baseline should have fast path for switch_imm |
| https://bugs.webkit.org/show_bug.cgi?id=224521 |
| |
| Reviewed by Tadeu Zagallo. |
| |
| * stress/switch-imm-baseline.js: Added. |
| (shouldBe): |
| (test): |
| |
| 2021-04-21 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] DFG / FTL should inline switch_string |
| https://bugs.webkit.org/show_bug.cgi?id=224578 |
| |
| Reviewed by Mark Lam. |
| |
| * microbenchmarks/switch-inlining.js: Added. |
| (inner): |
| (outer): |
| * stress/switch-inlining-nested.js: Added. |
| (shouldBe): |
| (inner): |
| (outer): |
| |
| 2021-04-21 Caio Lima <ticaiolima@gmail.com> |
| |
| [JSC] Unskip some tests for ARMv7 and MIPS |
| https://bugs.webkit.org/show_bug.cgi?id=224813 |
| |
| Unreviewed test gardening. |
| |
| * stress/has-own-property-name-cache-symbols-and-strings.js: |
| * stress/incremental-marking-should-not-dead-lock-in-new-property-transition.js: |
| |
| 2021-04-20 Paulo Matos <pmatos@igalia.com> |
| |
| Unskip couple of tests for armv7l and mips |
| https://bugs.webkit.org/show_bug.cgi?id=224607 |
| |
| Unreviewed gardening. |
| |
| * stress/check-stack-overflow-before-value-profiling-arguments.js: |
| (fullGC): |
| * stress/intl-suppored-locales-of.js: |
| |
| 2021-04-20 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Limit memory allocation size of JSTests/stress/early-return-from-builtin.js |
| https://bugs.webkit.org/show_bug.cgi?id=224803 |
| <rdar://problem/75597901> |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Add limit to JSTests/stress/early-return-from-builtin.js to avoid infinite allocation. |
| |
| * stress/early-return-from-builtin.js: |
| (let.iter.Symbol.iterator): |
| |
| 2021-04-19 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Rebaseline test results for new ICU |
| https://bugs.webkit.org/show_bug.cgi?id=224792 |
| |
| Reviewed by Mark Lam. |
| |
| This patch updates some intl- tests' expectation since it is changed because of ICU CLDR data change. |
| |
| * stress/intl-datetimeformat-formatrange-relevant-extensions-ja.js: |
| (shouldBeOneOfThem): |
| (vm.icuVersion): |
| * stress/intl-datetimeformat-formatrange-relevant-extensions.js: |
| (shouldBeOneOfThem): |
| * stress/intl-datetimeformat-formatrange-should-not-handle-gregorian-change-date.js: |
| (shouldBe): |
| (vm.icuHeaderVersion): |
| * stress/intl-datetimeformat-formatrangetoparts-relevant-extensions-ja.js: |
| (normalize): |
| (shouldBe): |
| (compareParts): |
| (shouldBeOneOfParts): |
| (shouldBeParts): |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeOneOfParts.fmt5.formatRangeToParts): |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.vm.icuVersion): |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeOneOfParts.fmt7.formatRangeToParts): |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeOneOfParts.fmt9.formatRangeToParts): |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeOneOfParts.fmt11.formatRangeToParts): |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeOneOfParts.fmt13.formatRangeToParts): |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeParts.fmt13.formatRangeToParts): |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeOneOfParts.fmt14.formatRangeToParts): |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeOneOfParts.fmt15.formatRangeToParts): |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.shouldBeOneOfParts.fmt16.formatRangeToParts): |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt1.formatRangeToParts): Deleted. |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt2.formatRangeToParts): Deleted. |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt3.formatRangeToParts): Deleted. |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt4.formatRangeToParts): Deleted. |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt5.formatRangeToParts): Deleted. |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt6.formatRangeToParts): Deleted. |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt7.formatRangeToParts): Deleted. |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt8.formatRangeToParts): Deleted. |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt9.formatRangeToParts): Deleted. |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt10.formatRangeToParts): Deleted. |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt11.formatRangeToParts): Deleted. |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt12.formatRangeToParts): Deleted. |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt13.formatRangeToParts): Deleted. |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt14.formatRangeToParts): Deleted. |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt15.formatRangeToParts): Deleted. |
| (Intl.DateTimeFormat.prototype.formatRangeToParts.compareParts.fmt16.formatRangeToParts): Deleted. |
| * stress/intl-datetimeformat-formatrangetoparts-relevant-extensions.js: |
| (normalize): |
| (shouldBe): |
| (compareParts): |
| (shouldBeOneOfParts): |
| (shouldBeParts): |
| * stress/intl-datetimeformat-formatrangetoparts-should-not-handle-gregorian-change-date.js: |
| (shouldBe): |
| * stress/intl-datetimeformat.js: |
| (shouldBeOneOfThem): |
| |
| 2021-04-16 Guillaume Emont <guijemont@igalia.com> |
| |
| [JSC] Unskip stress/intl-parse-unicode-subtags.js on arm |
| https://bugs.webkit.org/show_bug.cgi?id=224679 |
| |
| Unreviewed test gardening. |
| |
| * stress/intl-parse-unicode-subtags.js: Unskipped, as it passes fine |
| now. |
| |
| 2021-04-16 Xan Lopez <xan@igalia.com> |
| |
| [JSC][ARMv7] Unskip stress/put-direct-index-broken-2.js |
| https://bugs.webkit.org/show_bug.cgi?id=224661 |
| |
| Unreviewed test gardening. |
| |
| * stress/put-direct-index-broken-2.js: unskip on ARMv7, could not |
| reproduce locally the crash we saw earlier. |
| |
| 2021-04-15 Mark Lam <mark.lam@apple.com> |
| |
| HashMapImpl::rehash() should use a version of jsMapHash that cannot throw. |
| https://bugs.webkit.org/show_bug.cgi?id=224610 |
| rdar://76698910 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/suppress-TerminationException-in-HashMapImpl-rehash.js: Added. |
| |
| 2021-04-14 Mark Lam <mark.lam@apple.com> |
| |
| Add missing exception check in operationGetPrivateNameOptimize(). |
| https://bugs.webkit.org/show_bug.cgi?id=224592 |
| rdar://76645873 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/suppress-TerminationException-in-operationGetPrivateNameOptimize.js: Added. |
| |
| 2021-04-14 Mark Lam <mark.lam@apple.com> |
| |
| Defer TerminationExceptions when evaluating ASSERT in HashMapIml::addNormalized(). |
| https://bugs.webkit.org/show_bug.cgi?id=224565 |
| rdar://76645980 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/suppress-TerrminationException-in-ASSERT-in-HashMapImpl-addNormalized.js: Added. |
| |
| 2021-04-14 Guillaume Emont <guijemont@igalia.com> |
| |
| [JSC] Unskip stress/intl-segmenter.js |
| https://bugs.webkit.org/show_bug.cgi?id=224553 |
| |
| Unreviewed test gardening. |
| |
| It shouldn't fail any more on our bots now that our handling of libicu |
| is more robust. |
| |
| * stress/intl-segmenter.js: |
| |
| 2021-04-14 Angelos Oikonomopoulos <angelos@igalia.com> |
| |
| [JSC] Unskip typedarray-functions-with-neutered.js on MIPS |
| https://bugs.webkit.org/show_bug.cgi?id=224428 |
| |
| Unreviewed test gardening. |
| |
| This appears to no longer fail. |
| |
| * stress/typedarray-functions-with-neutered.js: |
| |
| 2021-04-13 Angelos Oikonomopoulos <angelos@igalia.com> |
| |
| [JSC] Unskip stress/intl-displaynames.js on ARM |
| https://bugs.webkit.org/show_bug.cgi?id=224427 |
| |
| Unreviewed test gardening. |
| |
| * stress/intl-displaynames.js: |
| |
| 2021-04-10 Mark Lam <mark.lam@apple.com> |
| |
| Enable VMTraps checks in RETURN_IF_EXCEPTION. |
| https://bugs.webkit.org/show_bug.cgi?id=224078 |
| rdar://75037057 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/watchdog-fire-while-in-forEachInIterable.js: Added. |
| |
| 2021-04-07 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] DUCET level-1 weighs are equal if characters are alphabets |
| https://bugs.webkit.org/show_bug.cgi?id=224047 |
| |
| Reviewed by Saam Barati and Mark Lam. |
| |
| * stress/ducet-level-3-or-4-comparison.js: Added. |
| (shouldBe): |
| |
| 2021-04-07 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Update test262 |
| https://bugs.webkit.org/show_bug.cgi?id=224272 |
| |
| Reviewed by Ross Kirsling. |
| |
| * test262/latest-changes-summary.txt: |
| * test262/test/intl402/DisplayNames/options-getoptionsobject.js: Added. |
| * test262/test/intl402/ListFormat/constructor/constructor/options-getoptionsobject.js: Renamed from JSTests/test262/test/intl402/ListFormat/constructor/constructor/options-toobject.js. |
| * test262/test/intl402/ListFormat/constructor/constructor/options-toobject-prototype.js: Removed. |
| * test262/test/intl402/Segmenter/constructor/constructor/options-getoptionsobject.js: Added. |
| * test262/test/intl402/Segmenter/constructor/constructor/options-toobject-prototype.js: Removed. |
| * test262/test/intl402/Segmenter/constructor/constructor/options-toobject.js: Removed. |
| * test262/test/language/expressions/in/rhs-yield-absent-non-strict.js: Added. |
| * test262/test/language/expressions/in/rhs-yield-absent-strict.js: Added. |
| * test262/test/language/expressions/in/rhs-yield-present.js: Added. |
| (isNameIn): |
| * test262/test262-Revision.txt: |
| |
| 2021-04-06 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] WasmMemory caging should care about nullptr |
| https://bugs.webkit.org/show_bug.cgi?id=224268 |
| <rdar://problem/74654838> |
| |
| Reviewed by Mark Lam. |
| |
| * wasm/stress/4g-memory-cage.js: Added. |
| (async test): |
| * wasm/stress/more-than-4g-offset-access-oom.js: Added. |
| (async test): |
| * wasm/stress/null-memory-cage-explicit.js: Added. |
| (async test): |
| * wasm/stress/null-memory-cage.js: Added. |
| (async test): |
| |
| 2021-04-06 Alexey Shvayka <shvaikalesh@gmail.com> |
| |
| Symbol and BigInt wrapper objects should perform OrdinaryToPrimitive |
| https://bugs.webkit.org/show_bug.cgi?id=224208 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/bigint-object-ordinary-toprimitive.js: Added. |
| * stress/symbol-object-ordinary-toprimitive.js: Added. |
| |
| 2021-04-06 Alexey Shvayka <shvaikalesh@gmail.com> |
| |
| Array's toString() is incorrect if join() is non-callable |
| https://bugs.webkit.org/show_bug.cgi?id=224215 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/array-toString-non-callable-join.js: Added. |
| |
| 2021-04-05 Keith Miller <keith_miller@apple.com> |
| |
| DFG arity fixup nodes should exit to the caller's call opcode |
| https://bugs.webkit.org/show_bug.cgi?id=223278 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/dfg-arity-fixup-uses-callers-exit-origin.js: Added. |
| (main.v22): |
| (main.v30): |
| (main.try.v40): |
| (main.try.v47): |
| (main.try.v56): |
| (main.): |
| (main): |
| |
| 2021-04-02 Alexey Shvayka <shvaikalesh@gmail.com> |
| |
| Reduce bytecode instruction count emitted for `class extends` |
| https://bugs.webkit.org/show_bug.cgi?id=223884 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * ChakraCore/test/Error/validate_line_column.baseline-jsc: |
| |
| 2021-04-02 Jessica Tallon <jtallon@igalia.com> |
| |
| Add tests for the new type method on certain JS-API wasm objects. |
| https://bugs.webkit.org/show_bug.cgi?id=222412 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wasm/js-api/global.js: Added. |
| (assert.throws): |
| * wasm/js-api/table.js: |
| (assert.truthy): |
| * wasm/js-api/test_memory.js: |
| |
| 2021-04-01 Alexey Shvayka <shvaikalesh@gmail.com> |
| |
| Optimize createListFromArrayLike() and Proxy's [[OwnPropertyKeys]] method |
| https://bugs.webkit.org/show_bug.cgi?id=223928 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * microbenchmarks/json-stringify-array-replacer.js: |
| Reduce running time from over 350ms to ~60ms. |
| |
| * microbenchmarks/reflect-own-keys-proxy-2.js: Added. |
| * microbenchmarks/reflect-own-keys-proxy.js: Added. |
| |
| 2021-03-31 Mark Lam <mark.lam@apple.com> |
| |
| Missing exception check in HashMapImpl::add(). |
| https://bugs.webkit.org/show_bug.cgi?id=224007 |
| rdar://76053163 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/missing-exception-check-in-HashMapImpl-add.js: Added. |
| |
| 2021-03-31 Alexey Shvayka <shvaikalesh@gmail.com> |
| |
| Optimize constructors of ES6 collections |
| https://bugs.webkit.org/show_bug.cgi?id=223953 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * microbenchmarks/map-constructor.js: |
| * microbenchmarks/set-constructor.js: Added. |
| * microbenchmarks/weak-map-constructor.js: Added. |
| * microbenchmarks/weak-set-constructor.js: Added. |
| * stress/map-constructor-adder.js: |
| * stress/set-constructor-adder.js: |
| * stress/weak-map-constructor-adder-error-cross-realm.js: Added. |
| * stress/weak-map-constructor-adder.js: |
| * stress/weak-set-constructor-adder-error-cross-realm.js: Added. |
| * stress/weak-set-constructor-adder.js: |
| * stress/weak-set-constructor.js: |
| |
| 2021-03-29 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed test gardening. |
| |
| * stress/early-return-from-builtin.js: Disable this test for memoryLimited configurations. |
| |
| 2021-03-26 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Use AppleICU SPI for canonicalization |
| https://bugs.webkit.org/show_bug.cgi?id=223552 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * stress/intl-canonical-locale-alias-mapping.js: Added. |
| (shouldBe): |
| (Intl.getCanonicalLocales): |
| |
| 2021-03-25 Truitt Savell <tsavell@apple.com> |
| |
| Unreviewed, reverting r275056. |
| |
| This is no longer needed |
| |
| Reverted changeset: |
| |
| "stress/early-return-from-builtin.js.default is failing on iOS |
| JSC testers" |
| https://commits.webkit.org/r275056 |
| |
| 2021-03-25 Truitt Savell <tsavell@apple.com> |
| |
| stress/early-return-from-builtin.js.default is failing on iOS JSC testers |
| rdar://75597901 |
| |
| Unreviewed test gardening. |
| |
| * stress/early-return-from-builtin.js: |
| |
| 2021-03-25 Saam Barati <sbarati@apple.com> |
| |
| early-return-from-builtin.js should try/catch in case of OOM |
| https://bugs.webkit.org/show_bug.cgi?id=223756 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| It's throwing an OOM on iOS. |
| |
| * stress/early-return-from-builtin.js: |
| |
| 2021-03-24 Michael Saboff <msaboff@apple.com> |
| |
| [YARR] Interpreter incorrectly matches non-BMP characters with multiple . w/dotAll flag |
| https://bugs.webkit.org/show_bug.cgi?id=223666 |
| |
| Reviewed by Mark Lam. |
| |
| Added tests for dotAll. Also made sure that we test both JIT and non-JIT execution. |
| |
| * stress/regexp-dot-match-nonBMP.js: |
| |
| 2021-03-24 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Rope string equal operation should first check length |
| https://bugs.webkit.org/show_bug.cgi?id=223678 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/redefine-property-same-value-exception-check.js: |
| (shouldThrow): |
| |
| 2021-03-23 Robin Morisset <rmorisset@apple.com> |
| |
| Object.freeze(this) at the global scope can lose a reference to a WatchpointSet |
| https://bugs.webkit.org/show_bug.cgi?id=223608 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/freeze-global-object.js: Added. |
| (foo): |
| |
| 2021-03-22 Saam Barati <sbarati@apple.com> |
| |
| LiteralParser shouldn't make error messages of length ~2^31 |
| https://bugs.webkit.org/show_bug.cgi?id=223483 |
| <rdar://75572255> |
| |
| Reviewed by Robin Morisset. |
| |
| * stress/literal-parser-error-message-oom.js: Added. |
| |
| 2021-03-22 Michael Saboff <msaboff@apple.com> |
| |
| [YARR] Interpreter incorrectly matches non-BMP characters with multiple . |
| https://bugs.webkit.org/show_bug.cgi?id=223498 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| New test. |
| |
| * stress/regexp-dot-match-nonBMP.js: Added. |
| (shouldMatch): |
| (shouldntMatch): |
| |
| 2021-03-22 Yusuke Suzuki <ysuzuki@apple.com> |
| |
| [JSC] Intl.Locale should not assume is8Bit |
| https://bugs.webkit.org/show_bug.cgi?id=223553 |
| |
| Reviewed by Ross Kirsling. |
| |
| * stress/intl-locale-non-8bit.js: Added. |
| (shouldBe): |
| |
| 2021-03-19 Mark Lam <mark.lam@apple.com> |
| |
| BrandedStructure should keep its members alive. |
| https://bugs.webkit.org/show_bug.cgi?id=223495 |
| rdar://75565765 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/BrandedStructure-should-keep-its-members-alive.js: Added. |
| |
| == Rolled over to ChangeLog-2021-03-18 == |