| 2018-09-10 Michael Saboff <msaboff@apple.com> |
| |
| Test262 failure with Named Capture Groups - using a reference before the group is defined |
| https://bugs.webkit.org/show_bug.cgi?id=189407 |
| |
| Reviewed by Alex Christensen. |
| |
| Re-enabled previously failing test. |
| |
| * test262.yaml: |
| * test262/expectations.yaml: |
| |
| 2018-09-08 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Remove loadModule function in jsc.cpp |
| https://bugs.webkit.org/show_bug.cgi?id=184808 |
| |
| Reviewed by Darin Adler. |
| |
| Use `import` expression instead. |
| |
| * modules/different-view.js: |
| (from.string_appeared_here.shouldThrow): Deleted. |
| * modules/fallback-ambiguous.js: |
| (from.string_appeared_here.shouldThrow): Deleted. |
| * modules/import-error.js: |
| (from.string_appeared_here.shouldThrow): Deleted. |
| (shouldThrow): Deleted. |
| * modules/indirect-export-error.js: |
| (from.string_appeared_here.shouldThrow): Deleted. |
| (shouldThrow): Deleted. |
| * modules/namespace-error.js: |
| (from.string_appeared_here.shouldThrow): Deleted. |
| |
| 2018-09-07 Mark Lam <mark.lam@apple.com> |
| |
| Ensure that handleIntrinsicCall() is only applied on op_call shaped instructions. |
| https://bugs.webkit.org/show_bug.cgi?id=189317 |
| <rdar://problem/44152198> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/regress-189317.js: Added. |
| (testGetter): |
| (testSetter): |
| |
| 2018-09-06 Yusuke Suzuki <yusukesuzuki@slowstart.org> |
| |
| [DFG] DFG should handle String#toString |
| https://bugs.webkit.org/show_bug.cgi?id=189151 |
| |
| Reviewed by Saam Barati. |
| |
| The error message in String#toString and String#valueOf is poor, which will be |
| handled in a separate bug[1]. |
| |
| [1]: https://bugs.webkit.org/show_bug.cgi?id=189357 |
| |
| * microbenchmarks/string-object-to-string.js: Added. |
| (test): |
| * microbenchmarks/string-object-value-of.js: Added. |
| (test): |
| * stress/string-to-string-error.js: Added. |
| (shouldThrow): |
| (test): |
| * stress/string-to-string.js: Added. |
| (shouldBe): |
| (test1): |
| (test2): |
| (test3): |
| * stress/string-value-of-error.js: Added. |
| (shouldThrow): |
| (test): |
| * stress/string-value-of.js: Added. |
| (shouldBe): |
| (test1): |
| (test2): |
| (test3): |
| |
| 2018-09-06 Michael Saboff <msaboff@apple.com> |
| |
| Improper speculation type for Math.pow(NaN, 0) in Abstract Interpreter |
| https://bugs.webkit.org/show_bug.cgi?id=189380 |
| |
| Reviewed by Saam Barati. |
| |
| New test. |
| |
| * stress/math-pow-nan-to-zero-spec-type.js: Added. |
| (func): |
| (test): |
| |
| 2018-09-06 Mark Lam <mark.lam@apple.com> |
| |
| Gardening: Move regress-189185.js under JSTests/wasm. |
| https://bugs.webkit.org/show_bug.cgi?id=189347 |
| |
| Unreviewed. |
| |
| * stress/regress-189185.js: Removed. |
| * wasm/regress/regress-189185.js: Copied from JSTests/stress/regress-189185.js. |
| |
| 2018-09-05 Mark Lam <mark.lam@apple.com> |
| |
| JSPropertyNameEnumerator::visitChildren() needs to visit its m_cachedStructureID. |
| https://bugs.webkit.org/show_bug.cgi?id=189124 |
| <rdar://problem/43863605> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/regress-189124.js: Added. |
| |
| 2018-09-05 Ross Kirsling <ross.kirsling@sony.com> |
| |
| [ESNext] Symbol.prototype.description |
| https://bugs.webkit.org/show_bug.cgi?id=186686 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/symbol-description.js: |
| Add tests for empty and null symbol cases. |
| |
| * test262/config.yaml: |
| Enable Symbol.prototype.description tests. |
| |
| 2018-09-05 David Fenton <david_fenton@apple.com> |
| |
| [32-bit JSC tests] Exception: ReferenceError: Can't find variable: WebAssembly. |
| https://bugs.webkit.org/show_bug.cgi?id=189312. |
| |
| Unreviewed test gardening. |
| |
| * stress/regress-189185.js: |
| |
| 2018-09-05 Mark Lam <mark.lam@apple.com> |
| |
| isAsyncGeneratorMethodParseMode() should check for SourceParseMode::AsyncGeneratorWrapperMethodMode. |
| https://bugs.webkit.org/show_bug.cgi?id=189292 |
| <rdar://problem/38907433> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-189292.js: Added. |
| |
| 2018-09-04 David Fenton <david_fenton@apple.com> |
| |
| Skip Test on 32-bit platforms. |
| https://bugs.webkit.org/show_bug.cgi?id=189185. |
| |
| Unreviewed test gardening. |
| |
| * stress/regress-189185.js: |
| |
| 2018-09-03 Mark Lam <mark.lam@apple.com> |
| |
| The watchdog sometimes fails to terminate a script. |
| https://bugs.webkit.org/show_bug.cgi?id=189227 |
| <rdar://problem/39932857> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-189227-watchdog-on-infinite-loop.js: Added. |
| |
| 2018-09-02 Yusuke Suzuki <yusukesuzuki@slowstart.org> |
| |
| Implement Object.fromEntries |
| https://bugs.webkit.org/show_bug.cgi?id=188481 |
| |
| Reviewed by Darin Adler. |
| |
| * stress/object-from-entries.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor): |
| (shouldBe.set get shouldThrow): |
| |
| 2018-08-24 Yusuke Suzuki <yusukesuzuki@slowstart.org> |
| |
| Function object should convert params to string before throw a parsing error |
| https://bugs.webkit.org/show_bug.cgi?id=188874 |
| |
| Reviewed by Darin Adler. |
| |
| * stress/function-body-to-string-before-parameter-syntax-check.js: Added. |
| (shouldThrow): |
| |
| 2018-08-31 Mark Lam <mark.lam@apple.com> |
| |
| Fix exception check accounting in constructJSWebAssemblyCompileError(). |
| https://bugs.webkit.org/show_bug.cgi?id=189185 |
| <rdar://problem/39786007> |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/regress-189185.js: Added. |
| (new.WebAssembly.CompileError.valueOf): |
| |
| 2018-08-31 Mark Lam <mark.lam@apple.com> |
| |
| Fix exception check accounting in JSDataView::defineOwnProperty(). |
| https://bugs.webkit.org/show_bug.cgi?id=189186 |
| <rdar://problem/39786049> |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/regress-189186.js: Added. |
| |
| 2018-08-31 Mark Lam <mark.lam@apple.com> |
| |
| Add missing exception check in arrayProtoFuncLastIndexOf(). |
| https://bugs.webkit.org/show_bug.cgi?id=189184 |
| <rdar://problem/39785959> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/regress-189184.js: Added. |
| |
| 2018-08-31 Saam barati <sbarati@apple.com> |
| |
| convertToRegExpMatchFastGlobal must use KnownString as the child use kind |
| https://bugs.webkit.org/show_bug.cgi?id=189173 |
| <rdar://problem/43501645> |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/may-exit-should-be-false-regexp-constant-folding.js: Added. |
| (foo): |
| (bar): |
| |
| 2018-08-30 Saam barati <sbarati@apple.com> |
| |
| CSE DataViewGet* DFG nodes |
| https://bugs.webkit.org/show_bug.cgi?id=188768 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * microbenchmarks/dataview-cse.js: Added. |
| (assert): |
| (test): |
| * stress/dataview-get-cse.js: Added. |
| (assert): |
| (test1.foo): |
| (test1): |
| (test2.foo): |
| (test2): |
| (test3.foo): |
| (test3): |
| (test4.foo): |
| (test4): |
| (test5.foo): |
| (test5): |
| (test6.foo): |
| (test6): |
| |
| 2018-08-30 Yusuke Suzuki <yusukesuzuki@slowstart.org> |
| |
| output of toString() of Generator is wrong |
| https://bugs.webkit.org/show_bug.cgi?id=188952 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/function-to-string.js: Added. |
| (shouldBe): |
| (shouldBe.test): |
| (test): |
| (shouldBe.async.test): |
| (async.test): |
| (shouldBe.async): |
| (async): |
| * test262/expectations.yaml: |
| |
| 2018-08-29 Mark Lam <mark.lam@apple.com> |
| |
| Add some missing exception checks in JSRopeString::resolveRopeToAtomicString(). |
| https://bugs.webkit.org/show_bug.cgi?id=189132 |
| <rdar://problem/42513068> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-189132.js: Added. |
| |
| 2018-08-27 Yusuke Suzuki <yusukesuzuki@slowstart.org> |
| |
| [WebAssembly] Parse wasm modules in a streaming fashion |
| https://bugs.webkit.org/show_bug.cgi?id=188943 |
| |
| Reviewed by Mark Lam. |
| |
| Wasm parsing error should not report the total byte size since streaming parsing does not |
| want to load all the bytes. |
| Add a simple test wasm/stress/streaming-basic.js for initial streaming parsing implementation. |
| |
| * wasm/function-tests/invalid-duplicate-export.js: |
| * wasm/function-tests/memory-alignment.js: |
| (const.op.of.WASM.opcodes): |
| * wasm/function-tests/memory-section-and-import.js: |
| * wasm/function-tests/void-argument-type-should-be-a-validation-error.js: |
| * wasm/js-api/Module-compile.js: |
| (async.testPromiseAPI): |
| * wasm/js-api/element.js: |
| (assert.throws.new.WebAssembly.Module.builder.WebAssembly): |
| (assert.throws): |
| * wasm/js-api/global-error.js: |
| (assert.throws.new.WebAssembly.Module.bin): |
| (assert.throws): |
| * wasm/js-api/table.js: |
| (new.WebAssembly.Module): |
| (assert.throws): |
| (assertBadTableImport): |
| * wasm/js-api/test_Data.js: |
| (DataSectionWithoutMemory): |
| * wasm/js-api/test_Start.js: |
| (InvalidStartFunctionIndex): |
| * wasm/js-api/test_basic_api.js: |
| (const.c.in.constructorProperties.switch): |
| * wasm/js-api/version.js: |
| * wasm/stress/nameSection.wasm: Added. |
| * wasm/stress/streaming-basic.js: Added. |
| (check): |
| |
| 2018-08-27 Mark Lam <mark.lam@apple.com> |
| |
| Fix exception throwing code so that topCallFrame and topEntryFrame stay true to their names. |
| https://bugs.webkit.org/show_bug.cgi?id=188577 |
| <rdar://problem/42985684> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-188577.js: Added. |
| |
| 2018-08-24 Yusuke Suzuki <yusukesuzuki@slowstart.org> |
| |
| [JSC] Array.prototype.reverse modifies JSImmutableButterfly |
| https://bugs.webkit.org/show_bug.cgi?id=188794 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/reverse-with-immutable-butterfly.js: Added. |
| (shouldBe): |
| (reverseInt): |
| (reverseDouble): |
| (reverseContiguous): |
| |
| 2018-08-22 Saam barati <sbarati@apple.com> |
| |
| Make data-view-access.js run less time to prevent timeouts on 32-bit |
| |
| * microbenchmarks/data-view-accesses.js: |
| |
| 2018-08-22 Mark Lam <mark.lam@apple.com> |
| |
| The DFG CFGSimplification phase shouldn’t jettison a block when it’s the target of both branch directions. |
| https://bugs.webkit.org/show_bug.cgi?id=188298 |
| <rdar://problem/42888427> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/bug-188298.js: Added. |
| |
| 2018-08-20 Saam barati <sbarati@apple.com> |
| |
| Inline DataView accesses into DFG/FTL |
| https://bugs.webkit.org/show_bug.cgi?id=188573 |
| <rdar://problem/43286746> |
| |
| Reviewed by Michael Saboff. |
| |
| * microbenchmarks/data-view-accesses-2.js: Added. |
| (assert): |
| (let.p.of.Object.keys.let.str): |
| (let.p.of.Object.keys): |
| (test): |
| * microbenchmarks/data-view-accesses.js: Added. |
| (assert): |
| (let.p.of.Object.keys.let.str): |
| (let.p.of.Object.keys): |
| * stress/dataview-jit-bounds-checks.js: Added. |
| (assert): |
| (let.p.of.Object.keys.let.str): |
| (let.p.of.Object.keys): |
| * stress/dataview-jit-get.js: Added. |
| (assert): |
| (test1.bigEndian): |
| (test1.littleEndian): |
| (test1.biEndian): |
| (test1): |
| (test2.bigEndian): |
| (test2.littleEndian): |
| (test2.biEndian): |
| (test2): |
| (test3.bigEndian): |
| (test3.littleEndian): |
| (test3.biEndian): |
| (test3): |
| (test4.bigEndian): |
| (test4.littleEndian): |
| (test4.biEndian): |
| (test4): |
| (test5.bigEndian): |
| (test5.littleEndian): |
| (test5.biEndian): |
| (test5): |
| (test6.bigEndian): |
| (test6.littleEndian): |
| (test6.biEndian): |
| (test6): |
| (test7.load): |
| (test7): |
| (test8.load): |
| (test8): |
| * stress/dataview-jit-neuter.js: Added. |
| (assert): |
| (test.load): |
| (test): |
| (test2.load): |
| (test2): |
| * stress/dataview-jit-set.js: Added. |
| (assert): |
| (isLittleEndian): |
| (readByte): |
| (readHex): |
| (test.storeLittleEndian): |
| (test.storeBigEndian): |
| (test.store): |
| (test): |
| (test2.storeLittleEndian): |
| (test2.storeBigEndian): |
| (test2.store): |
| (test2): |
| (test3.storeLittleEndian): |
| (test3.storeBigEndian): |
| (test3.store): |
| (test3): |
| (test4.storeLittleEndian): |
| (test4.storeBigEndian): |
| (test4.store): |
| (test4): |
| (test5.storeLittleEndian): |
| (test5.storeBigEndian): |
| (test5.store): |
| (test5): |
| (test6.storeLittleEndian): |
| (test6.storeBigEndian): |
| (test6.store): |
| (test6): |
| (test7.store): |
| (test7): |
| (test8.store): |
| (test8): |
| * stress/dataview-jit-unaligned-accesses.js: Added. |
| (assert): |
| (let.p.of.Object.keys.let.str): |
| (let.p.of.Object.keys): |
| |
| 2018-08-20 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [YARR] Extend size of fixed characters bulk matching in 64bit platform |
| https://bugs.webkit.org/show_bug.cgi?id=181989 |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/characters-regexp-ignore-case.js: Added. |
| (shouldBe): |
| (testH): |
| (testHe): |
| (testHel): |
| (testHell): |
| (testHello): |
| (testHelloW): |
| (testHelloWo): |
| (testHelloWor): |
| (testHelloWorl): |
| (testHelloWorld): |
| * stress/characters-regexp.js: Added. |
| (shouldBe): |
| (testH): |
| (testHe): |
| (testHel): |
| (testHell): |
| (testHello): |
| (testHelloW): |
| (testHelloWo): |
| (testHelloWor): |
| (testHelloWorl): |
| (testHelloWorld): |
| |
| 2018-08-17 Saam barati <sbarati@apple.com> |
| |
| intersectionOfPastValuesAtHead must filter values after they've observed an invalidation point |
| https://bugs.webkit.org/show_bug.cgi?id=188707 |
| <rdar://problem/43015442> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/cfa-expected-values-must-set-clobbered-to-false.js: Added. |
| (foo): |
| (let.comp.valueOf): |
| (result): |
| |
| 2018-08-10 Keith Miller <keith_miller@apple.com> |
| |
| Slicing an ArrayBuffer with a long number returns an ArrayBuffer with byteLength zero |
| https://bugs.webkit.org/show_bug.cgi?id=185127 |
| |
| Reviewed by Saam Barati. |
| |
| Rebaseline the expectations. |
| |
| * test262/expectations.yaml: |
| |
| 2018-08-10 Yusuke Suzuki <yusukesuzuki@slowstart.org> |
| |
| Date.UTC should not return NaN with only Year param |
| https://bugs.webkit.org/show_bug.cgi?id=188378 |
| |
| Reviewed by Keith Miller. |
| |
| * ChakraCore.yaml: |
| * ChakraCore/test/Date/dateutc.baseline-jsc: Added. |
| * stress/date-utc-optional.js: Added. |
| (shouldBe): |
| * test262/expectations.yaml: |
| |
| 2018-08-08 Keith Miller <keith_miller@apple.com> |
| |
| Array.prototype.sort should call @toLength instead of ">>> 0" |
| https://bugs.webkit.org/show_bug.cgi?id=188430 |
| |
| Reviewed by Saam Barati. |
| |
| * test262/expectations.yaml: |
| |
| 2018-08-08 Keith Miller <keith_miller@apple.com> |
| |
| Array.prototype.sort should throw TypeError if param is a not callable object |
| https://bugs.webkit.org/show_bug.cgi?id=188382 |
| |
| Reviewed by Saam Barati. |
| |
| * test262/expectations.yaml: |
| |
| 2018-08-01 Andy VanWagoner <andy@vanwagoner.family> |
| |
| [INTL] Implement hourCycle in DateTimeFormat |
| https://bugs.webkit.org/show_bug.cgi?id=188006 |
| |
| Reviewed by Darin Adler. |
| |
| Removed fixed hourCycle expectations. |
| |
| * test262/expectations.yaml: |
| |
| 2018-07-25 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Record CoW status in ArrayProfile correctly |
| https://bugs.webkit.org/show_bug.cgi?id=187949 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/array-profile-should-record-copy-on-write.js: Added. |
| (shouldBe): |
| (test1): |
| (test2): |
| (test3): |
| |
| 2018-07-26 Mark Lam <mark.lam@apple.com> |
| |
| arrayProtoPrivateFuncConcatMemcpy() should handle copying from an Undecided type array. |
| https://bugs.webkit.org/show_bug.cgi?id=188065 |
| <rdar://problem/42515726> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-188065.js: Added. |
| |
| 2018-07-25 Andy VanWagoner <andy@vanwagoner.family> |
| |
| [INTL] Call Typed Array elements toLocaleString with locale and options |
| https://bugs.webkit.org/show_bug.cgi?id=185796 |
| |
| Reviewed by Keith Miller. |
| |
| Remove now passing TypedArray toLocaleString expectation. |
| |
| * test262/expectations.yaml: |
| |
| 2018-07-25 Andy VanWagoner <andy@vanwagoner.family> |
| |
| [INTL] Intl constructor lengths should be configurable |
| https://bugs.webkit.org/show_bug.cgi?id=187960 |
| |
| Reviewed by Saam Barati. |
| |
| Removed fixed length expectations, and updated Intl.Locale expectations |
| that error differently since r234127. |
| |
| * test262/expectations.yaml: |
| |
| 2018-07-24 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r234183. |
| https://bugs.webkit.org/show_bug.cgi?id=187983 |
| |
| cause regression in Kraken gaussian blur and desaturate |
| (Requested by yusukesuzuki on #webkit). |
| |
| Reverted changeset: |
| |
| "[JSC] Record CoW status in ArrayProfile" |
| https://bugs.webkit.org/show_bug.cgi?id=187949 |
| https://trac.webkit.org/changeset/234183 |
| |
| 2018-07-24 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Record CoW status in ArrayProfile |
| https://bugs.webkit.org/show_bug.cgi?id=187949 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/array-profile-should-record-copy-on-write.js: Added. |
| (shouldBe): |
| (test1): |
| (test2): |
| (test3): |
| |
| 2018-07-23 Saam Barati <sbarati@apple.com> |
| |
| need to didFoldClobberWorld when we constant fold GetByVal |
| https://bugs.webkit.org/show_bug.cgi?id=187917 |
| <rdar://problem/42505095> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/get-by-val-fold-did-clobber-world.js: Added. |
| (__f_443): |
| |
| 2018-07-23 Andy VanWagoner <andy@vanwagoner.family> |
| |
| [INTL] Language tags are not canonicalized |
| https://bugs.webkit.org/show_bug.cgi?id=185836 |
| |
| Reviewed by Keith Miller. |
| |
| Remove expected failures that have been fixed. |
| |
| * test262/expectations.yaml: |
| |
| 2018-07-22 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] GetByIdVariant and InByIdVariant do not need slot base if they are not "hit" variants |
| https://bugs.webkit.org/show_bug.cgi?id=187891 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/in-miss-variant-merge.js: Added. |
| (shouldBe): |
| (test): |
| * stress/miss-variant-merge.js: Added. |
| (shouldBe): |
| (test): |
| |
| 2018-07-22 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Fold GetByVal if the indexed value is non configurable and non writable |
| https://bugs.webkit.org/show_bug.cgi?id=186462 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/folding-get-by-val-with-read-only-dont-delete-object.js: Added. |
| (shouldBe): |
| (test1): |
| (test2): |
| (test3): |
| (test4): |
| (test5): |
| * stress/folding-get-by-val-with-read-only-dont-delete-runtime-array.js: Added. |
| (shouldBe): |
| (test1): |
| (test2): |
| (test5): |
| * stress/folding-get-by-val-with-read-only-dont-delete.js: Added. |
| (shouldBe): |
| (test1): |
| (test2): |
| (test3): |
| (test4): |
| (test5): |
| |
| 2018-06-02 Filip Pizlo <fpizlo@apple.com> |
| |
| We should support CreateThis in the FTL |
| https://bugs.webkit.org/show_bug.cgi?id=164904 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * microbenchmarks/polyvariant-get-by-id-shorter-tower.js: Added. |
| (polyvariant): |
| (Foo.prototype.func): |
| (Foo): |
| (foo): |
| (Bar.prototype.func): |
| (Bar): |
| (bar): |
| * microbenchmarks/polyvariant-get-by-id-tower.js: Added. |
| (polyvariant): |
| (Foo.prototype.func): |
| (Foo): |
| (foo): |
| (Bar.prototype.func): |
| (Bar): |
| (bar): |
| (Baz.prototype.func): |
| (Baz): |
| (baz): |
| |
| 2018-07-20 Michael Saboff <msaboff@apple.com> |
| |
| DFG AbstractInterpreter: CheckArray filters array modes for DirectArguments/ScopedArguments using only NonArray |
| https://bugs.webkit.org/show_bug.cgi?id=187827 |
| rdar://problem/42146858 |
| |
| Reviewed by Saam Barati. |
| |
| New regression tests. |
| |
| * stress/direct-arguments-check-array.js: Added. |
| (setup.f2): |
| (setup): |
| (forOfArray): |
| (forOfArgs): |
| (callEveryOnArgs): |
| * stress/scoped-arguments-check-array.js: Added. |
| (setup.foo): |
| (setup.f2): |
| (setup): |
| (forOfArray): |
| (forOfArgs): |
| (callEveryOnArgs): |
| |
| 2018-07-20 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Fold GetByVal if Array is CoW |
| https://bugs.webkit.org/show_bug.cgi?id=186459 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/folding-get-by-val-with-immutable-butterfly-out-of-bounds-foldable.js: Added. |
| (shouldBe): |
| (test0): |
| (test1): |
| (test2): |
| (test3): |
| (test4): |
| (test5): |
| * stress/folding-get-by-val-with-immutable-butterfly-out-of-bounds.js: Added. |
| (shouldBe): |
| (test0): |
| (test1): |
| (test2): |
| (test3): |
| (test4): |
| (test5): |
| * stress/folding-get-by-val-with-immutable-butterfly-with-types.js: Added. |
| (shouldBe): |
| (test0): |
| (test1): |
| (test2): |
| (test3): |
| (test4): |
| (test5): |
| * stress/folding-get-by-val-with-immutable-butterfly.js: Added. |
| (shouldBe): |
| (checking): |
| (test): |
| |
| 2018-07-20 Saam Barati <sbarati@apple.com> |
| |
| CompareEq should be using KnownOtherUse instead of OtherUse |
| https://bugs.webkit.org/show_bug.cgi?id=186814 |
| <rdar://problem/39720030> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/compare-eq-should-use-known-other-use.js: Added. |
| (bar): |
| (i.func): |
| |
| 2018-07-20 David Fenton <david_fenton@apple.com> |
| |
| stress/spread-forward-varargs-stack-overflow.js is timing out in 32 bit JSC tests. |
| https://bugs.webkit.org/show_bug.cgi?id=187698 |
| |
| Unreviewed test gardening, skipped test in 32 Bit JSC. |
| |
| * stress/spread-forward-varargs-stack-overflow.js: |
| |
| 2018-07-18 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| JSON.stringify should emit non own properties if second array argument includes |
| https://bugs.webkit.org/show_bug.cgi?id=187724 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/json-stringify-getter-call.js: Added. |
| (shouldBe): |
| (A.prototype.get cocoa): |
| (A.prototype.get cappuccino): |
| (A): |
| (shouldBe.JSON.stringify): |
| |
| 2018-07-18 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] JSON.stringify's replacer should use `isArray` instead of JSArray checks |
| https://bugs.webkit.org/show_bug.cgi?id=187755 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/json-stringify-gap-calculation-should-be-after-replacer-check.js: Added. |
| (shouldThrow): |
| (shouldThrow.string.toString): |
| * test262/expectations.yaml: |
| |
| 2018-07-12 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Generator and AsyncGeneratorMethod's prototype is incorrect |
| https://bugs.webkit.org/show_bug.cgi?id=187585 |
| |
| Reviewed by Darin Adler. |
| |
| * stress/default-proto-for-async-generator.js: Added. |
| (shouldBe): |
| (async.asyncGenerator): |
| * stress/default-proto-for-generator.js: Added. |
| (shouldBe): |
| (generator): |
| * stress/prototype-for-async-generator.js: Added. |
| (shouldBe): |
| (async.asyncGenerator): |
| (A.prototype.async.asyncGenerator): |
| (A): |
| * test262/expectations.yaml: |
| |
| 2018-07-11 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Skip JSC test stress/keep-checks-when-converting-to-lazy-js-constant-in-strength-reduction.js |
| https://bugs.webkit.org/show_bug.cgi?id=187559 |
| |
| Unreviewed test gardening. |
| |
| * stress/keep-checks-when-converting-to-lazy-js-constant-in-strength-reduction.js: |
| |
| 2018-07-11 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Iterator of Array.keys() returns object in wrong order |
| https://bugs.webkit.org/show_bug.cgi?id=185197 |
| |
| Reviewed by Keith Miller. |
| |
| We align the shape of our iterator result to the spec: {value,done} instead of {done,value}. |
| |
| * stress/iterator-field-order.js: Added. |
| (shouldBe): |
| (shouldBe.JSON.stringify.array.values.next): |
| (shouldBe.JSON.stringify.array.keys.next): |
| (shouldBe.JSON.stringify.array.entries.next): |
| (async.asyncIterator): |
| (iterator.next.then): |
| (generator): |
| (shouldBe.JSON.stringify.generator.next): |
| (shouldBe.JSON.stringify.map.keys.next): |
| (shouldBe.JSON.stringify.map.values.next): |
| (shouldBe.JSON.stringify.map.entries.next): |
| (set new): |
| |
| 2018-07-11 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, clean up test262 expectations |
| |
| * test262/expectations.yaml: |
| |
| 2018-07-10 Mark Lam <mark.lam@apple.com> |
| |
| constructArray() should always allocate the requested length. |
| https://bugs.webkit.org/show_bug.cgi?id=187543 |
| <rdar://problem/41947884> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-187543-2.js: Added. |
| * stress/regress-187543-3.js: Added. |
| * stress/regress-187543.js: Added. |
| |
| 2018-07-10 Keith Miller <keith_miller@apple.com> |
| |
| hasOwnProperty returns true for out of bounds property index on TypedArray |
| https://bugs.webkit.org/show_bug.cgi?id=187520 |
| |
| Reviewed by Saam Barati. |
| |
| getOwnPropertySlot returns true on out of bounds indicies for |
| TypedArrays, which is incorrect. |
| |
| * stress/typedarray-hasOwnProperty-out-of-bounds.js: Added. |
| (test): |
| |
| 2018-07-10 Michael Saboff <msaboff@apple.com> |
| |
| DFG JIT: compileMathIC produces incorrect machine code |
| https://bugs.webkit.org/show_bug.cgi?id=187537 |
| |
| Reviewed by Saam Barati. |
| |
| Added new test case. |
| |
| * stress/arith-mul-with-constants.js: |
| (testArithMulWithTypeConfusedConstant.testMult): |
| (testArithMulWithTypeConfusedConstant): |
| |
| 2018-07-10 Michael Saboff <msaboff@apple.com> |
| |
| YARR: . doesn't match non-BMP Unicode characters in some cases |
| https://bugs.webkit.org/show_bug.cgi?id=187248 |
| |
| Reviewed by Geoffrey Garen. |
| |
| New regression test. |
| |
| * stress/regexp-with-nonBMP-any.js: Added. |
| |
| 2018-07-09 Michael Saboff <msaboff@apple.com> |
| |
| REGRESSION (ICU-62100.0.1): JSC test mozilla-tests.yaml/ecma/String/15.5.4.12-3.js is failing |
| https://bugs.webkit.org/show_bug.cgi?id=187495 |
| |
| Reviewed by Saam Barati. |
| |
| Commented out the Georgian section of this toUpper() test since Unicode 11 added new upper case characters for |
| most of this range. |
| |
| * mozilla/ecma/String/15.5.4.12-3.js: |
| (getTestCases): |
| (DecimalToHexString): |
| |
| 2018-07-02 Sukolsak Sakshuwong <sukolsak@gmail.com> |
| |
| RegExp.exec returns wrong value with a long integer quantifier |
| https://bugs.webkit.org/show_bug.cgi?id=187042 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regexp-large-quantifier.js: Added. |
| (testRegExp): |
| * stress/regress-159744.js: |
| |
| 2018-07-02 Ryosuke Niwa <rniwa@webkit.org> |
| |
| Repository fix after r233427 and r233443. |
| Added back the test which got erroneously deleted in r233443. |
| |
| * stress/instanceof-non-object-prototype.js: |
| |
| 2018-07-02 Keith Miller <keith_miller@apple.com> |
| |
| InstanceOf IC should do generic if the prototype is not an object. |
| https://bugs.webkit.org/show_bug.cgi?id=187250 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/instanceof-non-object-prototype.js: Added. |
| (let): |
| (test): |
| (i.catch): |
| |
| 2018-06-30 Mark Lam <mark.lam@apple.com> |
| |
| Builtins and host functions should get their own structures. |
| https://bugs.webkit.org/show_bug.cgi?id=187211 |
| <rdar://problem/41646336> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-187211.js: Added. |
| |
| 2018-06-29 Saam Barati <sbarati@apple.com> |
| |
| We shouldn't recurse into the parser when gathering metadata about various function offsets |
| https://bugs.webkit.org/show_bug.cgi?id=184074 |
| <rdar://problem/37165897> |
| |
| Reviewed by Mark Lam. |
| |
| * microbenchmarks/try-get-by-id-basic.js: |
| (const.bench.f.const.fooPlusBar.createBuiltin): |
| * microbenchmarks/try-get-by-id-polymorphic.js: |
| (fooPlusBar.createBuiltin): |
| * stress/array-push-with-force-exit.js: |
| * stress/dont-crash-on-stack-overflow-when-parsing-builtin.js: Added. |
| (f): |
| * stress/dont-crash-on-stack-overflow-when-parsing-default-constructor.js: Added. |
| (foo): |
| (prototype.runNearStackLimit): |
| * stress/is-constructor.js: |
| * stress/tailCallForwardArguments.js: |
| (putFuncToPrivateName.createBuiltin): |
| |
| 2018-06-27 Mark Lam <mark.lam@apple.com> |
| |
| DFG's compileReallocatePropertyStorage() and compileAllocatePropertyStorage() slow paths should also clear unused properties. |
| https://bugs.webkit.org/show_bug.cgi?id=187091 |
| <rdar://problem/41395624> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/regress-187091.js: Added. |
| |
| 2018-06-27 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] ArrayPatternNode::emitDirectBinding does not return assignment target value if dst is nullptr |
| https://bugs.webkit.org/show_bug.cgi?id=185943 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/direct-binding-return-result.js: Added. |
| (shouldBe): |
| (test): |
| |
| 2018-06-26 Mark Lam <mark.lam@apple.com> |
| |
| eval() is wrong about the LiteralParser never throwing any exceptions. |
| https://bugs.webkit.org/show_bug.cgi?id=187074 |
| <rdar://problem/41461099> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-187074.js: Added. |
| |
| 2018-06-26 Mark Lam <mark.lam@apple.com> |
| |
| ASSERTION FAILED: length > butterfly->vectorLength() in JSObject::ensureLengthSlow(). |
| https://bugs.webkit.org/show_bug.cgi?id=187060 |
| <rdar://problem/41452767> |
| |
| Reviewed by Keith Miller. |
| |
| * stress/regress-187060.js: Added. |
| |
| 2018-06-25 Mark Lam <mark.lam@apple.com> |
| |
| constructArray() should set m_numValuesInVector to the specified length. |
| https://bugs.webkit.org/show_bug.cgi?id=187010 |
| <rdar://problem/41392167> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/regress-187010.js: Added. |
| |
| 2018-06-25 Mark Lam <mark.lam@apple.com> |
| |
| Add missing exception check in RegExpObjectInlines.h's collectMatches. |
| https://bugs.webkit.org/show_bug.cgi?id=187006 |
| <rdar://problem/41418412> |
| |
| Reviewed by Keith Miller. |
| |
| * stress/regress-187006.js: Added. |
| |
| 2018-06-22 Keith Miller <keith_miller@apple.com> |
| |
| unshift should zero unused property storage |
| https://bugs.webkit.org/show_bug.cgi?id=186960 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/array-unshift-zero-property-storage.js: Added. |
| (run): |
| (test): |
| |
| 2018-06-22 Mark Lam <mark.lam@apple.com> |
| |
| PropertyCondition::isValidValueForAttributes() should also consider deleted values. |
| https://bugs.webkit.org/show_bug.cgi?id=186943 |
| <rdar://problem/41370337> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-186943.js: Added. |
| |
| 2018-06-22 Keith Miller <keith_miller@apple.com> |
| |
| performProxyCall should toThis the value passed to its handler |
| https://bugs.webkit.org/show_bug.cgi?id=186951 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/proxy-call-apply-handler-to-this.js: Added. |
| (applyHandler): |
| (let.f.new.Proxy): |
| (withScope): |
| (lexicalScope): |
| (strictEvalScope): |
| (BigInt): |
| |
| 2018-06-20 Keith Miller <keith_miller@apple.com> |
| |
| flattenDictionaryStruture needs to zero inline storage. |
| https://bugs.webkit.org/show_bug.cgi?id=186869 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/flatten-object-zero-unused-inline-properties.js: Added. |
| |
| 2018-06-19 Saam Barati <sbarati@apple.com> |
| |
| DirectArguments::create needs to initialize to undefined instead of the empty value |
| https://bugs.webkit.org/show_bug.cgi?id=186818 |
| <rdar://problem/38415177> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/create-direct-arguments-in-osr-should-initialize-to-undefined.js: Added. |
| (foo): |
| (bar): |
| |
| 2018-06-19 Tadeu Zagallo <tzagallo@apple.com> |
| |
| ShadowChicken crashes with stack overflow in the LLInt |
| https://bugs.webkit.org/show_bug.cgi?id=186540 |
| <rdar://problem/39682133> |
| |
| Reviewed by Saam Barati. |
| |
| Add test that stack overflows and crashes on ShadowChicken when JIT is |
| disabled and forceDebuggerBytecodeGeneration is enabled. |
| |
| * stress/llint-stack-overflow-debugging-opcodes.js: Added. |
| (foo): |
| (catch): |
| |
| 2018-06-19 Leo Balter <leonardo.balter@gmail.com> |
| |
| [test262-runner] More updates to the skip list |
| https://bugs.webkit.org/show_bug.cgi?id=186786 |
| |
| Reviewed by Michael Saboff. |
| |
| * test262/config.yaml: |
| * test262/expectations.yaml: |
| |
| 2018-06-19 Saam Barati <sbarati@apple.com> |
| |
| Wasm: Any function argument of type Void should be a validation error |
| https://bugs.webkit.org/show_bug.cgi?id=186794 |
| <rdar://problem/41140257> |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/Builder.js: |
| (const._normalizeFunctionSignature): |
| * wasm/function-tests/void-argument-type-should-be-a-validation-error.js: Added. |
| (getBinary): |
| * wasm/self-test/test_BuilderJSON.js: |
| |
| 2018-06-18 Keith Miller <keith_miller@apple.com> |
| |
| Properly zero unused property storage offsets |
| https://bugs.webkit.org/show_bug.cgi?id=186692 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/butterfly-zero-unused-butterfly-properties.js: Added. |
| |
| 2018-06-18 Michael Saboff <msaboff@apple.com> |
| |
| Support Unicode 11 in RegExp |
| https://bugs.webkit.org/show_bug.cgi?id=186685 |
| |
| Reviewed by Mark Lam. |
| |
| * test262/config.yaml: Removed from skip list Unicode 11 property tests as they |
| are now supported. Added new bug reference for still failing |
| test/built-ins/RegExp/property-escapes/character-class.js test. |
| |
| * test262/test/built-ins/RegExp/property-escapes/unsupported-binary-properties.js: |
| Removed "Extended_Pictographic" from unsupported properties since Unicode 11 now supports them. |
| |
| 2018-06-16 Leo Balter <leonardo.balter@gmail.com> |
| |
| Update Test262 2018-06-15 |
| https://bugs.webkit.org/show_bug.cgi?id=186695 |
| |
| Reviewed by Michael Saboff. |
| |
| Also update the skip list - in the config file - with new failures |
| * test262/config.yaml: |
| * test262/expectations.yaml: |
| * test262/harness/testIntl.js: |
| (getInvalidLanguageTags): |
| * test262/latest-changes-summary.txt: |
| * test262/test/built-ins/Date/parse/time-value-maximum-range.js: Added. |
| * test262/test/built-ins/Date/parse/zero.js: Added. |
| * test262/test/built-ins/JSON/stringify/bigint-cross-realm.js: Added. |
| (other.BigInt.prototype.toJSON): |
| * test262/test/built-ins/Object/prototype/toString/symbol-tag-non-str-bigint.js: Added. |
| * test262/test/built-ins/Object/prototype/toString/symbol-tag-override-bigint.js: Added. |
| * test262/test/built-ins/Reflect/ownKeys/return-on-corresponding-order-large-index.js: Added. |
| * test262/test/built-ins/RegExp/property-escapes/character-class.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/ASCII.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/ASCII_Hex_Digit.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Alphabetic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Any.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Assigned.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Bidi_Control.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Bidi_Mirrored.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Case_Ignorable.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Cased.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Changes_When_Casefolded.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Changes_When_Casemapped.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Changes_When_Lowercased.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Changes_When_NFKC_Casefolded.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Changes_When_Titlecased.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Changes_When_Uppercased.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Dash.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Default_Ignorable_Code_Point.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Deprecated.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Diacritic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Emoji.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Emoji_Component.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Emoji_Modifier.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Emoji_Modifier_Base.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Emoji_Presentation.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Extended_Pictographic.js: Added. |
| * test262/test/built-ins/RegExp/property-escapes/generated/Extender.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Cased_Letter.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Close_Punctuation.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Connector_Punctuation.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Control.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Currency_Symbol.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Dash_Punctuation.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Decimal_Number.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Enclosing_Mark.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Final_Punctuation.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Format.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Initial_Punctuation.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Letter_Number.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Line_Separator.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Lowercase_Letter.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Mark.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Math_Symbol.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Letter.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Modifier_Symbol.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Nonspacing_Mark.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Number.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Open_Punctuation.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Other.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Letter.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Number.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Punctuation.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Other_Symbol.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Paragraph_Separator.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Private_Use.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Punctuation.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Separator.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Space_Separator.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Spacing_Mark.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Surrogate.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Symbol.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Titlecase_Letter.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Unassigned.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/General_Category_-_Uppercase_Letter.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Grapheme_Base.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Grapheme_Extend.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Hex_Digit.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/IDS_Binary_Operator.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/IDS_Trinary_Operator.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/ID_Continue.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/ID_Start.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Ideographic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Join_Control.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Logical_Order_Exception.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Lowercase.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Math.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Noncharacter_Code_Point.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Pattern_Syntax.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Pattern_White_Space.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Quotation_Mark.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Radical.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Regional_Indicator.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Adlam.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Ahom.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Anatolian_Hieroglyphs.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Arabic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Armenian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Avestan.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Balinese.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Bamum.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Bassa_Vah.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Batak.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Bengali.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Bhaiksuki.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Bopomofo.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Brahmi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Braille.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Buginese.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Buhid.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Canadian_Aboriginal.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Carian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Caucasian_Albanian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Chakma.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Cham.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Cherokee.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Common.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Coptic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Cuneiform.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Cypriot.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Cyrillic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Deseret.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Devanagari.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Dogra.js: Copied from JSTests/test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Kaithi.js. |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Duployan.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Egyptian_Hieroglyphs.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Elbasan.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Ethiopic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Georgian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Glagolitic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Gothic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Grantha.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Greek.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Gujarati.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Gunjala_Gondi.js: Copied from JSTests/test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Chakma.js. |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Gurmukhi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Han.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Hangul.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Hanifi_Rohingya.js: Copied from JSTests/test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Ahom.js. |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Hanunoo.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Hatran.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Hebrew.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Hiragana.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Imperial_Aramaic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Inherited.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Inscriptional_Pahlavi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Inscriptional_Parthian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Javanese.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Kaithi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Kannada.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Katakana.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Kayah_Li.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Kharoshthi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Khmer.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Khojki.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Khudawadi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Lao.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Latin.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Lepcha.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Limbu.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Linear_A.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Linear_B.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Lisu.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Lycian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Lydian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Mahajani.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Makasar.js: Copied from JSTests/test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Lycian.js. |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Malayalam.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Mandaic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Manichaean.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Marchen.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Masaram_Gondi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Medefaidrin.js: Copied from JSTests/test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Carian.js. |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Meetei_Mayek.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Mende_Kikakui.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Meroitic_Cursive.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Meroitic_Hieroglyphs.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Miao.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Modi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Mongolian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Mro.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Multani.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Myanmar.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Nabataean.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_New_Tai_Lue.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Newa.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Nko.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Nushu.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Ogham.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Ol_Chiki.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Hungarian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Italic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Old_North_Arabian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Permic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Persian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Sogdian.js: Copied from JSTests/test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Gothic.js. |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Old_South_Arabian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Old_Turkic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Oriya.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Osage.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Osmanya.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Pahawh_Hmong.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Palmyrene.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Pau_Cin_Hau.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Phags_Pa.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Phoenician.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Psalter_Pahlavi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Rejang.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Runic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Samaritan.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Saurashtra.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Sharada.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Shavian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Siddham.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_SignWriting.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Sinhala.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Sogdian.js: Copied from JSTests/test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Lycian.js. |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Sora_Sompeng.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Soyombo.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Sundanese.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Syloti_Nagri.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Syriac.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Tagalog.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Tagbanwa.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Le.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Tham.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Tai_Viet.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Takri.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Tamil.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Tangut.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Telugu.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Thaana.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Thai.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Tibetan.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Tifinagh.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Tirhuta.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Ugaritic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Vai.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Warang_Citi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Yi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Zanabazar_Square.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Adlam.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ahom.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Anatolian_Hieroglyphs.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Arabic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Armenian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Avestan.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Balinese.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bamum.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bassa_Vah.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Batak.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bengali.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bhaiksuki.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Bopomofo.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Brahmi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Braille.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Buginese.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Buhid.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Canadian_Aboriginal.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Carian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Caucasian_Albanian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Chakma.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cham.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cherokee.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Common.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Coptic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cuneiform.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cypriot.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Cyrillic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Deseret.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Devanagari.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Dogra.js: Copied from JSTests/test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mahajani.js. |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Duployan.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Egyptian_Hieroglyphs.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Elbasan.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ethiopic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Georgian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Glagolitic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gothic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Grantha.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Greek.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gujarati.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gunjala_Gondi.js: Added. |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Gurmukhi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Han.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hangul.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hanifi_Rohingya.js: Added. |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hanunoo.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hatran.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hebrew.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Hiragana.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Imperial_Aramaic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inherited.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inscriptional_Pahlavi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Inscriptional_Parthian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Javanese.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kaithi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kannada.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Katakana.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kayah_Li.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Kharoshthi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khmer.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khojki.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Khudawadi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lao.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Latin.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lepcha.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Limbu.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Linear_A.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Linear_B.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lisu.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lycian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Lydian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mahajani.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Makasar.js: Copied from JSTests/test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Adlam.js. |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Malayalam.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mandaic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Manichaean.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Marchen.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Masaram_Gondi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Medefaidrin.js: Copied from JSTests/test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Avestan.js. |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meetei_Mayek.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mende_Kikakui.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meroitic_Cursive.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Meroitic_Hieroglyphs.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Miao.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Modi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mongolian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Mro.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Multani.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Myanmar.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nabataean.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_New_Tai_Lue.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Newa.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nko.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Nushu.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ogham.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ol_Chiki.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Hungarian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Italic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_North_Arabian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Permic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Persian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Sogdian.js: Copied from JSTests/test262/test/built-ins/RegExp/property-escapes/generated/Script_-_Khojki.js. |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_South_Arabian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Old_Turkic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Oriya.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Osage.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Osmanya.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Pahawh_Hmong.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Palmyrene.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Pau_Cin_Hau.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Phags_Pa.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Phoenician.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Psalter_Pahlavi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Rejang.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Runic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Samaritan.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Saurashtra.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sharada.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Shavian.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Siddham.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_SignWriting.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sinhala.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sogdian.js: Copied from JSTests/test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Manichaean.js. |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sora_Sompeng.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Soyombo.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Sundanese.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syloti_Nagri.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Syriac.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tagalog.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tagbanwa.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Le.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Tham.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tai_Viet.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Takri.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tamil.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tangut.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Telugu.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Thaana.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Thai.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tibetan.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tifinagh.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Tirhuta.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Ugaritic.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Vai.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Warang_Citi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Yi.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Script_Extensions_-_Zanabazar_Square.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Sentence_Terminal.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Soft_Dotted.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Terminal_Punctuation.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Unified_Ideograph.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Uppercase.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/Variation_Selector.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/White_Space.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/XID_Continue.js: |
| * test262/test/built-ins/RegExp/property-escapes/generated/XID_Start.js: |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/internal-regexp-lastindex-not-zero.js: Removed. |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/isregexp-called-once.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/Symbol.matchAll/isregexp-internal-regexp-is-false.js. |
| (o.get Symbol): |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/isregexp-internal-regexp-throws.js: Removed. |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/regexpcreate-this-throws.js: |
| * test262/test/built-ins/Symbol/matchAll/prop-desc.js: |
| * test262/test/built-ins/Symbol/prototype/description/description-symboldescriptivestring.js: Added. |
| * test262/test/built-ins/Symbol/prototype/description/descriptor.js: Added. |
| * test262/test/built-ins/Symbol/prototype/description/get.js: Added. |
| * test262/test/built-ins/Symbol/prototype/description/is-not-own-property.js: Added. |
| * test262/test/built-ins/Symbol/prototype/description/this-val-non-symbol.js: Added. |
| * test262/test/built-ins/Symbol/prototype/description/this-val-symbol.js: Added. |
| * test262/test/built-ins/Symbol/prototype/description/wrapper.js: Added. |
| * test262/test/intl402/Intl/getCanonicalLocales/Locale-object.js: Added. |
| * test262/test/intl402/Locale/constructor-options-collation-invalid.js: |
| * test262/test/intl402/Locale/constructor-options-collation-valid.js: |
| * test262/test/intl402/Locale/constructor-options-hourcycle-valid.js: |
| * test262/test/intl402/Locale/constructor-options-language-invalid.js: |
| * test262/test/intl402/Locale/constructor-options-numberingsystem-invalid.js: |
| * test262/test/intl402/Locale/constructor-options-numberingsystem-valid.js: |
| * test262/test/intl402/Locale/constructor-tag.js: Added. |
| (canonical.of.Object.entries): |
| * test262/test/intl402/Locale/likely-subtags.js: Added. |
| (maximal.of.Object.entries): |
| (minimal.of.Object.entries): |
| * test262/test/intl402/Locale/prototype/baseName/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/baseName/name.js: Added. |
| * test262/test/intl402/Locale/prototype/baseName/prop-desc.js: |
| * test262/test/intl402/Locale/prototype/calendar/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/calendar/name.js: Added. |
| * test262/test/intl402/Locale/prototype/calendar/prop-desc.js: |
| * test262/test/intl402/Locale/prototype/caseFirst/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/caseFirst/name.js: Added. |
| * test262/test/intl402/Locale/prototype/caseFirst/prop-desc.js: |
| * test262/test/intl402/Locale/prototype/collation/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/collation/name.js: Added. |
| * test262/test/intl402/Locale/prototype/collation/prop-desc.js: |
| * test262/test/intl402/Locale/prototype/hourCycle/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/hourCycle/name.js: Added. |
| * test262/test/intl402/Locale/prototype/hourCycle/prop-desc.js: |
| * test262/test/intl402/Locale/prototype/language/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/language/name.js: Added. |
| * test262/test/intl402/Locale/prototype/language/prop-desc.js: |
| * test262/test/intl402/Locale/prototype/maximize/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/minimize/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/numberingSystem/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/numberingSystem/name.js: Added. |
| * test262/test/intl402/Locale/prototype/numberingSystem/prop-desc.js: |
| * test262/test/intl402/Locale/prototype/numeric/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/numeric/name.js: Added. |
| * test262/test/intl402/Locale/prototype/numeric/prop-desc.js: |
| * test262/test/intl402/Locale/prototype/region/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/region/name.js: Added. |
| * test262/test/intl402/Locale/prototype/region/prop-desc.js: |
| * test262/test/intl402/Locale/prototype/script/branding.js: Added. |
| * test262/test/intl402/Locale/prototype/script/name.js: Added. |
| * test262/test/intl402/Locale/prototype/script/prop-desc.js: |
| * test262/test/intl402/Locale/prototype/toString/branding.js: Added. |
| * test262/test/intl402/NumberFormat/length.js: |
| * test262/test/intl402/PluralRules/prototype/resolvedOptions/pluralCategories.js: Added. |
| * test262/test/language/expressions/tagged-template/template-object-template-map.js: Added. |
| (tag): |
| * test262/test/language/expressions/tagged-template/template-object.js: |
| (templateObject.tag): |
| * test262/test/language/literals/numeric/numeric-separator-literal-bil-bd-nsl-bd-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-dunder-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-bil-nsl-bd-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-dd-nsl-dds-dunder-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-dd-nsl-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-dds-nsl-dds-dunder-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-dds-nsl-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-dil-dot-dds-nsl-ep-dd-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-ep-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-dil-dot-nsl-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-dot-dds-nsl-ep-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-dot-nsl-ep-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-dot-nsl-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-hil-hd-nsl-hd-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-dunder-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-hil-nsl-hd-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-dunder-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-nzd-nsl-dds-leading-zero-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-dunder-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-oil-nsl-od-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-oil-od-nsl-od-err.js: |
| * test262/test/language/literals/numeric/numeric-separator-literal-unicode-err.js: |
| * test262/test262-Revision.txt: |
| |
| 2018-06-16 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Reduce OSRExit for Kraken/crypto-aes due to CoW array |
| https://bugs.webkit.org/show_bug.cgi?id=186721 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/array-slice-cow.js: Added. |
| (shouldBe): |
| (testInt32): |
| (testDouble): |
| (testContiguous): |
| |
| 2018-06-15 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG][FTL] Spread onto PhantomNewArrayBuffer assumes JSFixedArray, but JSImmutableButterfly is returned |
| https://bugs.webkit.org/show_bug.cgi?id=186460 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/spread-escapes-but-new-array-buffer-does-not-double.js: Added. |
| (assert): |
| (getProperties): |
| (theFunc): |
| (let.obj.valueOf): |
| |
| 2018-06-14 Leo Balter <leonardo.balter@gmail.com> |
| |
| Test262-Runner: Update config list with some failing tests |
| https://bugs.webkit.org/show_bug.cgi?id=185628 |
| |
| Reviewed by Michael Saboff. |
| |
| The config list is updated to match some slow / hanging tests that are currenctly failing |
| due to the length used in Array or Array like objects. |
| |
| This also adds matching bugs for known features that are still in progress and not enabled |
| yet. |
| * test262/config.yaml: |
| |
| 2018-06-12 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Update test262 for Array#sort |
| https://bugs.webkit.org/show_bug.cgi?id=186458 |
| |
| * test262/expectations.yaml: |
| |
| 2018-06-10 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Array.prototype.sort should rejects null comparator |
| https://bugs.webkit.org/show_bug.cgi?id=186458 |
| |
| Reviewed by Keith Miller. |
| |
| * ChakraCore/test/Array/array_sort.baseline-jsc: |
| * stress/array-sort-bad-comparator.js: |
| (test): |
| * stress/sort-null-comparator.js: Removed. |
| * test262/expectations.yaml: |
| |
| 2018-06-07 Saam Barati <sbarati@apple.com> |
| |
| Make DFG to FTL OSR entry code more sane by removing bad RELEASE_ASSERTS and making it trigger compiles in outer loops before inner ones |
| https://bugs.webkit.org/show_bug.cgi?id=186218 |
| <rdar://problem/38449540> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/dont-crash-ftl-osr-entry.js: Added. |
| |
| 2018-06-06 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Compare operations do not respect negative zeros |
| https://bugs.webkit.org/show_bug.cgi?id=183729 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/comparison-ignore-negative-zero.js: Added. |
| (shouldBe): |
| (zero): |
| (negativeZero): |
| (object.valueOf): |
| (test): |
| |
| 2018-06-06 Saam Barati <sbarati@apple.com> |
| |
| generateConditionsForInstanceOf needs to see if the object has a poly proto structure before assuming it has a constant prototype |
| https://bugs.webkit.org/show_bug.cgi?id=186363 |
| |
| Rubber-stamped by Filip Pizlo. |
| |
| * stress/instance-of-on-poly-proto-opc-should-not-crash.js: Added. |
| |
| 2018-06-05 David Fenton <david_fenton@apple.com> |
| |
| Temporarily Skip JSC stress test failures that are consistently occurring. |
| https://bugs.webkit.org/show_bug.cgi?id=186283 |
| |
| Unreviewed test gardening. |
| |
| * executableAllocationFuzz.yaml: |
| * slowMicrobenchmarks/default-derived-constructor.js: |
| * stress/put-direct-index-broken-2.js: |
| * stress/splay-flash-access.js: |
| * stress/spread-forward-call-varargs-stack-overflow.js: |
| |
| 2018-06-04 Keith Miller <keith_miller@apple.com> |
| |
| Add test for CoW conversions in the DFG/FTL |
| https://bugs.webkit.org/show_bug.cgi?id=186295 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/arrayprofile-should-not-convert-get-by-val-cow.js: Added. |
| (assertEq): |
| (withArrayArgInt32): |
| (withArrayLiteralInt32): |
| (withArrayArgDouble): |
| (withArrayLiteralDouble): |
| (withArrayArgContiguous): |
| (withArrayLiteralContiguous): |
| (test): |
| |
| 2018-06-02 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESNext][BigInt] Implement support for addition operations |
| https://bugs.webkit.org/show_bug.cgi?id=179002 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * bigIntTests.yaml: |
| * stress/addition-order-evaluation.js: Added. |
| * stress/big-int-add-wrapped-value.js: Added. |
| * stress/big-int-addition-basic.js: Added. |
| * stress/big-int-addition-jit.js: Added. |
| * stress/big-int-addition-memory-stress.js: Added. |
| * stress/big-int-addition-string-coercion.js: Added. |
| * stress/big-int-addition-to-primitive-precedence.js: Added. |
| * stress/big-int-addition-to-primitive.js: Added. |
| * stress/big-int-addition-type-error.js: Added. |
| * stress/big-int-no-conversion-to-number.js: |
| * stress/big-int-sub-wrapped-value.js: Added. |
| * stress/big-int-subtraction-basic.js: Added. |
| * stress/big-int-subtraction-jit.js: Added. |
| * stress/big-int-subtraction-type-error.js: Added. |
| * stress/sub-order-evaluation.js: Added. |
| |
| 2018-06-02 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r232439. |
| https://bugs.webkit.org/show_bug.cgi?id=186238 |
| |
| It breaks gtk-linux-32-release (Requested by caiolima on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "[ESNext][BigInt] Implement support for addition operations" |
| https://bugs.webkit.org/show_bug.cgi?id=179002 |
| https://trac.webkit.org/changeset/232439 |
| |
| 2018-06-01 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Baseline op_jtrue emits an insane amount of code |
| https://bugs.webkit.org/show_bug.cgi?id=185708 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/logical-not-masquerades-as-undefined.js: Added. |
| (shouldBe): |
| (test): |
| * stress/logical-not.js: Added. |
| (shouldBe): |
| (test): |
| |
| 2018-06-02 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Remove WeakReferenceHarvester |
| https://bugs.webkit.org/show_bug.cgi?id=186102 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/create-many-weak-map.js: Added. |
| |
| 2018-06-02 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Object.create should have intrinsic |
| https://bugs.webkit.org/show_bug.cgi?id=186200 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/object-create-null.js: Added. |
| (test): |
| * microbenchmarks/object-create-unknown-object-prototype.js: Added. |
| (test): |
| * microbenchmarks/object-create-untyped-prototype.js: Added. |
| (test): |
| * stress/get-by-pname-only-prototype-properties.js: Added. |
| (foo): |
| * stress/object-create-define.js: Added. |
| (shouldBe): |
| (test): |
| * stress/object-create-null-external.js: Added. |
| (shouldBe): |
| (test): |
| * stress/object-create-null.js: Added. |
| (shouldBe): |
| (test): |
| * stress/object-create-prototype.js: Added. |
| (shouldBe): |
| (test): |
| * stress/object-create-undefined.js: Added. |
| (shouldThrow): |
| (i.shouldThrow): |
| |
| 2018-06-02 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESNext][BigInt] Implement support for addition operations |
| https://bugs.webkit.org/show_bug.cgi?id=179002 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * bigIntTests.yaml: |
| * stress/addition-order-evaluation.js: Added. |
| * stress/big-int-add-wrapped-value.js: Added. |
| * stress/big-int-addition-basic.js: Added. |
| * stress/big-int-addition-jit.js: Added. |
| * stress/big-int-addition-memory-stress.js: Added. |
| * stress/big-int-addition-string-coercion.js: Added. |
| * stress/big-int-addition-to-primitive-precedence.js: Added. |
| * stress/big-int-addition-to-primitive.js: Added. |
| * stress/big-int-addition-type-error.js: Added. |
| * stress/big-int-no-conversion-to-number.js: |
| * stress/big-int-sub-wrapped-value.js: Added. |
| * stress/big-int-subtraction-basic.js: Added. |
| * stress/big-int-subtraction-jit.js: Added. |
| * stress/big-int-subtraction-type-error.js: Added. |
| * stress/sub-order-evaluation.js: Added. |
| |
| 2018-05-29 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Add Symbol.prototype.description getter |
| https://bugs.webkit.org/show_bug.cgi?id=186053 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/symbol-description.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| |
| 2018-05-30 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] InById should be converted to MatchStructure |
| https://bugs.webkit.org/show_bug.cgi?id=185803 |
| |
| Reviewed by Keith Miller. |
| |
| * microbenchmarks/in-by-id-match.js: Added. |
| (test): |
| * microbenchmarks/in-by-id-removed.js: Added. |
| (test): |
| * stress/in-by-id-constant.js: Added. |
| (shouldBe): |
| (test1): |
| * stress/in-by-id-match-invalid.js: Added. |
| (shouldBe): |
| (test1): |
| * stress/in-by-id-match.js: Added. |
| (shouldBe): |
| (test1): |
| |
| 2018-05-31 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESNext][BigInt] Implement support for "=<" and ">=" relational operation |
| https://bugs.webkit.org/show_bug.cgi?id=185929 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * bigIntTests.yaml: |
| * stress/big-int-greater-than-or-equal-jit.js: Added. |
| * stress/big-int-greater-than-or-equal-order-of-evaluation.js: Added. |
| * stress/big-int-greater-than-or-equal-wrapped-values.js: Added. |
| * stress/big-int-greater-than-or-equal.js: Added. |
| * stress/big-int-less-than-or-equal-general.js: Added. |
| * stress/big-int-less-than-or-equal-jit.js: Added. |
| * stress/big-int-less-than-or-equal-order-of-evaluation.js: Added. |
| * stress/big-int-less-than-or-equal-wrapped-values.js: Added. |
| |
| 2018-05-31 Saam Barati <sbarati@apple.com> |
| |
| Cache toString results for CoW arrays |
| https://bugs.webkit.org/show_bug.cgi?id=186160 |
| |
| Reviewed by Keith Miller. |
| |
| * microbenchmarks/to-string-on-cow-array.js: Added. |
| (foo): |
| |
| 2018-05-31 Keith Miller <keith_miller@apple.com> |
| |
| Rebaseline test for change in Error.stack behavior. |
| |
| * stress/error-stack-trace-limit.js: |
| (numberOfFrames): |
| |
| 2018-05-30 Saam Barati <sbarati@apple.com> |
| |
| DFG combined liveness needs to say that the machine CodeBlock's arguments are live |
| https://bugs.webkit.org/show_bug.cgi?id=186121 |
| <rdar://problem/39377796> |
| |
| Reviewed by Keith Miller. |
| |
| * stress/combined-liveness-needs-to-say-arguments-are-live.js: Added. |
| (baz): |
| (foo): |
| |
| 2018-05-30 Keith Miller <keith_miller@apple.com> |
| |
| Unreviewed, uncomment erroneously commented test code. |
| |
| * stress/error-stack-trace-limit.js: |
| |
| 2018-05-30 Keith Miller <keith_miller@apple.com> |
| |
| LLInt get_by_id prototype caching doesn't properly handle changes |
| https://bugs.webkit.org/show_bug.cgi?id=186112 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/llint-proto-get-by-id-cache-change-prototype.js: Added. |
| (foo): |
| * stress/llint-proto-get-by-id-cache-intercept-value.js: Added. |
| (foo): |
| |
| 2018-05-30 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESNext][BigInt] Implement support for "%" operation |
| https://bugs.webkit.org/show_bug.cgi?id=184327 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * bigIntTests.yaml: |
| * stress/big-int-mod-memory-stress.js: Added. |
| * stress/big-int-mod-to-primitive-precedence.js: Added. |
| * stress/big-int-mod-to-primitive.js: Added. |
| * stress/big-int-mod-type-error.js: Added. |
| * stress/big-int-mod-wrapped-value.js: Added. |
| * stress/big-int-mod.js: Added. |
| |
| 2018-05-29 Caitlin Potter <caitp@igalia.com> |
| |
| [JSTests] update test262 expectations after r232261 |
| https://bugs.webkit.org/show_bug.cgi?id=184267 |
| |
| Reviewed by Saam Barati. |
| |
| * test262/expectations.yaml: |
| |
| 2018-05-29 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESNext][BigInt] Implement support for "<" and ">" relational operation |
| https://bugs.webkit.org/show_bug.cgi?id=185379 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/big-int-greater-than-general.js: Added. |
| * stress/big-int-greater-than-jit.js: Added. |
| * stress/big-int-greater-than-order-of-evaluation.js: Added. |
| * stress/big-int-greater-than-wrapped-values.js: Added. |
| * stress/big-int-less-than-general.js: Added. |
| * stress/big-int-less-than-jit.js: Added. |
| * stress/big-int-less-than-order-of-evaluation.js: Added. |
| * stress/big-int-less-than-wrapped-values.js: Added. |
| |
| 2018-05-29 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] Fix Array.prototype.concat fast case when single argument is Proxy |
| https://bugs.webkit.org/show_bug.cgi?id=184267 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/array-concat-fast-spread-proxy.js: Copied from JSTests/stress/array-concat-spread-proxy.js. |
| (arrayEq): |
| (catch): |
| * stress/array-concat-spread-proxy.js: |
| |
| 2018-05-27 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESNext][BigInt] Implement "+" and "-" unary operation |
| https://bugs.webkit.org/show_bug.cgi?id=182214 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/big-int-negate-basic.js: Added. |
| * stress/big-int-negate-jit.js: Added. |
| * stress/big-int-unary-plus.js: Added. |
| |
| 2018-05-26 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Rename Array#flatten to flat |
| https://bugs.webkit.org/show_bug.cgi?id=186012 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/array-flatten.js: |
| (shouldThrow): |
| * test262/expectations.yaml: |
| |
| 2018-05-23 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Upgrade test262 to May 24 version |
| https://bugs.webkit.org/show_bug.cgi?id=185937 |
| |
| Reviewed by Darin Adler. |
| |
| * test262/expectations.yaml: |
| * test262/harness/doneprintHandle.js: |
| (DONE): |
| * test262/latest-changes-summary.txt: |
| * test262/test/annexB/language/eval-code/direct/global-block-decl-eval-global-existing-global-init.js: |
| * test262/test/annexB/language/eval-code/direct/global-block-decl-eval-global-existing-non-enumerable-global-init.js: Added. |
| * test262/test/annexB/language/eval-code/direct/global-if-decl-else-decl-a-eval-global-existing-global-init.js: |
| * test262/test/annexB/language/eval-code/direct/global-if-decl-else-decl-a-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/direct/global-if-decl-else-decl-a-eval-global-existing-global-init.js. |
| * test262/test/annexB/language/eval-code/direct/global-if-decl-else-decl-b-eval-global-existing-global-init.js: |
| * test262/test/annexB/language/eval-code/direct/global-if-decl-else-decl-b-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/direct/global-if-decl-else-decl-b-eval-global-existing-global-init.js. |
| * test262/test/annexB/language/eval-code/direct/global-if-decl-else-stmt-eval-global-existing-global-init.js: |
| * test262/test/annexB/language/eval-code/direct/global-if-decl-else-stmt-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/direct/global-if-decl-else-stmt-eval-global-existing-global-init.js. |
| * test262/test/annexB/language/eval-code/direct/global-if-decl-no-else-eval-global-existing-global-init.js: |
| * test262/test/annexB/language/eval-code/direct/global-if-decl-no-else-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/direct/global-if-decl-no-else-eval-global-existing-global-init.js. |
| * test262/test/annexB/language/eval-code/direct/global-if-stmt-else-decl-eval-global-existing-global-init.js: |
| * test262/test/annexB/language/eval-code/direct/global-if-stmt-else-decl-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/direct/global-if-stmt-else-decl-eval-global-existing-global-init.js. |
| * test262/test/annexB/language/eval-code/direct/global-switch-case-eval-global-existing-global-init.js: |
| * test262/test/annexB/language/eval-code/direct/global-switch-case-eval-global-existing-non-enumerable-global-init.js: Added. |
| * test262/test/annexB/language/eval-code/direct/global-switch-dflt-eval-global-existing-global-init.js: |
| * test262/test/annexB/language/eval-code/direct/global-switch-dflt-eval-global-existing-non-enumerable-global-init.js: Added. |
| * test262/test/annexB/language/eval-code/indirect/global-block-decl-eval-global-existing-global-init.js: |
| * test262/test/annexB/language/eval-code/indirect/global-block-decl-eval-global-existing-non-enumerable-global-init.js: Added. |
| * test262/test/annexB/language/eval-code/indirect/global-if-decl-else-decl-a-eval-global-existing-global-init.js: |
| * test262/test/annexB/language/eval-code/indirect/global-if-decl-else-decl-a-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/indirect/global-if-decl-else-decl-a-eval-global-existing-global-init.js. |
| * test262/test/annexB/language/eval-code/indirect/global-if-decl-else-decl-b-eval-global-existing-global-init.js: |
| * test262/test/annexB/language/eval-code/indirect/global-if-decl-else-decl-b-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/indirect/global-if-decl-else-decl-b-eval-global-existing-global-init.js. |
| * test262/test/annexB/language/eval-code/indirect/global-if-decl-else-stmt-eval-global-existing-global-init.js: |
| * test262/test/annexB/language/eval-code/indirect/global-if-decl-else-stmt-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/indirect/global-if-decl-else-stmt-eval-global-existing-global-init.js. |
| * test262/test/annexB/language/eval-code/indirect/global-if-decl-no-else-eval-global-existing-global-init.js: |
| * test262/test/annexB/language/eval-code/indirect/global-if-decl-no-else-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/indirect/global-if-decl-no-else-eval-global-existing-global-init.js. |
| * test262/test/annexB/language/eval-code/indirect/global-if-stmt-else-decl-eval-global-existing-global-init.js: |
| * test262/test/annexB/language/eval-code/indirect/global-if-stmt-else-decl-eval-global-existing-non-enumerable-global-init.js: Copied from JSTests/test262/test/annexB/language/eval-code/indirect/global-if-stmt-else-decl-eval-global-existing-global-init.js. |
| * test262/test/annexB/language/eval-code/indirect/global-switch-case-eval-global-existing-global-init.js: |
| * test262/test/annexB/language/eval-code/indirect/global-switch-case-eval-global-existing-non-enumerable-global-init.js: Added. |
| * test262/test/annexB/language/eval-code/indirect/global-switch-dflt-eval-global-existing-global-init.js: |
| * test262/test/annexB/language/eval-code/indirect/global-switch-dflt-eval-global-existing-non-enumerable-global-init.js: Added. |
| * test262/test/annexB/language/global-code/block-decl-global-existing-global-init.js: Added. |
| (262.evalScript.f): |
| * test262/test/annexB/language/global-code/block-decl-global-existing-non-enumerable-global-init.js: Added. |
| (262.evalScript.f): |
| * test262/test/annexB/language/global-code/if-decl-else-decl-a-global-existing-global-init.js: Added. |
| (262.evalScript.true.f): |
| (else._f): |
| * test262/test/annexB/language/global-code/if-decl-else-decl-a-global-existing-non-enumerable-global-init.js: Added. |
| (262.evalScript.true.f): |
| (else._f): |
| * test262/test/annexB/language/global-code/if-decl-else-decl-b-global-existing-global-init.js: Added. |
| (262.evalScript.false._f): |
| (else.f): |
| * test262/test/annexB/language/global-code/if-decl-else-decl-b-global-existing-non-enumerable-global-init.js: Added. |
| (262.evalScript.false._f): |
| (else.f): |
| * test262/test/annexB/language/global-code/if-decl-else-stmt-global-existing-global-init.js: Added. |
| (262.evalScript.true.f): |
| * test262/test/annexB/language/global-code/if-decl-else-stmt-global-existing-non-enumerable-global-init.js: Added. |
| (262.evalScript.true.f): |
| * test262/test/annexB/language/global-code/if-decl-no-else-global-existing-global-init.js: Added. |
| (262.evalScript.true.f): |
| * test262/test/annexB/language/global-code/if-decl-no-else-global-existing-non-enumerable-global-init.js: Added. |
| (262.evalScript.true.f): |
| * test262/test/annexB/language/global-code/if-stmt-else-decl-global-existing-global-init.js: Added. |
| (else.f): |
| * test262/test/annexB/language/global-code/if-stmt-else-decl-global-existing-non-enumerable-global-init.js: Added. |
| (else.f): |
| * test262/test/annexB/language/global-code/switch-case-global-existing-global-init.js: Added. |
| (262.evalScript.switch.case.1): |
| (262.evalScript.switch): |
| * test262/test/annexB/language/global-code/switch-case-global-existing-non-enumerable-global-init.js: Added. |
| (262.evalScript.switch.case.1): |
| (262.evalScript.switch): |
| * test262/test/annexB/language/global-code/switch-dflt-global-existing-global-init.js: Added. |
| (262.evalScript.switch.default): |
| (262.evalScript.switch): |
| * test262/test/annexB/language/global-code/switch-dflt-global-existing-non-enumerable-global-init.js: Added. |
| (262.evalScript.switch.default): |
| (262.evalScript.switch): |
| * test262/test/built-ins/Array/prototype/flat/array-like-objects.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/array-like-objects.js. |
| * test262/test/built-ins/Array/prototype/flat/bound-function-call.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/bound-function-call.js. |
| * test262/test/built-ins/Array/prototype/flat/empty-array-elements.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/empty-array-elements.js. |
| * test262/test/built-ins/Array/prototype/flat/empty-object-elements.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/empty-object-elements.js. |
| * test262/test/built-ins/Array/prototype/flat/length.js: Added. |
| * test262/test/built-ins/Array/prototype/flat/name.js: Added. |
| * test262/test/built-ins/Array/prototype/flat/non-numeric-depth-should-not-throw.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/non-numeric-depth-should-not-throw.js. |
| * test262/test/built-ins/Array/prototype/flat/non-object-ctor-throws.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/non-object-ctor-throws.js. |
| * test262/test/built-ins/Array/prototype/flat/null-undefined-elements.js: Added. |
| * test262/test/built-ins/Array/prototype/flat/null-undefined-input-throws.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/null-undefined-input-throws.js. |
| * test262/test/built-ins/Array/prototype/flat/positive-infinity.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/positive-infinity.js. |
| * test262/test/built-ins/Array/prototype/flat/prop-desc.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/prop-desc.js. |
| * test262/test/built-ins/Array/prototype/flat/symbol-object-create-null-depth-throws.js: Renamed from JSTests/test262/test/built-ins/Array/prototype/flatten/symbol-object-create-null-depth-throws.js. |
| * test262/test/built-ins/Array/prototype/flatten/length.js: Removed. |
| * test262/test/built-ins/Array/prototype/flatten/name.js: Removed. |
| * test262/test/built-ins/Array/prototype/flatten/null-undefined-elements.js: Removed. |
| * test262/test/built-ins/AsyncGeneratorPrototype/next/name.js: |
| * test262/test/built-ins/AsyncGeneratorPrototype/return/name.js: |
| * test262/test/built-ins/AsyncGeneratorPrototype/throw/name.js: |
| * test262/test/built-ins/Math/acosh/nan-returns.js: |
| * test262/test/built-ins/Math/asinh/asinh-specialVals.js: |
| * test262/test/built-ins/Math/atanh/atanh-specialVals.js: |
| * test262/test/built-ins/Math/cbrt/cbrt-specialValues.js: |
| * test262/test/built-ins/Math/cbrt/prop-desc.js: |
| * test262/test/built-ins/Math/cosh/cosh-specialVals.js: |
| * test262/test/built-ins/Math/expm1/expm1-specialVals.js: |
| * test262/test/built-ins/Math/log10/Log10-specialVals.js: |
| * test262/test/built-ins/Math/log2/log2-basicTests.js: |
| * test262/test/built-ins/Math/sign/sign-specialVals.js: |
| * test262/test/built-ins/Math/sinh/sinh-specialVals.js: |
| * test262/test/built-ins/Math/tanh/tanh-specialVals.js: |
| * test262/test/built-ins/Math/trunc/trunc-sampleTests.js: |
| * test262/test/built-ins/Math/trunc/trunc-specialVals.js: |
| * test262/test/built-ins/Object/internals/DefineOwnProperty/consistent-value-regexp-dollar1.js: Added. |
| * test262/test/built-ins/Object/internals/DefineOwnProperty/consistent-writable-regexp-dollar1.js: Added. |
| * test262/test/intl402/Intl/getCanonicalLocales/descriptor.js: |
| * test262/test/intl402/Intl/getCanonicalLocales/duplicates.js: |
| * test262/test/intl402/Locale/constructor-getter-order.js: Added. |
| (new.Intl.Locale.toString): |
| (get language): |
| (get script): |
| (get region): |
| (get calendar): |
| (get collation): |
| (get hourCycle): |
| (get caseFirst): |
| (get numeric): |
| (get numberingSystem): |
| * test262/test/intl402/Locale/constructor-locale-object.js: Added. |
| * test262/test/intl402/Locale/constructor-non-iana-canon.js: Added. |
| * test262/test/intl402/Locale/constructor-options-casefirst-invalid.js: Added. |
| (valueOf): |
| (const.invalidCaseFirstOption.of.invalidCaseFirstOptions.new.Intl.Locale): |
| * test262/test/intl402/Locale/constructor-options-casefirst-valid.js: Added. |
| (toString): |
| * test262/test/intl402/Locale/constructor-options-collation-invalid.js: Added. |
| (const.invalidCollationOption.of.invalidCollationOptions.new.Intl.Locale): |
| * test262/test/intl402/Locale/constructor-options-collation-valid.js: Added. |
| * test262/test/intl402/Locale/constructor-options-hourcycle-invalid.js: Added. |
| (const.invalidHourCycleOption.of.invalidHourCycleOptions.new.Intl.Locale): |
| * test262/test/intl402/Locale/constructor-options-hourcycle-valid.js: Added. |
| (toString): |
| * test262/test/intl402/Locale/constructor-options-language-grandfathered.js: Added. |
| * test262/test/intl402/Locale/constructor-options-language-valid.js: |
| (toString): |
| * test262/test/intl402/Locale/constructor-options-numberingsystem-invalid.js: Added. |
| (const.invalidNumberingSystemOption.of.invalidNumberingSystemOptions.new.Intl.Locale): |
| * test262/test/intl402/Locale/constructor-options-numberingsystem-valid.js: Added. |
| * test262/test/intl402/Locale/constructor-options-numeric-valid.js: Added. |
| (valueOf): |
| * test262/test/intl402/Locale/constructor-options-region-valid.js: |
| * test262/test/intl402/Locale/constructor-options-script-valid.js: |
| (toString): |
| * test262/test/intl402/Locale/constructor-parse-twice.js: Added. |
| * test262/test/intl402/Locale/constructor-tag-tostring.js: Added. |
| (CustomError): |
| (WrongCustomError): |
| (const.errors.get Symbol): |
| (throw.new.CustomError): |
| (throw.new.CustomError.get toString): |
| (throw.new.CustomError.get valueOf): |
| (throw.new.WrongCustomError.get valueOf): |
| (throw.new.WrongCustomError): |
| * test262/test/intl402/Locale/constructor-unicode-ext-invalid.js: Added. |
| * test262/test/intl402/Locale/constructor-unicode-ext-valid.js: Added. |
| (canonical.of.Object.entries): |
| * test262/test/intl402/Locale/extensions-grandfathered.js: Added. |
| (of.testData.value.of.Object.entries): |
| * test262/test/intl402/Locale/extensions-private.js: Added. |
| * test262/test/intl402/Locale/getters-grandfathered.js: Added. |
| * test262/test/intl402/Locale/getters-missing.js: Added. |
| * test262/test/intl402/Locale/getters-privateuse.js: Added. |
| * test262/test/intl402/Locale/getters.js: Added. |
| * test262/test/intl402/Locale/invalid-tag-throws-symbol.js: |
| * test262/test/intl402/Locale/likely-subtags-grandfathered.js: Added. |
| * test262/test/intl402/Locale/prop-desc.js: |
| * test262/test/intl402/Locale/prototype/baseName/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/calendar/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/caseFirst/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/collation/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/constructor/prop-desc.js: Copied from JSTests/test262/test/intl402/Locale/prototype/constructor.js. |
| * test262/test/intl402/Locale/prototype/hourCycle/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/language/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/maximize/length.js: |
| * test262/test/intl402/Locale/prototype/maximize/prop-desc.js: |
| * test262/test/intl402/Locale/prototype/minimize/length.js: Copied from JSTests/test262/test/intl402/Locale/prototype/maximize/length.js. |
| * test262/test/intl402/Locale/prototype/minimize/name.js: Added. |
| * test262/test/intl402/Locale/prototype/minimize/prop-desc.js: Copied from JSTests/test262/test/intl402/Locale/prototype/constructor.js. |
| * test262/test/intl402/Locale/prototype/numberingSystem/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/numeric/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/region/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/script/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/toString/prop-desc.js: Renamed from JSTests/test262/test/intl402/Locale/prototype/constructor.js. |
| * test262/test/intl402/Locale/prototype/toStringTag/toStringTag.js: Renamed from JSTests/test262/test/intl402/Locale/prototype/toStringTag.js. |
| * test262/test/intl402/Number/prototype/toLocaleString/length.js: |
| * test262/test/intl402/NumberFormat/length.js: |
| * test262/test/intl402/NumberFormat/name.js: |
| * test262/test/intl402/NumberFormat/prop-desc.js: |
| * test262/test/intl402/PluralRules/length.js: |
| * test262/test/intl402/PluralRules/name.js: |
| * test262/test/intl402/PluralRules/prop-desc.js: Copied from JSTests/test262/test/intl402/NumberFormat/prop-desc.js. |
| * test262/test/language/expressions/addition/bigint-and-number.js: |
| * test262/test/language/expressions/addition/bigint-arithmetic.js: |
| (testAdd): Deleted. |
| * test262/test/language/expressions/addition/bigint-errors.js: |
| (Symbol.toPrimitive): |
| (0n.Symbol.toPrimitive): |
| (valueOf): |
| (0n.valueOf): |
| (toString): |
| (0n.toString): |
| * test262/test/language/expressions/addition/bigint-toprimitive.js: |
| * test262/test/language/expressions/addition/bigint-wrapped-values.js: |
| * test262/test/language/expressions/bitwise-and/bigint-and-number.js: |
| * test262/test/language/expressions/bitwise-and/bigint-errors.js: |
| (Symbol.toPrimitive): |
| (0n.Symbol.toPrimitive): |
| (valueOf): |
| (0n.valueOf): |
| (toString): |
| (0n.toString): |
| * test262/test/language/expressions/bitwise-and/bigint-non-primitive.js: |
| (assert.sameValue.Symbol.toPrimitive): |
| (assert.sameValue.0b011n.Symbol.toPrimitive): |
| (assert.sameValue.valueOf): |
| (assert.sameValue.0b011n.valueOf): |
| (assert.sameValue.toString): |
| (assert.sameValue.0b011n.toString): |
| * test262/test/language/expressions/bitwise-and/bigint-toprimitive.js: |
| * test262/test/language/expressions/bitwise-and/bigint-wrapped-values.js: |
| * test262/test/language/expressions/bitwise-not/bigint-non-primitive.js: |
| (assert.sameValue.Symbol.toPrimitive): |
| (assert.sameValue.valueOf): |
| (assert.sameValue.toString): |
| * test262/test/language/expressions/bitwise-or/bigint-and-number.js: |
| * test262/test/language/expressions/bitwise-or/bigint-errors.js: |
| (Symbol.toPrimitive): |
| (0n.Symbol.toPrimitive): |
| (valueOf): |
| (0n.valueOf): |
| (toString): |
| (0n.toString): |
| * test262/test/language/expressions/bitwise-or/bigint-non-primitive.js: |
| (assert.sameValue.Symbol.toPrimitive): |
| (assert.sameValue.0b011n.Symbol.toPrimitive): |
| (assert.sameValue.valueOf): |
| (assert.sameValue.0b011n.valueOf): |
| (assert.sameValue.toString): |
| (assert.sameValue.0b011n.toString): |
| * test262/test/language/expressions/bitwise-or/bigint-toprimitive.js: |
| * test262/test/language/expressions/bitwise-or/bigint-wrapped-values.js: |
| * test262/test/language/expressions/bitwise-xor/bigint-and-number.js: |
| * test262/test/language/expressions/bitwise-xor/bigint-errors.js: |
| (Symbol.toPrimitive): |
| (0n.Symbol.toPrimitive): |
| (valueOf): |
| (0n.valueOf): |
| (toString): |
| (0n.toString): |
| * test262/test/language/expressions/bitwise-xor/bigint-non-primitive.js: |
| (assert.sameValue.Symbol.toPrimitive): |
| (assert.sameValue.0b011n.Symbol.toPrimitive): |
| (assert.sameValue.valueOf): |
| (assert.sameValue.0b011n.valueOf): |
| (assert.sameValue.toString): |
| (assert.sameValue.0b011n.toString): |
| * test262/test/language/expressions/bitwise-xor/bigint-toprimitive.js: |
| * test262/test/language/expressions/bitwise-xor/bigint-wrapped-values.js: |
| * test262/test/language/expressions/division/bigint-and-number.js: |
| * test262/test/language/expressions/division/bigint-arithmetic.js: |
| (testDiv): Deleted. |
| * test262/test/language/expressions/division/bigint-complex-infinity.js: |
| * test262/test/language/expressions/division/bigint-errors.js: |
| (Symbol.toPrimitive): |
| (0n.Symbol.toPrimitive): |
| (valueOf): |
| (0n.valueOf): |
| (toString): |
| (0n.toString): |
| * test262/test/language/expressions/division/bigint-toprimitive.js: |
| * test262/test/language/expressions/division/bigint-wrapped-values.js: |
| * test262/test/language/expressions/does-not-equals/bigint-and-bigint.js: |
| * test262/test/language/expressions/does-not-equals/bigint-and-boolean.js: |
| * test262/test/language/expressions/does-not-equals/bigint-and-incomparable-primitive.js: |
| * test262/test/language/expressions/does-not-equals/bigint-and-non-finite.js: |
| * test262/test/language/expressions/does-not-equals/bigint-and-number-extremes.js: |
| * test262/test/language/expressions/does-not-equals/bigint-and-number.js: |
| * test262/test/language/expressions/does-not-equals/bigint-and-object.js: |
| (assert.sameValue.0n.valueOf): |
| (assert.sameValue.valueOf): |
| (assert.sameValue.0n.toString): |
| (assert.sameValue.toString): |
| (assert.sameValue.900719925474099101n.valueOf): |
| (assert.sameValue.900719925474099101n.toString): |
| * test262/test/language/expressions/does-not-equals/bigint-and-string.js: |
| * test262/test/language/expressions/equals/bigint-and-bigint.js: |
| * test262/test/language/expressions/equals/bigint-and-boolean.js: |
| * test262/test/language/expressions/equals/bigint-and-incomparable-primitive.js: |
| * test262/test/language/expressions/equals/bigint-and-non-finite.js: |
| * test262/test/language/expressions/equals/bigint-and-number-extremes.js: |
| * test262/test/language/expressions/equals/bigint-and-number.js: |
| * test262/test/language/expressions/equals/bigint-and-object.js: |
| (assert.sameValue.0n.valueOf): |
| (assert.sameValue.valueOf): |
| (assert.sameValue.0n.toString): |
| (assert.sameValue.toString): |
| (assert.sameValue.900719925474099101n.valueOf): |
| (assert.sameValue.900719925474099101n.toString): |
| * test262/test/language/expressions/equals/bigint-and-string.js: |
| * test262/test/language/expressions/exponentiation/bigint-and-number.js: |
| * test262/test/language/expressions/exponentiation/bigint-arithmetic.js: |
| (testExpt): Deleted. |
| * test262/test/language/expressions/exponentiation/bigint-errors.js: |
| (Symbol.toPrimitive): |
| (0n.Symbol.toPrimitive): |
| (valueOf): |
| (0n.valueOf): |
| (toString): |
| (0n.toString): |
| * test262/test/language/expressions/exponentiation/bigint-negative-exponent-throws.js: Renamed from JSTests/test262/test/language/expressions/exponentiation/bigint-exp-operator-negative-throws.js. |
| * test262/test/language/expressions/exponentiation/bigint-toprimitive.js: |
| * test262/test/language/expressions/exponentiation/bigint-wrapped-values.js: |
| * test262/test/language/expressions/exponentiation/bigint-zero-base-zero-exponent.js: |
| * test262/test/language/expressions/greater-than-or-equal/bigint-and-bigint.js: |
| * test262/test/language/expressions/greater-than-or-equal/bigint-and-incomparable-string.js: |
| * test262/test/language/expressions/greater-than-or-equal/bigint-and-non-finite.js: |
| * test262/test/language/expressions/greater-than-or-equal/bigint-and-number-extremes.js: |
| * test262/test/language/expressions/greater-than-or-equal/bigint-and-number.js: |
| * test262/test/language/expressions/greater-than-or-equal/bigint-and-string.js: |
| * test262/test/language/expressions/greater-than/11.8.2-1.js: |
| (obj1.valueOf): |
| (obj2.valueOf): |
| * test262/test/language/expressions/greater-than/11.8.2-2.js: |
| (obj1.valueOf): |
| (obj2.toString): |
| * test262/test/language/expressions/greater-than/11.8.2-3.js: |
| (obj1.toString): |
| (obj2.valueOf): |
| * test262/test/language/expressions/greater-than/11.8.2-4.js: |
| (obj1.toString): |
| (obj2.toString): |
| * test262/test/language/expressions/greater-than/bigint-and-bigint.js: |
| * test262/test/language/expressions/greater-than/bigint-and-boolean.js: |
| * test262/test/language/expressions/greater-than/bigint-and-incomparable-string.js: |
| * test262/test/language/expressions/greater-than/bigint-and-non-finite.js: |
| * test262/test/language/expressions/greater-than/bigint-and-number-extremes.js: |
| * test262/test/language/expressions/greater-than/bigint-and-number.js: |
| * test262/test/language/expressions/greater-than/bigint-and-string.js: |
| * test262/test/language/expressions/greater-than/bigint-and-symbol.js: Added. |
| * test262/test/language/expressions/left-shift/bigint-and-number.js: |
| * test262/test/language/expressions/left-shift/bigint-errors.js: |
| (Symbol.toPrimitive): |
| (0n.Symbol.toPrimitive): |
| (valueOf): |
| (0n.valueOf): |
| (toString): |
| (0n.toString): |
| * test262/test/language/expressions/left-shift/bigint-non-primitive.js: |
| (assert.sameValue.Symbol.toPrimitive): |
| (assert.sameValue.valueOf): |
| (assert.sameValue.toString): |
| (assert.sameValue.0b101n.Symbol.toPrimitive): |
| (assert.sameValue.0b101n.valueOf): |
| (assert.sameValue.0b101n.toString): |
| (valueOf): |
| * test262/test/language/expressions/left-shift/bigint-toprimitive.js: |
| * test262/test/language/expressions/left-shift/bigint-wrapped-values.js: |
| * test262/test/language/expressions/less-than-or-equal/11.8.3-1.js: |
| (obj1.valueOf): |
| (obj2.valueOf): |
| * test262/test/language/expressions/less-than-or-equal/11.8.3-2.js: |
| (obj1.valueOf): |
| (obj2.toString): |
| * test262/test/language/expressions/less-than-or-equal/11.8.3-3.js: |
| (obj1.toString): |
| (obj2.valueOf): |
| * test262/test/language/expressions/less-than-or-equal/11.8.3-4.js: |
| (obj1.toString): |
| (obj2.toString): |
| * test262/test/language/expressions/less-than-or-equal/11.8.3-5.js: Removed. |
| * test262/test/language/expressions/less-than-or-equal/bigint-and-bigint.js: |
| * test262/test/language/expressions/less-than-or-equal/bigint-and-incomparable-string.js: |
| * test262/test/language/expressions/less-than-or-equal/bigint-and-non-finite.js: |
| * test262/test/language/expressions/less-than-or-equal/bigint-and-number-extremes.js: |
| * test262/test/language/expressions/less-than-or-equal/bigint-and-number.js: |
| * test262/test/language/expressions/less-than-or-equal/bigint-and-string.js: |
| * test262/test/language/expressions/less-than/bigint-and-bigint.js: |
| * test262/test/language/expressions/less-than/bigint-and-boolean.js: |
| * test262/test/language/expressions/less-than/bigint-and-incomparable-string.js: |
| * test262/test/language/expressions/less-than/bigint-and-non-finite.js: |
| * test262/test/language/expressions/less-than/bigint-and-number-extremes.js: |
| * test262/test/language/expressions/less-than/bigint-and-number.js: |
| * test262/test/language/expressions/less-than/bigint-and-string.js: |
| * test262/test/language/expressions/less-than/bigint-and-symbol.js: Added. |
| * test262/test/language/expressions/modulus/bigint-and-number.js: |
| * test262/test/language/expressions/modulus/bigint-arithmetic.js: |
| (testMod): Deleted. |
| * test262/test/language/expressions/modulus/bigint-errors.js: |
| (Symbol.toPrimitive): |
| (0n.Symbol.toPrimitive): |
| (valueOf): |
| (0n.valueOf): |
| (toString): |
| (0n.toString): |
| * test262/test/language/expressions/modulus/bigint-modulo-zero.js: |
| * test262/test/language/expressions/modulus/bigint-toprimitive.js: |
| * test262/test/language/expressions/modulus/bigint-wrapped-values.js: |
| * test262/test/language/expressions/multiplication/bigint-and-number.js: |
| * test262/test/language/expressions/multiplication/bigint-arithmetic.js: |
| (testMul): Deleted. |
| * test262/test/language/expressions/multiplication/bigint-errors.js: |
| (Symbol.toPrimitive): |
| (0n.Symbol.toPrimitive): |
| (valueOf): |
| (0n.valueOf): |
| (toString): |
| (0n.toString): |
| * test262/test/language/expressions/multiplication/bigint-toprimitive.js: |
| * test262/test/language/expressions/multiplication/bigint-wrapped-values.js: |
| * test262/test/language/expressions/right-shift/bigint-and-number.js: |
| * test262/test/language/expressions/right-shift/bigint-errors.js: |
| (Symbol.toPrimitive): |
| (0n.Symbol.toPrimitive): |
| (valueOf): |
| (0n.valueOf): |
| (toString): |
| (0n.toString): |
| * test262/test/language/expressions/right-shift/bigint-non-primitive.js: |
| (assert.sameValue.Symbol.toPrimitive): |
| (assert.sameValue.valueOf): |
| (assert.sameValue.toString): |
| (assert.sameValue.0b101n.Symbol.toPrimitive): |
| (assert.sameValue.0b101n.valueOf): |
| (assert.sameValue.0b101n.toString): |
| (valueOf): |
| * test262/test/language/expressions/right-shift/bigint-toprimitive.js: |
| * test262/test/language/expressions/right-shift/bigint-wrapped-values.js: |
| * test262/test/language/expressions/strict-does-not-equals/bigint-and-bigint.js: |
| * test262/test/language/expressions/strict-does-not-equals/bigint-and-boolean.js: |
| * test262/test/language/expressions/strict-does-not-equals/bigint-and-incomparable-primitive.js: |
| * test262/test/language/expressions/strict-does-not-equals/bigint-and-non-finite.js: |
| * test262/test/language/expressions/strict-does-not-equals/bigint-and-number-extremes.js: |
| * test262/test/language/expressions/strict-does-not-equals/bigint-and-number.js: |
| * test262/test/language/expressions/strict-does-not-equals/bigint-and-object.js: |
| (assert.sameValue.0n.valueOf): |
| (assert.sameValue.valueOf): |
| (assert.sameValue.0n.toString): |
| (assert.sameValue.toString): |
| (assert.sameValue.900719925474099101n.valueOf): |
| (assert.sameValue.900719925474099101n.toString): |
| * test262/test/language/expressions/strict-does-not-equals/bigint-and-string.js: |
| * test262/test/language/expressions/strict-equals/bigint-and-bigint.js: |
| * test262/test/language/expressions/strict-equals/bigint-and-boolean.js: |
| * test262/test/language/expressions/strict-equals/bigint-and-incomparable-primitive.js: |
| * test262/test/language/expressions/strict-equals/bigint-and-non-finite.js: |
| * test262/test/language/expressions/strict-equals/bigint-and-number-extremes.js: |
| * test262/test/language/expressions/strict-equals/bigint-and-number.js: |
| * test262/test/language/expressions/strict-equals/bigint-and-object.js: |
| (assert.sameValue.0n.valueOf): |
| (assert.sameValue.valueOf): |
| (assert.sameValue.0n.toString): |
| (assert.sameValue.toString): |
| (assert.sameValue.900719925474099101n.valueOf): |
| (assert.sameValue.900719925474099101n.toString): |
| * test262/test/language/expressions/strict-equals/bigint-and-string.js: |
| * test262/test/language/expressions/subtraction/bigint-and-number.js: |
| * test262/test/language/expressions/subtraction/bigint-arithmetic.js: |
| (testSub): Deleted. |
| * test262/test/language/expressions/subtraction/bigint-errors.js: |
| (Symbol.toPrimitive): |
| (0n.Symbol.toPrimitive): |
| (valueOf): |
| (0n.valueOf): |
| (toString): |
| (0n.toString): |
| * test262/test/language/expressions/subtraction/bigint-toprimitive.js: |
| * test262/test/language/expressions/subtraction/bigint-wrapped-values.js: |
| * test262/test/language/expressions/unary-minus/bigint-non-primitive.js: |
| (assert.sameValue.Symbol.toPrimitive): |
| (assert.sameValue.valueOf): |
| (assert.sameValue.toString): |
| * test262/test/language/expressions/unary-plus/bigint-throws.js: |
| * test262/test/language/expressions/unsigned-right-shift/bigint-and-number.js: |
| * test262/test/language/expressions/unsigned-right-shift/bigint-errors.js: |
| (Symbol.toPrimitive): |
| (0n.Symbol.toPrimitive): |
| (valueOf): |
| (0n.valueOf): |
| (toString): |
| (0n.toString): |
| * test262/test/language/expressions/unsigned-right-shift/bigint-non-primitive.js: |
| (Symbol.toPrimitive): |
| (valueOf): |
| (toString): |
| (0b101n.Symbol.toPrimitive): |
| (0b101n.valueOf): |
| (0b101n.toString): |
| (valueOf.valueOf): |
| * test262/test/language/expressions/unsigned-right-shift/bigint-toprimitive.js: |
| * test262/test/language/expressions/unsigned-right-shift/bigint-wrapped-values.js: |
| * test262/test/language/literals/numeric/numeric-followed-by-ident.js: Added. |
| * test262/test/language/literals/string/line-continuation-double.js: Added. |
| * test262/test/language/literals/string/line-continuation-single.js: Added. |
| * test262/test262-Revision.txt: |
| |
| 2018-05-25 Mark Lam <mark.lam@apple.com> |
| |
| for-in loops should preserve and restore the TDZ stack for each of its internal loops. |
| https://bugs.webkit.org/show_bug.cgi?id=185995 |
| <rdar://problem/40173142> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-185995.js: Added. |
| |
| 2018-05-23 Keith Miller <keith_miller@apple.com> |
| |
| Define length on CoW array should properly convert to writable |
| https://bugs.webkit.org/show_bug.cgi?id=185927 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/cow-define-length-as-value.js: Added. |
| (test): |
| |
| 2018-05-23 Michael Saboff <msaboff@apple.com> |
| |
| Date.parse() doesn't properly handle input outside of ES Spec limits |
| https://bugs.webkit.org/show_bug.cgi?id=185868 |
| |
| Reviewed by Mark Lam. |
| |
| New test. |
| |
| * stress/date-parse-ranges.js: Added. |
| (shouldBe): |
| (throw.new.Error): |
| (shouldBeNaN): |
| |
| 2018-05-23 Rick Waldron <waldron.rick@gmail.com> |
| |
| Conversion misspelled "Convertion" in error message string |
| https://bugs.webkit.org/show_bug.cgi?id=185436 |
| |
| Reviewed by Saam Barati, Michael Saboff. |
| |
| * bigIntTests.yaml: |
| |
| 2018-05-23 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, skip test if memoryLimited is specified |
| https://bugs.webkit.org/show_bug.cgi?id=185888 |
| |
| * stress/regress-185888.js: |
| |
| 2018-05-22 Mark Lam <mark.lam@apple.com> |
| |
| BytecodeGeneratorification shouldn't add a ValueProfile if the JIT is disabled. |
| https://bugs.webkit.org/show_bug.cgi?id=185896 |
| <rdar://problem/40471403> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-185896.js: Added. |
| |
| 2018-05-22 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Fix CachedCall's argument count if RegExp has named captures |
| https://bugs.webkit.org/show_bug.cgi?id=185587 |
| |
| Reviewed by Mark Lam. |
| |
| * test262/expectations.yaml: |
| |
| 2018-05-22 Mark Lam <mark.lam@apple.com> |
| |
| StringImpl utf8 conversion should not fail silently. |
| https://bugs.webkit.org/show_bug.cgi?id=185888 |
| <rdar://problem/40464506> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/regress-185888.js: Added. |
| |
| 2018-05-22 Keith Miller <keith_miller@apple.com> |
| |
| We should have a CoW storage for NewArrayBuffer arrays. |
| https://bugs.webkit.org/show_bug.cgi?id=185003 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/cow-convert-contiguous-to-array-storage.js: Added. |
| (createBuffer): |
| (shouldBe): |
| (test): |
| * stress/cow-convert-double-to-array-storage.js: Added. |
| (createBuffer): |
| (shouldBe): |
| (test): |
| * stress/cow-convert-double-to-contiguous.js: Added. |
| (createBuffer): |
| (shouldBe): |
| (test): |
| * stress/cow-convert-int32-to-array-storage.js: Added. |
| (createBuffer): |
| (shouldBe): |
| (test): |
| * stress/cow-convert-int32-to-contiguous.js: Added. |
| (createBuffer): |
| (shouldBe): |
| (test): |
| * stress/cow-convert-int32-to-double.js: Added. |
| (createBuffer): |
| (shouldBe): |
| (test): |
| * stress/put-on-cow-prototype.js: Added. |
| (putByVal): |
| (putById): |
| |
| 2018-05-21 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, reland InById cache |
| https://bugs.webkit.org/show_bug.cgi?id=185682 |
| |
| * stress/in-by-id-accessors.js: Added. |
| (shouldBe): |
| (test): |
| (protoGetter.__proto__.get hello): |
| (protoSetter.__proto__.set hello): |
| (i.shouldBe.test.get hello): |
| (i.shouldBe.test.set hello): |
| * stress/in-by-id-ai.js: Added. |
| (shouldBe): |
| (test): |
| * stress/in-by-id-custom-accessors.js: Added. |
| (shouldBe): |
| (test1): |
| (test2): |
| * stress/in-by-id-custom-values.js: Added. |
| (shouldBe): |
| (test): |
| * stress/in-by-id-operation.js: Added. |
| (shouldBe): |
| (test): |
| (selfCache): |
| * stress/in-by-id-proxy.js: Added. |
| (shouldBe): |
| (test): |
| (handler.has): |
| |
| 2018-05-21 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r231998 and r232017. |
| https://bugs.webkit.org/show_bug.cgi?id=185842 |
| |
| causes crashes on 32 JSC bot (Requested by realdawei on |
| #webkit). |
| |
| Reverted changesets: |
| |
| "[JSC] JSC should have consistent InById IC" |
| https://bugs.webkit.org/show_bug.cgi?id=185682 |
| https://trac.webkit.org/changeset/231998 |
| |
| "Unreviewed, fix 32bit and scope release" |
| https://bugs.webkit.org/show_bug.cgi?id=185682 |
| https://trac.webkit.org/changeset/232017 |
| |
| 2018-05-19 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] JSC should have consistent InById IC |
| https://bugs.webkit.org/show_bug.cgi?id=185682 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/in-by-id-accessors.js: Added. |
| (shouldBe): |
| (test): |
| (protoGetter.__proto__.get hello): |
| (protoSetter.__proto__.set hello): |
| (i.shouldBe.test.get hello): |
| (i.shouldBe.test.set hello): |
| * stress/in-by-id-ai.js: Added. |
| (shouldBe): |
| (test): |
| * stress/in-by-id-custom-accessors.js: Added. |
| (shouldBe): |
| (test1): |
| (test2): |
| * stress/in-by-id-custom-values.js: Added. |
| (shouldBe): |
| (test): |
| * stress/in-by-id-operation.js: Added. |
| (shouldBe): |
| (test): |
| (selfCache): |
| * stress/in-by-id-proxy.js: Added. |
| (shouldBe): |
| (test): |
| (handler.has): |
| |
| 2018-05-18 Keith Miller <keith_miller@apple.com> |
| |
| op_in should mark if it sees out of bounds accesses |
| https://bugs.webkit.org/show_bug.cgi?id=185792 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/has-indexed-property-array-storage-ftl.js: |
| (test2): |
| * stress/has-indexed-property-slow-put-array-storage-ftl.js: |
| (test2): |
| |
| 2018-05-18 Mark Lam <mark.lam@apple.com> |
| |
| Add missing exception check. |
| https://bugs.webkit.org/show_bug.cgi?id=185786 |
| <rdar://problem/35686560> |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/regress-185786.js: Added. |
| |
| 2018-05-16 Filip Pizlo <fpizlo@apple.com> |
| |
| JSC should have InstanceOf inline caching |
| https://bugs.webkit.org/show_bug.cgi?id=185652 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/instanceof-always-hit-one.js: Added. |
| * microbenchmarks/instanceof-always-hit-two.js: Added. |
| * microbenchmarks/instanceof-dynamic.js: Added. |
| * microbenchmarks/instanceof-sometimes-hit.js: Added. |
| * stress/instanceof-dynamic-proxy-check-structure.js: Added. |
| * stress/instanceof-dynamic-proxy-loop.js: Added. |
| * stress/instanceof-dynamic-proxy.js: Added. |
| * stress/instanceof-hit-one-object-then-another.js: Added. |
| * stress/instanceof-hit-two-objects-then-another.js: Added. |
| * stress/instanceof-prototype-change.js: Added. |
| * stress/instanceof-prototype-change-to-hit.js: Added. |
| * stress/instanceof-prototype-change-to-null.js: Added. |
| * stress/instanceof-prototype-change-watchpointable.js: Added. |
| |
| 2018-05-17 Michael Saboff <msaboff@apple.com> |
| |
| We don't throw SyntaxErrors for runtime generated regular expressions with errors |
| https://bugs.webkit.org/show_bug.cgi?id=185755 |
| |
| Reviewed by Keith Miller. |
| |
| New regression test. |
| |
| * stress/regexp-with-runtime-syntax-errors.js: Added. |
| (testThrowsSyntaxtError): |
| (fromExecWithBadUnicodeEscape): |
| (fromTestWithBadUnicodeProperty): |
| (fromSplitWithBadUnicodeIdentity): |
| (fromMatchWithBadUnicodeBackReference): |
| (fromReplaceWithBadUnicodeEscape): |
| (fromSearchWithBadUnicodeEscape): |
| |
| 2018-05-16 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESNext][BigInt] Implement support for "/" operation |
| https://bugs.webkit.org/show_bug.cgi?id=183996 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * bigIntTests.yaml: |
| * stress/big-int-div-jit.js: Added. |
| * stress/big-int-div-memory-stress.js: Added. |
| * stress/big-int-div-to-primitive-precedence.js: Added. |
| * stress/big-int-div-to-primitive.js: Added. |
| * stress/big-int-div-type-error.js: Added. |
| * stress/big-int-div-wrapped-value.js: Added. |
| * stress/big-int-division.js: Added. |
| |
| 2018-05-16 Saam Barati <sbarati@apple.com> |
| |
| Constant fold CheckTypeInfoFlags on ImplementsDefaultHasInstance |
| https://bugs.webkit.org/show_bug.cgi?id=185670 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * microbenchmarks/constant-fold-check-type-info-flags.js: Added. |
| * stress/dont-constant-fold-check-type-info-on-bound-function.js: Added. |
| |
| 2018-05-16 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r231845. |
| https://bugs.webkit.org/show_bug.cgi?id=185702 |
| |
| it is breaking Apple High Sierra 32-bit JSC bot (Requested by |
| caiolima on #webkit). |
| |
| Reverted changeset: |
| |
| "[ESNext][BigInt] Implement support for "/" operation" |
| https://bugs.webkit.org/show_bug.cgi?id=183996 |
| https://trac.webkit.org/changeset/231845 |
| |
| 2018-05-16 Filip Pizlo <fpizlo@apple.com> |
| |
| DFG models InstanceOf incorrectly |
| https://bugs.webkit.org/show_bug.cgi?id=185694 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/instanceof-proxy-check-structure.js: Added. |
| (Foo): |
| (Bar): |
| (doBadThings): |
| (getPrototypeOf): |
| (foo): |
| (i.new.Bar): |
| (new.Bar): |
| * stress/instanceof-proxy-loop.js: Added. |
| (Foo): |
| (Bar): |
| (doBadThings): |
| (getPrototypeOf): |
| (foo): |
| * stress/instanceof-proxy.js: Added. |
| (Foo): |
| (Bar): |
| (doBadThings): |
| (getPrototypeOf): |
| (foo): |
| |
| 2018-05-16 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESNext][BigInt] Implement support for "/" operation |
| https://bugs.webkit.org/show_bug.cgi?id=183996 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * bigIntTests.yaml: |
| * stress/big-int-div-jit.js: Added. |
| * stress/big-int-div-memory-stress.js: Added. |
| * stress/big-int-div-to-primitive-precedence.js: Added. |
| * stress/big-int-div-to-primitive.js: Added. |
| * stress/big-int-div-type-error.js: Added. |
| * stress/big-int-div-wrapped-value.js: Added. |
| * stress/big-int-division.js: Added. |
| |
| 2018-05-14 Leo Balter <leonardo.balter@gmail.com> |
| |
| Fix a legacy CRLF eol from Test262 |
| https://bugs.webkit.org/show_bug.cgi?id=185565 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * test262/config.yaml: |
| * test262/test/built-ins/Math/cbrt/prop-desc.js: |
| |
| 2018-05-14 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] timeClip(-0) should produce +0 |
| https://bugs.webkit.org/show_bug.cgi?id=185589 |
| |
| Reviewed by Saam Barati. |
| |
| Fix several test262 failures. |
| |
| * stress/date-negative-zero.js: Added. |
| (shouldBe): |
| * test262/expectations.yaml: |
| |
| 2018-05-13 Caio Lima <ticaiolima@gmail.com> |
| |
| [BigInt] stress/big-int-spec-to-primitive.js test is failing |
| https://bugs.webkit.org/show_bug.cgi?id=185582 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| This patch is removing the use of ```numberOfDFGCompiles``` from |
| stress/big-int-spec-to-primitive.js because it makes this est fail |
| sometimes. |
| |
| * stress/big-int-spec-to-primitive.js: |
| |
| 2018-05-13 Andy VanWagoner <andy@vanwagoner.family> |
| |
| [INTL] Improve spec & test262 compliance for Intl APIs |
| https://bugs.webkit.org/show_bug.cgi?id=185578 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Remove intl402 failures that have been fixed. |
| |
| * test262/expectations.yaml: |
| * stress/regress-178385.js: toStringTag is configurable, but not writable. |
| |
| 2018-05-11 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESNext][BigInt] Implement support for "*" operation |
| https://bugs.webkit.org/show_bug.cgi?id=183721 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * bigIntTests.yaml: |
| * stress/big-int-mul-jit.js: Added. |
| * stress/big-int-mul-to-primitive-precedence.js: Added. |
| * stress/big-int-mul-to-primitive.js: Added. |
| * stress/big-int-mul-type-error.js: Added. |
| * stress/big-int-mul-wrapped-value.js: Added. |
| * stress/big-int-multiplication.js: Added. |
| * stress/big-int-multiply-memory-stress.js: Added. |
| |
| 2018-05-11 Michael Saboff <msaboff@apple.com> |
| |
| [DFG] Compiler uses incorrect output register for NumberIsInteger operation |
| https://bugs.webkit.org/show_bug.cgi?id=185328 |
| |
| Reviewed by Keith Miller. |
| |
| New regression test. |
| |
| * stress/isInteger-doesnt-overwrite-argument.js: Added. |
| (testIsInteger): |
| |
| 2018-05-09 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Object.assign for final objects should be faster |
| https://bugs.webkit.org/show_bug.cgi?id=185348 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/object-assign-fast-path.js: Added. |
| (shouldBe): |
| (checkProperty): |
| |
| 2018-05-10 Leo Balter <leonardo.balter@gmail.com> |
| |
| Update Test262 tests through the new import script - 20180509 |
| https://bugs.webkit.org/show_bug.cgi?id=185482 |
| |
| Reviewed by Michael Saboff. |
| |
| Also update the test262/expecatations.yaml with the recent imported files. |
| |
| * test262/expectations.yaml: |
| * test262/harness/compareIterator.js: Added. |
| (assert.compareIterator): |
| * test262/harness/nativeFunctionMatcher.js: |
| (const.assertToStringOrNativeFunction): |
| (const.assertNativeFunction): |
| * test262/harness/regExpUtils.js: |
| * test262/harness/testIntl.js: |
| (getInvalidLanguageTags): |
| * test262/harness/testTypedArray.js: |
| * test262/harness/wellKnownIntrinsicObjects.js: Added. |
| (WellKnownIntrinsicObjects.forEach.wkio.catch): |
| * test262/latest-changes-summary.txt: Added. |
| * test262/test/annexB/language/eval-code/direct/block-decl-nostrict.js: Copied from JSTests/test262/test/language/eval-code/direct/block-decl-strict-caller.js. |
| (catch): |
| * test262/test/annexB/language/eval-code/direct/switch-case-decl-nostrict.js: Copied from JSTests/test262/test/language/eval-code/direct/switch-case-decl-strict-source.js. |
| (catch): |
| * test262/test/annexB/language/eval-code/direct/switch-dflt-decl-nostrict.js: Copied from JSTests/test262/test/language/eval-code/direct/switch-dflt-decl-strict-caller.js. |
| (catch): |
| * test262/test/annexB/language/function-code/block-decl-nested-blocks-with-fun-decl.js: Added. |
| (g.f): |
| (g): |
| * test262/test/annexB/language/function-code/block-decl-nostrict.js: Copied from JSTests/test262/test/language/function-code/block-decl-strict.js. |
| (catch): |
| (f): |
| * test262/test/annexB/language/function-code/switch-case-decl-nostrict.js: Copied from JSTests/test262/test/language/function-code/switch-case-decl-strict.js. |
| (catch): |
| (switch.case.1): |
| (switch): |
| * test262/test/annexB/language/function-code/switch-dflt-decl-nostrict.js: Copied from JSTests/test262/test/language/function-code/switch-dflt-decl-strict.js. |
| (catch): |
| (switch.default): |
| (switch): |
| * test262/test/built-ins/Array/prototype/filter/target-array-with-non-writable-property.js: Added. |
| (a.Symbol.species): |
| (r.a.filter): |
| * test262/test/built-ins/Array/prototype/indexOf/calls-only-has-on-prototype-after-length-zeroed.js: Added. |
| (allowProxyTraps.has): |
| (fromIndex.valueOf): |
| * test262/test/built-ins/Array/prototype/lastIndexOf/calls-only-has-on-prototype-after-length-zeroed.js: Added. |
| (allowProxyTraps.has): |
| (fromIndex.valueOf): |
| * test262/test/built-ins/Array/prototype/map/target-array-with-non-writable-property.js: Added. |
| (a.Symbol.species): |
| (r.a.map): |
| * test262/test/built-ins/Array/prototype/slice/target-array-with-non-writable-property.js: Added. |
| (a.Symbol.species): |
| * test262/test/built-ins/Array/prototype/splice/property-traps-order-with-species.js: Added. |
| (a.Symbol.species): |
| * test262/test/built-ins/Array/prototype/splice/target-array-with-non-writable-property.js: Added. |
| (a.Symbol.species): |
| * test262/test/built-ins/Atomics/Symbol.toStringTag.js: |
| * test262/test/built-ins/Atomics/add/bad-range.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/add/good-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/add/non-views.js: |
| * test262/test/built-ins/Atomics/add/nonshared-int-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/add/shared-nonint-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/and/bad-range.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/and/good-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/and/non-views.js: |
| * test262/test/built-ins/Atomics/and/nonshared-int-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/and/shared-nonint-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/compareExchange/bad-range.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/compareExchange/good-views.js: |
| (testWithTypedArrayConstructors): |
| (view): Deleted. |
| * test262/test/built-ins/Atomics/compareExchange/non-views.js: |
| * test262/test/built-ins/Atomics/compareExchange/nonshared-int-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/compareExchange/shared-nonint-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/exchange/bad-range.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/exchange/good-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/exchange/non-views.js: |
| * test262/test/built-ins/Atomics/exchange/nonshared-int-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/exchange/shared-nonint-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/isLockFree/corner-cases.js: |
| (hide): |
| * test262/test/built-ins/Atomics/isLockFree/value.js: |
| (testIsLockFree): Deleted. |
| * test262/test/built-ins/Atomics/load/bad-range.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/load/good-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/load/non-views.js: |
| * test262/test/built-ins/Atomics/load/nonshared-int-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/load/shared-nonint-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/or/bad-range.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/or/good-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/or/non-views.js: |
| * test262/test/built-ins/Atomics/or/nonshared-int-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/or/shared-nonint-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/prop-desc.js: |
| * test262/test/built-ins/Atomics/proto.js: |
| * test262/test/built-ins/Atomics/store/bad-range.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/store/good-views.js: |
| (testWithTypedArrayConstructors): |
| (ToInteger): |
| * test262/test/built-ins/Atomics/store/non-views.js: |
| * test262/test/built-ins/Atomics/store/nonshared-int-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/store/shared-nonint-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/sub/bad-range.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/sub/good-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/sub/non-views.js: |
| * test262/test/built-ins/Atomics/sub/nonshared-int-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/sub/shared-nonint-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/wait/bad-range.js: Copied from JSTests/test262/test/built-ins/Atomics/wake/bad-range.js. |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/wait/cannot-suspend-throws.js: |
| * test262/test/built-ins/Atomics/wait/did-timeout.js: |
| (getReport): |
| * test262/test/built-ins/Atomics/wait/false-for-timeout-agent.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/false-for-timeout.js. |
| (getReport): |
| (262.agent.start.valueOf.valueOf): |
| (toPrimitive.Symbol.toPrimitive): |
| (262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wait/false-for-timeout.js: |
| (valueOf.valueOf): |
| (toPrimitive.Symbol.toPrimitive): |
| (getReport): Deleted. |
| (262.agent.start.262.agent.receiveBroadcast): Deleted. |
| * test262/test/built-ins/Atomics/wait/good-views.js: |
| (r.getReport): |
| (getReport): |
| * test262/test/built-ins/Atomics/wait/nan-for-timeout.js: |
| (getReport): |
| * test262/test/built-ins/Atomics/wait/negative-index-throws.js: |
| * test262/test/built-ins/Atomics/wait/negative-timeout-agent.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/negative-timeout.js. |
| (getReport): |
| (262.agent.start.262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wait/negative-timeout.js: |
| (262.agent.start.262.agent.receiveBroadcast): Deleted. |
| (getReport): Deleted. |
| * test262/test/built-ins/Atomics/wait/no-spurious-wakeup.js: |
| (getReport): |
| * test262/test/built-ins/Atomics/wait/non-int32-typedarray-throws.js: |
| * test262/test/built-ins/Atomics/wait/non-shared-bufferdata-throws.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/nonshared-bufferdata-throws.js. |
| * test262/test/built-ins/Atomics/wait/not-a-typedarray-throws.js: |
| * test262/test/built-ins/Atomics/wait/not-an-object-throws.js: |
| * test262/test/built-ins/Atomics/wait/null-bufferdata-throws.js: |
| * test262/test/built-ins/Atomics/wait/null-for-timeout-agent.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/false-for-timeout.js. |
| (getReport): |
| (262.agent.start.valueOf.valueOf): |
| (toPrimitive.Symbol.toPrimitive): |
| (262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wait/null-for-timeout.js: |
| (valueOf.valueOf): |
| (toPrimitive.Symbol.toPrimitive): |
| (getReport): Deleted. |
| (262.agent.start.262.agent.receiveBroadcast): Deleted. |
| * test262/test/built-ins/Atomics/wait/object-for-timeout-agent.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/false-for-timeout.js. |
| (getReport): |
| (262.agent.start.valueOf.valueOf): |
| (toString.toString): |
| (toPrimitive.Symbol.toPrimitive): |
| (262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wait/object-for-timeout.js: |
| (valueOf.valueOf): |
| (toString.toString): |
| (toPrimitive.Symbol.toPrimitive): |
| (getReport): Deleted. |
| (262.agent.start.262.agent.receiveBroadcast): Deleted. |
| * test262/test/built-ins/Atomics/wait/out-of-range-index-throws.js: |
| * test262/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws-agent.js: Added. |
| (getReport): |
| (262.agent.start.poisonedValueOf.valueOf): |
| (poisonedToPrimitive.Symbol.toPrimitive): |
| (262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wait/poisoned-object-for-timeout-throws.js: |
| (poisonedValueOf.valueOf): |
| (poisonedToPrimitive.Symbol.toPrimitive): |
| (getReport): Deleted. |
| (262.agent.start.262.agent.receiveBroadcast): Deleted. |
| * test262/test/built-ins/Atomics/wait/symbol-for-index-throws-agent.js: Added. |
| (getReport): |
| (262.agent.start.poisonedValueOf.valueOf): |
| (poisonedToPrimitive.Symbol.toPrimitive): |
| (262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wait/symbol-for-index-throws.js: |
| (poisonedToPrimitive.Symbol.toPrimitive): |
| (poisoned.valueOf): Deleted. |
| (poisonedWithString.get valueOf): Deleted. |
| (poisonedToPrimitive.get Symbol): Deleted. |
| * test262/test/built-ins/Atomics/wait/symbol-for-timeout-throws-agent.js: Added. |
| (getReport): |
| (262.agent.start.262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wait/symbol-for-timeout-throws.js: |
| (poisonedValueOf.valueOf): |
| (poisonedToPrimitive.Symbol.toPrimitive): |
| (getReport): Deleted. |
| (262.agent.start.262.agent.receiveBroadcast): Deleted. |
| * test262/test/built-ins/Atomics/wait/symbol-for-value-throws-agent.js: Added. |
| (getReport): |
| (262.agent.start.poisonedValueOf.valueOf): |
| (poisonedToPrimitive.Symbol.toPrimitive): |
| (262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wait/symbol-for-value-throws.js: Added. |
| (poisonedValueOf.valueOf): |
| (poisonedToPrimitive.Symbol.toPrimitive): |
| * test262/test/built-ins/Atomics/wait/true-for-timeout-agent.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/null-for-timeout.js. |
| (getReport): |
| (262.agent.start.valueOf.valueOf): |
| (toPrimitive.Symbol.toPrimitive): |
| (262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wait/true-for-timeout.js: |
| (valueOf.valueOf): |
| (toPrimitive.Symbol.toPrimitive): |
| (getReport): Deleted. |
| (262.agent.start.262.agent.receiveBroadcast): Deleted. |
| * test262/test/built-ins/Atomics/wait/undefined-for-timeout.js: |
| (getReport): |
| * test262/test/built-ins/Atomics/wait/undefined-index-defaults-to-zero.js: |
| (262.agent.start.262.agent.receiveBroadcast): |
| (getReport): |
| * test262/test/built-ins/Atomics/wait/value-not-equal.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/wait-index-value-not-equal.js. |
| (getReport): |
| (262.agent.start.262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wait/wait-index-value-not-equal.js: |
| (262.agent.start.262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wait/waiterlist-block-indexedposition-wake.js: Added. |
| (getReport): |
| (262.agent.start.262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wait/waiterlist-order-of-operations-is-fifo.js: Added. |
| (getReport): |
| (262.agent.start.262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wait/was-woken-before-timeout.js: |
| (getReport): |
| (262.agent.start.262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wait/was-woken.js: |
| (getReport): |
| (262.agent.start.262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wake/bad-range.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/wake/count-boundary-cases.js: Renamed from JSTests/test262/test/built-ins/Atomics/wake/counts.js. |
| * test262/test/built-ins/Atomics/wake/count-defaults-to-infinity-missing.js: Added. |
| (getReport): |
| (262.agent.start.262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wake/count-defaults-to-infinity-undefined.js: Added. |
| (getReport): |
| (262.agent.start.262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wake/count-from-nans.js: Added. |
| * test262/test/built-ins/Atomics/wake/count-symbol-throws.js: Added. |
| * test262/test/built-ins/Atomics/wake/count-tointeger-throws-then-wake-throws.js: Added. |
| (poisoned.valueOf): |
| * test262/test/built-ins/Atomics/wake/good-views.js: |
| * test262/test/built-ins/Atomics/wake/negative-count.js: Renamed from JSTests/test262/test/built-ins/Atomics/wake/wake-negative.js. |
| * test262/test/built-ins/Atomics/wake/negative-index-throws.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/negative-index-throws.js. |
| (poisoned.valueOf): |
| * test262/test/built-ins/Atomics/wake/non-int32-typedarray-throws.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/non-int32-typedarray-throws.js. |
| (poisoned.valueOf): |
| * test262/test/built-ins/Atomics/wake/non-shared-bufferdata-throws.js: Renamed from JSTests/test262/test/built-ins/Atomics/wait/nonshared-bufferdata-throws.js. |
| (poisoned.valueOf): |
| * test262/test/built-ins/Atomics/wake/non-views.js: |
| * test262/test/built-ins/Atomics/wake/nonshared-int-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/wake/not-a-typedarray-throws.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/not-a-typedarray-throws.js. |
| (poisoned.valueOf): |
| * test262/test/built-ins/Atomics/wake/not-an-object-throws.js: Added. |
| (poisoned.valueOf): |
| * test262/test/built-ins/Atomics/wake/null-bufferdata-throws.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/null-bufferdata-throws.js. |
| (poisoned.valueOf): |
| * test262/test/built-ins/Atomics/wake/out-of-range-index-throws.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/out-of-range-index-throws.js. |
| (poisoned.valueOf): |
| * test262/test/built-ins/Atomics/wake/shared-nonint-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/wake/symbol-for-index-throws.js: Added. |
| (poisonedValueOf.valueOf): |
| (poisonedToPrimitive.Symbol.toPrimitive): |
| * test262/test/built-ins/Atomics/wake/undefined-index-defaults-to-zero.js: Copied from JSTests/test262/test/built-ins/Atomics/wait/undefined-index-defaults-to-zero.js. |
| (262.agent.start.262.agent.receiveBroadcast): |
| (getReport): |
| * test262/test/built-ins/Atomics/wake/wake-all-on-loc.js: |
| (262.agent.start.262.agent.receiveBroadcast): |
| (getReport): |
| (waitUntil): |
| * test262/test/built-ins/Atomics/wake/wake-all.js: |
| (262.agent.start.262.agent.receiveBroadcast): |
| (getReport): |
| (waitUntil): |
| * test262/test/built-ins/Atomics/wake/wake-in-order.js: |
| (getReport): |
| (waitUntil): |
| * test262/test/built-ins/Atomics/wake/wake-nan.js: |
| (getReport): |
| * test262/test/built-ins/Atomics/wake/wake-one.js: |
| (getReport): |
| (waitUntil): |
| * test262/test/built-ins/Atomics/wake/wake-rewake-noop.js: Added. |
| (getReport): |
| (waitUntil): |
| (262.agent.start.262.agent.receiveBroadcast): |
| * test262/test/built-ins/Atomics/wake/wake-two.js: |
| (getReport): |
| * test262/test/built-ins/Atomics/wake/wake-with-no-agents-waiting.js: Added. |
| (262.agent.start.262.agent.receiveBroadcast): |
| (waitUntil): |
| * test262/test/built-ins/Atomics/wake/wake-with-no-matching-agents-waiting.js: Added. |
| (262.agent.start.262.agent.receiveBroadcast): |
| (waitUntil): |
| * test262/test/built-ins/Atomics/wake/wake-zero.js: |
| (i.262.agent.start.262.agent.receiveBroadcast): |
| (getReport): |
| (waitUntil): |
| * test262/test/built-ins/Atomics/xor/bad-range.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/xor/good-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/xor/non-views.js: |
| * test262/test/built-ins/Atomics/xor/nonshared-int-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/Atomics/xor/shared-nonint-views.js: |
| (testWithTypedArrayConstructors): |
| * test262/test/built-ins/BigInt/asIntN/bigint-tobigint-errors.js: |
| * test262/test/built-ins/BigInt/asIntN/bigint-tobigint-toprimitive.js: |
| * test262/test/built-ins/BigInt/asIntN/bigint-tobigint-wrapped-values.js: |
| * test262/test/built-ins/BigInt/asIntN/bits-toindex-errors.js: |
| * test262/test/built-ins/BigInt/asIntN/bits-toindex-toprimitive.js: |
| * test262/test/built-ins/BigInt/asIntN/bits-toindex-wrapped-values.js: |
| * test262/test/built-ins/BigInt/asUintN/bigint-tobigint-errors.js: |
| * test262/test/built-ins/BigInt/asUintN/bigint-tobigint-toprimitive.js: |
| * test262/test/built-ins/BigInt/asUintN/bigint-tobigint-wrapped-values.js: |
| * test262/test/built-ins/BigInt/asUintN/bits-toindex-errors.js: |
| * test262/test/built-ins/BigInt/asUintN/bits-toindex-toprimitive.js: |
| * test262/test/built-ins/BigInt/asUintN/bits-toindex-wrapped-values.js: |
| * test262/test/built-ins/BigInt/constructor-empty-string.js: |
| * test262/test/built-ins/BigInt/constructor-from-binary-string.js: |
| * test262/test/built-ins/BigInt/constructor-from-decimal-string.js: |
| * test262/test/built-ins/BigInt/constructor-from-hex-string.js: |
| * test262/test/built-ins/BigInt/constructor-from-octal-string.js: |
| * test262/test/built-ins/BigInt/constructor-from-string-syntax-errors.js: |
| * test262/test/built-ins/BigInt/constructor-integer.js: Added. |
| * test262/test/built-ins/BigInt/constructor-trailing-leading-spaces.js: |
| * test262/test/built-ins/BigInt/issafeinteger-true.js: Removed. |
| * test262/test/built-ins/BigInt/out-of-bounds-integer-rangeerror.js: Removed. |
| * test262/test/built-ins/BigInt/prototype/Symbol.toStringTag.js: |
| * test262/test/built-ins/BigInt/prototype/toString/default-radix.js: Added. |
| * test262/test/built-ins/BigInt/prototype/toString/thisbigintvalue-not-valid-throws.js: |
| * test262/test/built-ins/BigInt/prototype/valueOf/cross-realm.js: Added. |
| * test262/test/built-ins/BigInt/tostring-throws.js: Copied from JSTests/test262/test/built-ins/BigInt/value-of-throws.js. |
| * test262/test/built-ins/BigInt/valueof-throws.js: Renamed from JSTests/test262/test/built-ins/BigInt/value-of-throws.js. |
| (BigInt.valueOf): |
| * test262/test/built-ins/DataView/prototype/setBigInt64/set-values-return-undefined.js: |
| (values.forEach): |
| * test262/test/built-ins/Function/prototype/bind/length-exceeds-int32.js: Added. |
| (f): |
| * test262/test/built-ins/Function/prototype/toString/anonymous-intrinsics.js: Removed. |
| * test262/test/built-ins/Function/prototype/toString/bound-function.js: |
| (assertNativeFunction): |
| (let.f): Deleted. |
| * test262/test/built-ins/Function/prototype/toString/built-in-function-object.js: Added. |
| * test262/test/built-ins/Function/prototype/toString/intrinsics.js: Removed. |
| * test262/test/built-ins/Function/prototype/toString/proxy-arrow-function.js: Added. |
| (assertNativeFunction.new.Proxy): |
| * test262/test/built-ins/Function/prototype/toString/proxy-async-function.js: Added. |
| (assertNativeFunction.new.Proxy.async): |
| * test262/test/built-ins/Function/prototype/toString/proxy-async-generator-function.js: Added. |
| (assertNativeFunction.new.Proxy.async): |
| * test262/test/built-ins/Function/prototype/toString/proxy-async-generator-method-definition.js: Added. |
| (assertNativeFunction.new.Proxy.async.method): |
| (apply): |
| * test262/test/built-ins/Function/prototype/toString/proxy-async-method-definition.js: Added. |
| (assertNativeFunction.new.Proxy.async.method): |
| (apply): |
| * test262/test/built-ins/Function/prototype/toString/proxy-bound-function.js: Added. |
| (assertNativeFunction.new.Proxy): |
| (bind): |
| * test262/test/built-ins/Function/prototype/toString/proxy-class.js: Added. |
| (assertNativeFunction): |
| * test262/test/built-ins/Function/prototype/toString/proxy-function-expression.js: Added. |
| (assertNativeFunction.new.Proxy): |
| * test262/test/built-ins/Function/prototype/toString/proxy-generator-function.js: Added. |
| (assertNativeFunction.new.Proxy): |
| * test262/test/built-ins/Function/prototype/toString/proxy-method-definition.js: Added. |
| (assertNativeFunction.new.Proxy.method): |
| (apply): |
| * test262/test/built-ins/Function/prototype/toString/proxy-non-callable-throws.js: Added. |
| * test262/test/built-ins/Function/prototype/toString/proxy.js: Removed. |
| * test262/test/built-ins/Function/prototype/toString/well-known-intrinsic-object-functions.js: Added. |
| (WellKnownIntrinsicObjects.forEach): |
| * test262/test/built-ins/JSON/prop-desc.js: Added. |
| * test262/test/built-ins/Math/acosh/nan-returns.js: |
| * test262/test/built-ins/Math/asinh/asinh-specialVals.js: |
| * test262/test/built-ins/Math/atanh/atanh-specialVals.js: |
| * test262/test/built-ins/Math/cbrt/cbrt-specialValues.js: |
| * test262/test/built-ins/Math/cbrt/prop-desc.js: |
| * test262/test/built-ins/Math/cosh/cosh-specialVals.js: |
| * test262/test/built-ins/Math/expm1/expm1-specialVals.js: |
| * test262/test/built-ins/Math/log10/Log10-specialVals.js: |
| * test262/test/built-ins/Math/log2/log2-basicTests.js: |
| * test262/test/built-ins/Math/prop-desc.js: |
| * test262/test/built-ins/Math/sign/sign-specialVals.js: |
| * test262/test/built-ins/Math/sinh/sinh-specialVals.js: |
| * test262/test/built-ins/Math/tanh/tanh-specialVals.js: |
| * test262/test/built-ins/Math/trunc/trunc-sampleTests.js: |
| * test262/test/built-ins/Math/trunc/trunc-specialVals.js: |
| * test262/test/built-ins/Object/assign/strings-and-symbol-order.js: Added. |
| * test262/test/built-ins/Object/keys/property-traps-order-with-proxied-array.js: Added. |
| (get t): |
| * test262/test/built-ins/Reflect/Reflect.js: Removed. |
| * test262/test/built-ins/Reflect/prop-desc.js: Added. |
| * test262/test/built-ins/Reflect/properties.js: Removed. |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/internal-regexp-lastindex-not-zero.js: Added. |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/isregexp-internal-regexp-is-false.js: Added. |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/isregexp-internal-regexp-throws.js: Added. |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/isregexp-this-throws.js: Added. |
| (obj.get Symbol): |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/length.js: Added. |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/name.js: Added. |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/prop-desc.js: Added. |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/regexpcreate-this-throws.js: Added. |
| (obj.toString): |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor-get-constructor-throws.js: Added. |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor-get-species-throws.js: Added. |
| (regexp.get Symbol): |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor-is-not-object-throws.js: Added. |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor-is-undefined.js: Added. |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor-species-is-not-constructor.js: Added. |
| (callMatchAll): |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor-species-is-null-or-undefined.js: Added. |
| (TestWithConstructor): |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor-species-throws.js: Added. |
| (regexp.Symbol.species): |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-constructor.js: Added. |
| (regexp.Symbol.species): |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-regexp-get-global-throws.js: Added. |
| (regexp.Symbol.species): |
| (get assert): |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/species-regexp-get-unicode-throws.js: Added. |
| (regexp.Symbol.species): |
| (get assert): |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/string-tostring-throws.js: Added. |
| (obj.valueOf): |
| (obj.toString): |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/string-tostring.js: Added. |
| (obj.toString): |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/this-get-flags-throws.js: Added. |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/this-get-flags.js: Added. |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/this-lastindex-cached.js: Added. |
| (regexp.lastIndex.valueOf): |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/this-not-object-throws.js: Added. |
| (callMatchAll): |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/this-tolength-lastindex-throws.js: Added. |
| (regexp.lastIndex.valueOf): |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/this-tostring-flags-throws.js: Added. |
| (value.valueOf): |
| (value.toString): |
| * test262/test/built-ins/RegExp/prototype/Symbol.matchAll/this-tostring-flags.js: Added. |
| (value.toString): |
| * test262/test/built-ins/RegExpStringIteratorPrototype/Symbol.toStringTag.js: Added. |
| * test262/test/built-ins/RegExpStringIteratorPrototype/ancestry.js: Added. |
| * test262/test/built-ins/RegExpStringIteratorPrototype/next/custom-regexpexec-call-throws.js: Added. |
| (RegExp.prototype.exec): |
| * test262/test/built-ins/RegExpStringIteratorPrototype/next/custom-regexpexec-get-throws.js: Added. |
| * test262/test/built-ins/RegExpStringIteratorPrototype/next/custom-regexpexec-match-get-0-throws.js: Added. |
| (return.get string_appeared_here): |
| (RegExp.prototype.exec): |
| * test262/test/built-ins/RegExpStringIteratorPrototype/next/custom-regexpexec-match-get-0-tostring-throws.js: Added. |
| (return.toString): |
| (RegExp.prototype.exec): |
| * test262/test/built-ins/RegExpStringIteratorPrototype/next/custom-regexpexec-match-get-0-tostring.js: Added. |
| (execResult.get string_appeared_here): |
| (RegExp.prototype.exec): |
| * test262/test/built-ins/RegExpStringIteratorPrototype/next/custom-regexpexec-not-callable.js: Added. |
| (TestWithRegExpExec): |
| * test262/test/built-ins/RegExpStringIteratorPrototype/next/custom-regexpexec.js: Added. |
| (callNextWithExecReturnValue.RegExp.prototype.exec): |
| (callNextWithExecReturnValue): |
| * test262/test/built-ins/RegExpStringIteratorPrototype/next/length.js: Added. |
| * test262/test/built-ins/RegExpStringIteratorPrototype/next/name.js: Added. |
| * test262/test/built-ins/RegExpStringIteratorPrototype/next/next-iteration-global.js: Added. |
| * test262/test/built-ins/RegExpStringIteratorPrototype/next/next-iteration.js: Added. |
| * test262/test/built-ins/RegExpStringIteratorPrototype/next/next-missing-internal-slots.js: Added. |
| * test262/test/built-ins/RegExpStringIteratorPrototype/next/prop-desc.js: Added. |
| * test262/test/built-ins/RegExpStringIteratorPrototype/next/regexp-tolength-lastindex-throws.js: Added. |
| (RegExp.prototype.exec): |
| * test262/test/built-ins/RegExpStringIteratorPrototype/next/this-is-not-object-throws.js: Added. |
| (callNext): |
| * test262/test/built-ins/String/prototype/matchAll/length.js: Added. |
| * test262/test/built-ins/String/prototype/matchAll/name.js: Added. |
| * test262/test/built-ins/String/prototype/matchAll/prop-desc.js: Added. |
| * test262/test/built-ins/String/prototype/matchAll/regexp-get-matchAll-throws.js: Added. |
| * test262/test/built-ins/String/prototype/matchAll/regexp-is-null.js: Added. |
| * test262/test/built-ins/String/prototype/matchAll/regexp-is-undefined.js: Added. |
| * test262/test/built-ins/String/prototype/matchAll/regexp-matchAll-invocation.js: Added. |
| (obj.Symbol.matchAll): |
| * test262/test/built-ins/String/prototype/matchAll/regexp-matchAll-throws.js: Added. |
| (regexp.Symbol.matchAll): |
| * test262/test/built-ins/String/prototype/matchAll/regexp-prototype-get-matchAll-throws.js: Added. |
| * test262/test/built-ins/String/prototype/matchAll/regexp-prototype-has-no-matchAll.js: Added. |
| * test262/test/built-ins/String/prototype/matchAll/regexp-prototype-matchAll-invocation.js: Added. |
| (RegExp.prototype.Symbol.matchAll): |
| * test262/test/built-ins/String/prototype/matchAll/regexp-prototype-matchAll-throws.js: Added. |
| (RegExp.prototype.Symbol.matchAll): |
| * test262/test/built-ins/String/prototype/matchAll/this-val-non-obj-coercible.js: Added. |
| * test262/test/built-ins/Symbol/matchAll/cross-realm.js: Added. |
| * test262/test/built-ins/Symbol/matchAll/prop-desc.js: Added. |
| * test262/test/harness/testTypedArray.js: |
| * test262/test/intl402/Array/prototype/toLocaleString/calls-toLocaleString-number-elements.js: Added. |
| * test262/test/intl402/Intl/getCanonicalLocales/invalid-tags.js: |
| * test262/test/intl402/Locale/constructor-newtarget-undefined.js: Added. |
| * test262/test/intl402/Locale/constructor-options-calendar-invalid.js: Added. |
| (const.invalidCalendarOption.of.invalidCalendarOptions.new.Intl.Locale): |
| * test262/test/intl402/Locale/constructor-options-calendar-valid.js: Added. |
| * test262/test/intl402/Locale/constructor-options-language-invalid.js: Added. |
| (const.invalidLanguageOption.of.invalidLanguageOptions.new.Intl.Locale): |
| * test262/test/intl402/Locale/constructor-options-language-valid.js: Added. |
| (toString): |
| * test262/test/intl402/Locale/constructor-options-region-invalid.js: Added. |
| (const.invalidRegionOption.of.invalidRegionOptions.new.Intl.Locale): |
| * test262/test/intl402/Locale/constructor-options-region-valid.js: Added. |
| * test262/test/intl402/Locale/constructor-options-script-invalid.js: Added. |
| (const.invalidScriptOption.of.invalidScriptOptions.new.Intl.Locale): |
| * test262/test/intl402/Locale/constructor-options-script-valid.js: Added. |
| (toString): |
| * test262/test/intl402/Locale/function-prototype.js: Added. |
| * test262/test/intl402/Locale/instance-extensibility.js: Added. |
| * test262/test/intl402/Locale/instance.js: Added. |
| * test262/test/intl402/Locale/invalid-tag-throws-boolean.js: Added. |
| * test262/test/intl402/Locale/invalid-tag-throws-null.js: Added. |
| * test262/test/intl402/Locale/invalid-tag-throws-number.js: Added. |
| * test262/test/intl402/Locale/invalid-tag-throws-symbol.js: Added. |
| * test262/test/intl402/Locale/invalid-tag-throws-undefined.js: Added. |
| * test262/test/intl402/Locale/invalid-tag-throws.js: Added. |
| (const.invalidTag.of.getInvalidLanguageTags): |
| * test262/test/intl402/Locale/length.js: Added. |
| * test262/test/intl402/Locale/name.js: Added. |
| * test262/test/intl402/Locale/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/constructor.js: Added. |
| * test262/test/intl402/Locale/prototype/maximize/length.js: Added. |
| * test262/test/intl402/Locale/prototype/maximize/name.js: Added. |
| * test262/test/intl402/Locale/prototype/maximize/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/prop-desc.js: Added. |
| * test262/test/intl402/Locale/prototype/toStringTag.js: Added. |
| * test262/test/intl402/TypedArray/prototype/toLocaleString/calls-toLocaleString-number-elements.js: Added. |
| (testWithTypedArrayConstructors): |
| * test262/test/language/asi/S7.9_A11_T8.js: |
| (else.x.1): Deleted. |
| * test262/test/language/asi/S7.9_A4.js: |
| (catch): |
| * test262/test/language/asi/S7.9_A5.1_T1.js: |
| * test262/test/language/asi/S7.9_A5.3_T1.js: |
| * test262/test/language/block-scope/syntax/redeclaration/function-declaration-attempt-to-redeclare-with-var-declaration-nested-in-function.js: Added. |
| (g.f): |
| (g): |
| * test262/test/language/destructuring/binding/initialization-requires-object-coercible-null.js: |
| * test262/test/language/destructuring/binding/initialization-requires-object-coercible-undefined.js: |
| * test262/test/language/destructuring/binding/initialization-returns-normal-completion-for-empty-objects.js: |
| * test262/test/language/destructuring/binding/syntax/array-elements-with-initializer.js: |
| * test262/test/language/destructuring/binding/syntax/array-elements-with-object-patterns.js: |
| * test262/test/language/destructuring/binding/syntax/array-elements-without-initializer.js: |
| * test262/test/language/destructuring/binding/syntax/array-pattern-with-elisions.js: |
| * test262/test/language/destructuring/binding/syntax/array-pattern-with-no-elements.js: |
| * test262/test/language/destructuring/binding/syntax/array-rest-elements.js: |
| * test262/test/language/destructuring/binding/syntax/object-pattern-with-no-property-list.js: |
| * test262/test/language/destructuring/binding/syntax/property-list-bindings-elements.js: |
| * test262/test/language/destructuring/binding/syntax/property-list-followed-by-a-single-comma.js: |
| * test262/test/language/destructuring/binding/syntax/property-list-single-name-bindings.js: |
| * test262/test/language/destructuring/binding/syntax/property-list-with-property-list.js: |
| * test262/test/language/destructuring/binding/syntax/recursive-array-and-object-patterns.js: |
| * test262/test/language/eval-code/direct/block-decl-eval-source-is-strict-nostrict.js: Copied from JSTests/test262/test/language/eval-code/direct/block-decl-strict-source.js. |
| * test262/test/language/eval-code/direct/block-decl-eval-source-is-strict-onlystrict.js: Renamed from JSTests/test262/test/language/eval-code/direct/block-decl-strict-source.js. |
| (catch): |
| * test262/test/language/eval-code/direct/block-decl-onlystrict.js: Renamed from JSTests/test262/test/language/eval-code/direct/block-decl-strict-caller.js. |
| * test262/test/language/eval-code/direct/switch-case-decl-eval-source-is-strict-nostrict.js: Renamed from JSTests/test262/test/language/eval-code/direct/switch-case-decl-strict-source.js. |
| * test262/test/language/eval-code/direct/switch-case-decl-eval-source-is-strict-onlystrict.js: Copied from JSTests/test262/test/language/eval-code/direct/switch-case-decl-strict-caller.js. |
| (catch): |
| * test262/test/language/eval-code/direct/switch-case-decl-onlystrict.js: Renamed from JSTests/test262/test/language/eval-code/direct/switch-case-decl-strict-caller.js. |
| * test262/test/language/eval-code/direct/switch-dflt-decl-eval-source-is-strict-nostrict.js: Renamed from JSTests/test262/test/language/eval-code/direct/switch-dflt-decl-strict-source.js. |
| * test262/test/language/eval-code/direct/switch-dflt-decl-eval-source-is-strict-onlystrict.js: Copied from JSTests/test262/test/language/eval-code/direct/switch-dflt-decl-strict-caller.js. |
| (catch): |
| * test262/test/language/eval-code/direct/switch-dflt-decl-onlystrict.js: Renamed from JSTests/test262/test/language/eval-code/direct/switch-dflt-decl-strict-caller.js. |
| * test262/test/language/expressions/async-arrow-function/await-as-param-ident-nested-arrow-parameter-position.js: Added. |
| (async): |
| * test262/test/language/expressions/async-arrow-function/await-as-param-nested-arrow-body-position.js: Added. |
| (async): |
| * test262/test/language/expressions/async-arrow-function/await-as-param-nested-arrow-parameter-position.js: Added. |
| (async.a): |
| * test262/test/language/expressions/async-arrow-function/await-as-param-rest-nested-arrow-parameter-position.js: Added. |
| (async.a): |
| * test262/test/language/expressions/async-arrow-function/escaped-async-line-terminator.js: Added. |
| * test262/test/language/expressions/async-generator/generator-created-after-decl-inst.js: Added. |
| (g.async.a): |
| * test262/test/language/expressions/class/class-name-ident-await-escaped-module.js: Added. |
| (C): |
| * test262/test/language/expressions/class/class-name-ident-await-escaped.js: Added. |
| (C): |
| * test262/test/language/expressions/class/class-name-ident-await-module.js: Added. |
| (C): |
| * test262/test/language/expressions/class/class-name-ident-await.js: Added. |
| (C): |
| * test262/test/language/expressions/class/class-name-ident-let-escaped.js: Added. |
| (C): |
| * test262/test/language/expressions/class/class-name-ident-let.js: Added. |
| (C): |
| * test262/test/language/expressions/class/class-name-ident-static-escaped.js: Added. |
| (C): |
| * test262/test/language/expressions/class/class-name-ident-static.js: Added. |
| * test262/test/language/expressions/class/class-name-ident-yield-escaped.js: Added. |
| (C): |
| * test262/test/language/expressions/class/class-name-ident-yield.js: Added. |
| (C): |
| * test262/test/language/expressions/class/constructor-this-tdz-during-initializers.js: Added. |
| (Base): |
| (C): |
| * test262/test/language/expressions/class/fields-run-once-on-double-super.js: Added. |
| (Base): |
| (C): |
| * test262/test/language/expressions/generators/generator-created-after-decl-inst.js: Added. |
| (g): |
| * test262/test/language/expressions/greater-than-or-equal/bigint-and-incomparable-string.js: Added. |
| * test262/test/language/expressions/greater-than-or-equal/bigint-and-string.js: Added. |
| * test262/test/language/expressions/greater-than/bigint-and-boolean.js: Added. |
| * test262/test/language/expressions/greater-than/bigint-and-incomparable-string.js: Added. |
| * test262/test/language/expressions/greater-than/bigint-and-string.js: Added. |
| * test262/test/language/expressions/less-than-or-equal/bigint-and-incomparable-string.js: Added. |
| * test262/test/language/expressions/less-than-or-equal/bigint-and-string.js: Added. |
| * test262/test/language/expressions/less-than/bigint-and-boolean.js: Added. |
| * test262/test/language/expressions/less-than/bigint-and-incomparable-string.js: Added. |
| * test262/test/language/expressions/less-than/bigint-and-string.js: Added. |
| * test262/test/language/expressions/object/method-definition/generator-super-prop-param.js: |
| * test262/test/language/function-code/block-decl-onlystrict.js: Renamed from JSTests/test262/test/language/function-code/block-decl-strict.js. |
| * test262/test/language/function-code/switch-case-decl-onlystrict.js: Renamed from JSTests/test262/test/language/function-code/switch-case-decl-strict.js. |
| * test262/test/language/function-code/switch-dflt-decl-onlystrict.js: Renamed from JSTests/test262/test/language/function-code/switch-dflt-decl-strict.js. |
| * test262/test/language/line-terminators/S7.3_A2.3.js: Removed. |
| * test262/test/language/line-terminators/S7.3_A2.4.js: Removed. |
| * test262/test/language/literals/regexp/invalid-optional-lookbehind.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js. |
| * test262/test/language/literals/regexp/invalid-optional-negative-lookbehind.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js. |
| * test262/test/language/literals/regexp/invalid-range-lookbehind.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js. |
| * test262/test/language/literals/regexp/invalid-range-negative-lookbehind.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js. |
| * test262/test/language/literals/regexp/u-invalid-optional-lookahead.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js. |
| * test262/test/language/literals/regexp/u-invalid-optional-lookbehind.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js. |
| * test262/test/language/literals/regexp/u-invalid-optional-negative-lookahead.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js. |
| * test262/test/language/literals/regexp/u-invalid-optional-negative-lookbehind.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js. |
| * test262/test/language/literals/regexp/u-invalid-range-lookahead.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js. |
| * test262/test/language/literals/regexp/u-invalid-range-lookbehind.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js. |
| * test262/test/language/literals/regexp/u-invalid-range-negative-lookahead.js: Copied from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js. |
| * test262/test/language/literals/regexp/u-invalid-range-negative-lookbehind.js: Renamed from JSTests/test262/test/language/literals/regexp/u-invalid-quantifiable-assertion.js. |
| * test262/test/language/literals/string/line-separator-eval.js: Added. |
| * test262/test/language/literals/string/line-separator.js: Added. |
| * test262/test/language/literals/string/paragraph-separator-eval.js: Added. |
| * test262/test/language/literals/string/paragraph-separator.js: Added. |
| * test262/test/language/module-code/early-strict-mode.js: |
| * test262/test/language/statements/async-generator/generator-created-after-decl-inst.js: Added. |
| (async.g): |
| * test262/test/language/statements/break/S12.8_A8_T1.js: |
| (catch): |
| * test262/test/language/statements/break/S12.8_A8_T2.js: |
| (catch): |
| * test262/test/language/statements/class/class-name-ident-await-escaped-module.js: Added. |
| (aw): |
| * test262/test/language/statements/class/class-name-ident-await-escaped.js: Added. |
| (aw): |
| * test262/test/language/statements/class/class-name-ident-await-module.js: Added. |
| (await): |
| * test262/test/language/statements/class/class-name-ident-await.js: Added. |
| (await): |
| * test262/test/language/statements/class/class-name-ident-let-escaped.js: Added. |
| (l): |
| * test262/test/language/statements/class/class-name-ident-let.js: Added. |
| (let): |
| * test262/test/language/statements/class/class-name-ident-static-escaped.js: Added. |
| (st): |
| * test262/test/language/statements/class/class-name-ident-static.js: Added. |
| * test262/test/language/statements/class/class-name-ident-yield-escaped.js: Added. |
| (yi): |
| * test262/test/language/statements/class/class-name-ident-yield.js: Added. |
| (yield): |
| * test262/test/language/statements/continue/S12.7_A8_T1.js: |
| (catch): |
| * test262/test/language/statements/continue/S12.7_A8_T2.js: |
| (catch): |
| * test262/test/language/statements/generators/generator-created-after-decl-inst.js: Added. |
| (g): |
| * test262/test/language/statements/try/early-catch-duplicates.js: |
| * test262/test/language/statements/try/early-catch-function.js: Added. |
| (f.catch.e): |
| (f): |
| * test262/test/language/statements/try/early-catch-lex.js: |
| * test262/test/language/statements/try/early-catch-var.js: |
| * test262/test262-Revision.txt: |
| |
| 2018-05-09 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESNext][BigInt] Implement support for "==" operation |
| https://bugs.webkit.org/show_bug.cgi?id=184474 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/big-int-equals-basic.js: Added. |
| * stress/big-int-equals-to-primitive-precedence.js: Added. |
| * stress/big-int-equals-wrapped-value.js: Added. |
| |
| 2018-05-08 Valerie R Young <valerie@bocoup.com> |
| |
| test262/Runner.pm: move input files to JSTests/test262 |
| https://bugs.webkit.org/show_bug.cgi?id=185389 |
| |
| Reviewed by Michael Saboff. |
| |
| * test262/config.yaml: Renamed from Tools/Scripts/test262/config.yaml. |
| * test262/expectations.yaml: Renamed from Tools/Scripts/test262/expectations.yaml. |
| |
| 2018-05-05 Filip Pizlo <fpizlo@apple.com> |
| |
| DFG AI should have O(1) clobbering |
| https://bugs.webkit.org/show_bug.cgi?id=185287 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/simple-ai-effect.js: Added. |
| (bar): |
| (foo): |
| |
| 2018-05-04 Keith Miller <keith_miller@apple.com> |
| |
| isCacheableArrayLength should return true for undecided arrays |
| https://bugs.webkit.org/show_bug.cgi?id=185309 |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/get-array-length-undecided.js: Added. |
| (test): |
| |
| 2018-05-04 Dominik Infuehr <dinfuehr@igalia.com> |
| |
| Disable tests on systems with limited memory |
| https://bugs.webkit.org/show_bug.cgi?id=185296 |
| |
| Reviewed by Saam Barati. |
| |
| Test doesn't work with a limited amount of memory. I tried to reduce memory usage |
| but then it was hard to reproduce the failure the test was originally made to test. |
| |
| * stress/array-reverse-doesnt-clobber.js: |
| |
| 2018-05-03 Saam Barati <sbarati@apple.com> |
| |
| Don't prevent CreateThis being folded to NewObject when the structure is poly proto |
| https://bugs.webkit.org/show_bug.cgi?id=185177 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/construct-poly-proto-object.js: Added. |
| (foo.A): |
| (foo): |
| * stress/allocation-sinking-new-object-with-poly-proto.js: Added. |
| (foo.A): |
| (foo): |
| (makePolyProto): |
| (bar): |
| (baz): |
| |
| 2018-05-03 Michael Saboff <msaboff@apple.com> |
| |
| OSR entry pruning of Program Bytecodes doesn't take into account try/catch |
| https://bugs.webkit.org/show_bug.cgi?id=185281 |
| |
| Reviewed by Saam Barati. |
| |
| New regression test. |
| |
| * stress/baseline-osrentry-catch-is-reachable.js: Added. |
| (i.j.catch): |
| |
| 2018-05-03 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r231197. |
| |
| The test added with this change crashes on the 32-bit JSC bot. |
| |
| Reverted changeset: |
| |
| "Correctly detect string overflow when using the 'Function' |
| constructor" |
| https://bugs.webkit.org/show_bug.cgi?id=184883 |
| https://trac.webkit.org/changeset/231197 |
| |
| 2018-05-02 Filip Pizlo <fpizlo@apple.com> |
| |
| JSC should know how to cache custom getter accesses on the prototype chain |
| https://bugs.webkit.org/show_bug.cgi?id=185213 |
| |
| Reviewed by Keith Miller. |
| |
| * microbenchmarks/get-custom-getter.js: Added. |
| (test): |
| |
| 2018-05-02 Robin Morisset <rmorisset@apple.com> |
| |
| emitCodeToGetArgumentsArrayLength should not crash on PhantomNewArrayWithSpread |
| https://bugs.webkit.org/show_bug.cgi?id=183172 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/length-of-new-array-with-spread.js: Added. |
| (foo): |
| (bar): |
| (baz): |
| |
| 2018-05-01 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Add SameValue DFG node |
| https://bugs.webkit.org/show_bug.cgi?id=185065 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/object-is.js: Added. |
| (incognito): |
| (sameValue): |
| (test1): |
| (test2): |
| (test3): |
| (test4): |
| (test5): |
| (test6): |
| * stress/object-is.js: Added. |
| (shouldBe): |
| (is1): |
| (is2): |
| (is3): |
| (is4): |
| (is5): |
| (is6): |
| (is7): |
| (is8): |
| (is9): |
| (is10): |
| (is11): |
| (is12): |
| (is13): |
| (is14): |
| (is15): |
| |
| 2018-05-01 Robin Morisset <rmorisset@apple.com> |
| |
| Correctly detect string overflow when using the 'Function' constructor |
| https://bugs.webkit.org/show_bug.cgi?id=184883 |
| <rdar://problem/36320331> |
| |
| Reviewed by Filip Pizlo. |
| |
| I put this regression test in the 'slowMicrobenchmarks' directory because it takes nearly 30s to run, and I am not sure where else to put it. |
| |
| * slowMicrobenchmarks/function-constructor-with-huge-strings.js: Added. |
| (catch): |
| |
| 2018-05-01 Robin Morisset <rmorisset@apple.com> |
| |
| IntlObject.cpp::removeUnicodeLocaleExtension() should not touch locales that end in '-u' |
| https://bugs.webkit.org/show_bug.cgi?id=185162 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/incomplete-unicode-locale.js: Added. |
| (catch): |
| |
| 2018-05-01 Dominik Infuehr <dinfuehr@igalia.com> |
| |
| Add SetCallee as DFG-Operation |
| https://bugs.webkit.org/show_bug.cgi?id=184582 |
| |
| Reviewed by Filip Pizlo. |
| |
| Added test that runs into infinite loop without updating the callee and |
| therefore emitting SetCallee in DFG for recursive tail calls. |
| |
| * stress/closure-recursive-tail-call-infinite-loop.js: Added. |
| (Foo): |
| (second): |
| (first): |
| (return.closure): |
| (createClosure): |
| |
| 2018-04-30 Saam Barati <sbarati@apple.com> |
| |
| ToString constant folds without preserving checks, causing us to break assumptions that the code would OSR exit |
| https://bugs.webkit.org/show_bug.cgi?id=185149 |
| <rdar://problem/39455917> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/keep-checks-when-converting-to-lazy-js-constant-in-strength-reduction.js: Added. |
| |
| 2018-04-29 Filip Pizlo <fpizlo@apple.com> |
| |
| LICM shouldn't hoist nodes if hoisted nodes exited in that code block |
| https://bugs.webkit.org/show_bug.cgi?id=185126 |
| |
| Reviewed by Saam Barati. |
| |
| I found this bug by accident when I was writing this test for something else. |
| |
| This change also speeds up other benchmarks of this case that we already had. They are all called |
| the licm-dragons tests. |
| |
| * microbenchmarks/licm-dragons-two-structures.js: Added. |
| (foo): |
| |
| 2018-04-29 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r231137. |
| https://bugs.webkit.org/show_bug.cgi?id=185118 |
| |
| It is breaking Test262 language/expressions/multiplication |
| /order-of-evaluation.js (Requested by caiolima on #webkit). |
| |
| Reverted changeset: |
| |
| "[ESNext][BigInt] Implement support for "*" operation" |
| https://bugs.webkit.org/show_bug.cgi?id=183721 |
| https://trac.webkit.org/changeset/231137 |
| |
| 2018-04-28 Saam Barati <sbarati@apple.com> |
| |
| We don't model regexp effects properly |
| https://bugs.webkit.org/show_bug.cgi?id=185059 |
| <rdar://problem/39736150> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/regexp-exec-test-effectful-last-index.js: Added. |
| (assert): |
| (foo): |
| (i.regexLastIndex.toString): |
| (bar): |
| |
| 2018-04-28 Rick Waldron <waldron.rick@gmail.com> |
| |
| Token misspelled "tocken" in error message string |
| https://bugs.webkit.org/show_bug.cgi?id=185030 |
| |
| Reviewed by Saam Barati. |
| |
| * ChakraCore/test/Basics/IdsWithEscapes.baseline-jsc: Fix typo "tocken" => "token" |
| * stress/destructuring-assignment-syntax.js: Fix typo "tocken" => "token" |
| * stress/error-messages-for-in-operator-should-not-crash.js: Fix typo "tocken" => "token" |
| * stress/reserved-word-with-escape.js: Fix typo "tocken" => "token" |
| (testSyntaxError.String.raw.v): |
| (String.raw.SyntaxError.Cannot.use.the.keyword.string_appeared_here.as.a.name): |
| (testSyntaxError.String.raw.a): |
| |
| 2018-04-28 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESNext][BigInt] Implement support for "*" operation |
| https://bugs.webkit.org/show_bug.cgi?id=183721 |
| |
| Reviewed by Saam Barati. |
| |
| * bigIntTests.yaml: |
| * stress/big-int-mul-jit.js: Added. |
| * stress/big-int-mul-to-primitive-precedence.js: Added. |
| * stress/big-int-mul-to-primitive.js: Added. |
| * stress/big-int-mul-type-error.js: Added. |
| * stress/big-int-mul-wrapped-value.js: Added. |
| * stress/big-int-multiplication.js: Added. |
| * stress/big-int-multiply-memory-stress.js: Added. |
| |
| 2018-04-28 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r231131. |
| https://bugs.webkit.org/show_bug.cgi?id=185112 |
| |
| It is breaking Debug build due to unchecked exception |
| (Requested by caiolima on #webkit). |
| |
| Reverted changeset: |
| |
| "[ESNext][BigInt] Implement support for "*" operation" |
| https://bugs.webkit.org/show_bug.cgi?id=183721 |
| https://trac.webkit.org/changeset/231131 |
| |
| 2018-04-27 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESNext][BigInt] Implement support for "*" operation |
| https://bugs.webkit.org/show_bug.cgi?id=183721 |
| |
| Reviewed by Saam Barati. |
| |
| * bigIntTests.yaml: |
| * stress/big-int-mul-jit.js: Added. |
| * stress/big-int-mul-to-primitive-precedence.js: Added. |
| * stress/big-int-mul-to-primitive.js: Added. |
| * stress/big-int-mul-type-error.js: Added. |
| * stress/big-int-mul-wrapped-value.js: Added. |
| * stress/big-int-multiplication.js: Added. |
| * stress/big-int-multiply-memory-stress.js: Added. |
| |
| 2018-04-27 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r231086. |
| |
| Caused JSC test failures due to an unchecked exception. |
| |
| Reverted changeset: |
| |
| "[ESNext][BigInt] Implement support for "*" operation" |
| https://bugs.webkit.org/show_bug.cgi?id=183721 |
| https://trac.webkit.org/changeset/231086 |
| |
| 2018-04-27 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed test gardening, update expectations for test262/intl402/PluralRules tests after r231047. |
| |
| * test262.yaml: Mark tests as passing. |
| |
| 2018-04-26 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESNext][BigInt] Implement support for "*" operation |
| https://bugs.webkit.org/show_bug.cgi?id=183721 |
| |
| Reviewed by Saam Barati. |
| |
| * bigIntTests.yaml: |
| * stress/big-int-mul-jit.js: Added. |
| * stress/big-int-mul-to-primitive-precedence.js: Added. |
| * stress/big-int-mul-to-primitive.js: Added. |
| * stress/big-int-mul-type-error.js: Added. |
| * stress/big-int-mul-wrapped-value.js: Added. |
| * stress/big-int-multiplication.js: Added. |
| * stress/big-int-multiply-memory-stress.js: Added. |
| |
| 2018-04-25 Robin Morisset <rmorisset@apple.com> |
| |
| In FTLLowerDFGToB3.cpp::compileCreateRest, always use a contiguous array as the indexing type when under isWatchingHavingABadTimeWatchpoint |
| https://bugs.webkit.org/show_bug.cgi?id=184773 |
| <rdar://problem/37773612> |
| |
| Reviewed by Filip Pizlo. |
| |
| This bug requires a race between the thread doing FTL compilation and the main thread, but it triggers in 100% of cases (before the fix) on my machine |
| so I decided to add it to the stress tests nonetheless. |
| |
| * stress/create-rest-while-having-a-bad-time.js: Added. |
| (f): |
| (g): |
| (h): |
| |
| 2018-04-25 Keith Miller <keith_miller@apple.com> |
| |
| Add missing scope release to functionProtoFuncToString |
| https://bugs.webkit.org/show_bug.cgi?id=184995 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/function-toString-arrow.js: Added. |
| (async): |
| |
| 2018-04-24 Keith Miller <keith_miller@apple.com> |
| |
| fromCharCode is missing some exception checks |
| https://bugs.webkit.org/show_bug.cgi?id=184952 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/fromCharCode-exception-check.js: Added. |
| (get catch): |
| |
| 2018-04-24 Mark Lam <mark.lam@apple.com> |
| |
| Gardening: test fix after r230863. |
| https://bugs.webkit.org/show_bug.cgi?id=184846 |
| <rdar://problem/39390672> |
| |
| Not reviewed. |
| |
| * stress/json-stringified-overflow-2.js: |
| (catch): |
| * stress/json-stringified-overflow.js: |
| (catch): |
| |
| 2018-04-20 JF Bastien <jfbastien@apple.com> |
| |
| Handle more JSON stringify OOM |
| https://bugs.webkit.org/show_bug.cgi?id=184846 |
| <rdar://problem/39390672> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/json-stringified-overflow-2.js: Added. Same as the one |
| below, but with a bigger input which will trigger a different code |
| path. |
| (catch): |
| * stress/json-stringified-overflow.js: Modify the test to only |
| catch OOM on stringification. not on string creation. |
| |
| 2018-04-18 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [WebAssembly][Modules] Import tables in wasm modules |
| https://bugs.webkit.org/show_bug.cgi?id=184738 |
| |
| Reviewed by JF Bastien. |
| |
| * 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: |
| * wasm/modules/wasm-imports-wasm-exports.js: |
| * wasm/modules/wasm-imports-wasm-exports/imports.wasm: |
| * wasm/modules/wasm-imports-wasm-exports/imports.wat: |
| * wasm/modules/wasm-imports-wasm-exports/sum.wasm: |
| * wasm/modules/wasm-imports-wasm-exports/sum.wat: |
| |
| 2018-04-18 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [WebAssembly][Modules] Import globals from wasm modules |
| https://bugs.webkit.org/show_bug.cgi?id=184736 |
| |
| Reviewed by JF Bastien. |
| |
| * wasm.yaml: |
| * 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: |
| * wasm/modules/wasm-imports-wasm-exports.js: |
| * wasm/modules/wasm-imports-wasm-exports/imports.wasm: |
| * wasm/modules/wasm-imports-wasm-exports/imports.wat: |
| * wasm/modules/wasm-imports-wasm-exports/sum.wasm: |
| * wasm/modules/wasm-imports-wasm-exports/sum.wat: |
| |
| 2018-04-18 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, reland r230697, r230720, and r230724. |
| https://bugs.webkit.org/show_bug.cgi?id=184600 |
| |
| * wasm.yaml: |
| * wasm/modules/constant.wasm: Added. |
| * wasm/modules/constant.wat: Added. |
| * wasm/modules/default-import-star-error.js: Added. |
| (then): |
| * wasm/modules/default-import-star-error/entry.wasm: Added. |
| * wasm/modules/default-import-star-error/entry.wat: Added. |
| * wasm/modules/default-import-star-error/t0.js: Added. |
| * wasm/modules/default-import-star-error/t1.js: Added. |
| * wasm/modules/default-import-star-error/t2.js: Added. |
| (export.default.Cocoa): |
| * wasm/modules/js-wasm-cycle.js: Added. |
| * wasm/modules/js-wasm-cycle/entry.js: Added. |
| (from.string_appeared_here.export.return42): |
| * wasm/modules/js-wasm-cycle/sum.wasm: Added. |
| * wasm/modules/js-wasm-cycle/sum.wat: Added. |
| * wasm/modules/js-wasm-function-namespace.js: Added. |
| (assert.throws): |
| * wasm/modules/js-wasm-function.js: Added. |
| (assert.throws): |
| * wasm/modules/js-wasm-global-namespace.js: Added. |
| (assert.throws): |
| * wasm/modules/js-wasm-global.js: Added. |
| (assert.throws): |
| * wasm/modules/js-wasm-memory-namespace.js: Added. |
| (assert.throws): |
| * wasm/modules/js-wasm-memory.js: Added. |
| (assert.throws): |
| * wasm/modules/js-wasm-start.js: Added. |
| (then): |
| * wasm/modules/js-wasm-table-namespace.js: Added. |
| (assert.throws): |
| * wasm/modules/js-wasm-table.js: Added. |
| (assert.throws): |
| * wasm/modules/memory.wasm: Added. |
| * wasm/modules/memory.wat: Added. |
| * wasm/modules/run-from-wasm.wasm: Added. |
| * wasm/modules/run-from-wasm.wat: Added. |
| * wasm/modules/run-from-wasm/check.js: Added. |
| (export.check): |
| * wasm/modules/start.wasm: Added. |
| * wasm/modules/start.wat: Added. |
| * wasm/modules/sum.wasm: Added. |
| * wasm/modules/sum.wat: Added. |
| * wasm/modules/table.wasm: Added. |
| * wasm/modules/table.wat: Added. |
| * wasm/modules/wasm-imports-js-exports.js: Added. |
| * wasm/modules/wasm-imports-js-exports/imports.wasm: Added. |
| * wasm/modules/wasm-imports-js-exports/imports.wat: Added. |
| * wasm/modules/wasm-imports-js-exports/sum.js: Added. |
| (export.sum): |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports.js: Added. |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wasm: Added. |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wat: Added. |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports/re-export.js: Added. |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wasm: Added. |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wat: Added. |
| * wasm/modules/wasm-imports-wasm-exports.js: Added. |
| * wasm/modules/wasm-imports-wasm-exports/imports.wasm: Added. |
| * wasm/modules/wasm-imports-wasm-exports/imports.wat: Added. |
| * wasm/modules/wasm-imports-wasm-exports/sum.wasm: Added. |
| * wasm/modules/wasm-imports-wasm-exports/sum.wat: Added. |
| * wasm/modules/wasm-js-cycle.js: Added. |
| * wasm/modules/wasm-js-cycle/entry.wasm: Added. |
| * wasm/modules/wasm-js-cycle/entry.wat: Added. |
| * wasm/modules/wasm-js-cycle/sum.js: Added. |
| (from.string_appeared_here.export.sum): |
| * wasm/modules/wasm-wasm-cycle.js: Added. |
| * wasm/modules/wasm-wasm-cycle/entry.wasm: Added. |
| * wasm/modules/wasm-wasm-cycle/entry.wat: Added. |
| * wasm/modules/wasm-wasm-cycle/sum.wasm: Added. |
| * wasm/modules/wasm-wasm-cycle/sum.wat: Added. |
| |
| 2018-04-17 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r230697, r230720, and r230724. |
| https://bugs.webkit.org/show_bug.cgi?id=184717 |
| |
| These caused multiple failures on the Test262 testers. |
| (Requested by mlewis13 on #webkit). |
| |
| Reverted changesets: |
| |
| "[WebAssembly][Modules] Prototype wasm import" |
| https://bugs.webkit.org/show_bug.cgi?id=184600 |
| https://trac.webkit.org/changeset/230697 |
| |
| "[WebAssembly][Modules] Implement function import from wasm |
| modules" |
| https://bugs.webkit.org/show_bug.cgi?id=184689 |
| https://trac.webkit.org/changeset/230720 |
| |
| "[JSC] Rename runWebAssembly to runWebAssemblySuite" |
| https://bugs.webkit.org/show_bug.cgi?id=184703 |
| https://trac.webkit.org/changeset/230724 |
| |
| 2018-04-17 JF Bastien <jfbastien@apple.com> |
| |
| A put is not an ExistingProperty put when we transition a structure because of an attributes change |
| https://bugs.webkit.org/show_bug.cgi?id=184706 |
| <rdar://problem/38871451> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/put-by-id-direct-strict-transition.js: Added. |
| (const.foo): |
| (j.const.obj.set hello): |
| * stress/put-by-id-direct-transition.js: Added. |
| (const.foo): |
| (j.const.obj.set hello): |
| * stress/put-getter-setter-by-id-strict-transition.js: Added. |
| (const.foo): |
| (j.const.obj.set hello): |
| * stress/put-getter-setter-by-id-transition.js: Added. |
| (const.foo): |
| (j.const.obj.set hello): |
| |
| 2018-04-16 Filip Pizlo <fpizlo@apple.com> |
| |
| PutStackSinkingPhase should know that KillStack means ConflictingFlush |
| https://bugs.webkit.org/show_bug.cgi?id=184672 |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/sink-put-stack-over-kill-stack.js: Added. |
| (avocado_1): |
| (apricot_0): |
| (__c_0): |
| (banana_2): |
| |
| 2018-04-17 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Rename runWebAssembly to runWebAssemblySuite |
| https://bugs.webkit.org/show_bug.cgi?id=184703 |
| |
| Reviewed by JF Bastien. |
| |
| And add runWebAssembly as a command to simplely run wasm modules. |
| |
| * wasm.yaml: |
| |
| 2018-04-17 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [WebAssembly][Modules] Implement function import from wasm modules |
| https://bugs.webkit.org/show_bug.cgi?id=184689 |
| |
| Reviewed by JF Bastien. |
| |
| * wasm.yaml: |
| * wasm/modules/js-wasm-cycle.js: Added. |
| * wasm/modules/js-wasm-cycle/entry.js: Added. |
| (from.string_appeared_here.export.return42): |
| * wasm/modules/js-wasm-cycle/sum.wasm: Added. |
| * wasm/modules/js-wasm-cycle/sum.wat: Added. |
| * wasm/modules/run-from-wasm.wasm: Added. |
| * wasm/modules/run-from-wasm.wat: Added. |
| * wasm/modules/run-from-wasm/check.js: Added. |
| (export.check): |
| * wasm/modules/wasm-imports-js-exports.js: Added. |
| * wasm/modules/wasm-imports-js-exports/imports.wasm: Added. |
| * wasm/modules/wasm-imports-js-exports/imports.wat: Added. |
| * wasm/modules/wasm-imports-js-exports/sum.js: Added. |
| (export.sum): |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports.js: Added. |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wasm: Added. |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wat: Added. |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports/re-export.js: Added. |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wasm: Added. |
| * wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wat: Added. |
| * wasm/modules/wasm-imports-wasm-exports.js: Added. |
| * wasm/modules/wasm-imports-wasm-exports/imports.wasm: Added. |
| * wasm/modules/wasm-imports-wasm-exports/imports.wat: Added. |
| * wasm/modules/wasm-imports-wasm-exports/sum.wasm: Added. |
| * wasm/modules/wasm-imports-wasm-exports/sum.wat: Added. |
| * wasm/modules/wasm-js-cycle.js: Added. |
| * wasm/modules/wasm-js-cycle/entry.wasm: Added. |
| * wasm/modules/wasm-js-cycle/entry.wat: Added. |
| * wasm/modules/wasm-js-cycle/sum.js: Added. |
| (from.string_appeared_here.export.sum): |
| * wasm/modules/wasm-wasm-cycle.js: Added. |
| * wasm/modules/wasm-wasm-cycle/entry.wasm: Added. |
| * wasm/modules/wasm-wasm-cycle/entry.wat: Added. |
| * wasm/modules/wasm-wasm-cycle/sum.wasm: Added. |
| * wasm/modules/wasm-wasm-cycle/sum.wat: Added. |
| |
| 2018-04-16 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [WebAssembly][Modules] Prototype wasm import |
| https://bugs.webkit.org/show_bug.cgi?id=184600 |
| |
| Reviewed by JF Bastien. |
| |
| Add wasm and wat files since module loader want to load wasm files from FS. |
| Currently, importing the other modules from wasm is not supported. |
| |
| * wasm.yaml: |
| * wasm/modules/constant.wasm: Added. |
| * wasm/modules/constant.wat: Added. |
| * wasm/modules/js-wasm-function-namespace.js: Added. |
| (assert.throws): |
| * wasm/modules/js-wasm-function.js: Added. |
| (assert.throws): |
| * wasm/modules/js-wasm-global-namespace.js: Added. |
| (assert.throws): |
| * wasm/modules/js-wasm-global.js: Added. |
| (assert.throws): |
| * wasm/modules/js-wasm-memory-namespace.js: Added. |
| (assert.throws): |
| * wasm/modules/js-wasm-memory.js: Added. |
| (assert.throws): |
| * wasm/modules/js-wasm-start.js: Added. |
| (then): |
| * wasm/modules/js-wasm-table-namespace.js: Added. |
| (assert.throws): |
| * wasm/modules/js-wasm-table.js: Added. |
| (assert.throws): |
| * wasm/modules/memory.wasm: Added. |
| * wasm/modules/memory.wat: Added. |
| * wasm/modules/start.wasm: Added. |
| * wasm/modules/start.wat: Added. |
| * wasm/modules/sum.wasm: Added. |
| * wasm/modules/sum.wat: Added. |
| * wasm/modules/table.wasm: Added. |
| * wasm/modules/table.wat: Added. |
| |
| 2018-04-14 Filip Pizlo <fpizlo@apple.com> |
| |
| Function.prototype.caller shouldn't return generator bodies |
| https://bugs.webkit.org/show_bug.cgi?id=184630 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/function-caller-async-arrow-function-body.js: Added. |
| * stress/function-caller-async-function-body.js: Added. |
| * stress/function-caller-async-generator-body.js: Added. |
| * stress/function-caller-generator-body.js: Added. |
| * stress/function-caller-generator-method-body.js: Added. |
| |
| 2018-04-12 Tomas Popela <tpopela@redhat.com> |
| |
| Unreviewed, skip JIT tests if it isn't enabled |
| |
| See https://bugs.webkit.org/show_bug.cgi?id=182730. |
| |
| * stress/big-int-spec-to-primitive.js: |
| * stress/big-int-spec-to-this.js: |
| |
| 2018-04-10 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESNext][BigInt] Add support for BigInt in SpeculatedType |
| https://bugs.webkit.org/show_bug.cgi?id=182470 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/big-int-spec-to-primitive.js: Added. |
| * stress/big-int-spec-to-this.js: Added. |
| * stress/big-int-strict-equals-jit.js: Added. |
| * stress/big-int-strict-spec-to-this.js: Added. |
| * stress/big-int-type-of-proven-type.js: Added. |
| |
| 2018-04-10 Filip Pizlo <fpizlo@apple.com> |
| |
| DFG AI and clobberize should agree with each other |
| https://bugs.webkit.org/show_bug.cgi?id=184440 |
| |
| Reviewed by Saam Barati. |
| |
| Add tests for all of the bugs I fixed. |
| |
| * stress/direct-arguments-out-of-bounds-change-structure.js: Added. |
| (foo): |
| * stress/new-typed-array-cse-effects.js: Added. |
| (foo): |
| * stress/scoped-arguments-out-of-bounds-change-structure.js: Added. |
| (foo.theO): |
| (foo): |
| * stress/string-from-char-code-change-structure-not-dead.js: Added. |
| (foo): |
| (i.valueOf): |
| (weirdValue.valueOf): |
| * stress/string-from-char-code-change-structure.js: Added. |
| (foo): |
| (i.valueOf): |
| (weirdValue.valueOf): |
| |
| 2018-04-09 Leo Balter <leonardo.balter@gmail.com> |
| |
| Fix errant Test262 files CRLF to LF for consistency with the original source |
| https://bugs.webkit.org/show_bug.cgi?id=184425 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * test262/test/built-ins/Math/acosh/nan-returns.js: |
| * test262/test/built-ins/Math/asinh/asinh-specialVals.js: |
| * test262/test/built-ins/Math/atanh/atanh-specialVals.js: |
| * test262/test/built-ins/Math/cbrt/cbrt-specialValues.js: |
| * test262/test/built-ins/Math/cbrt/prop-desc.js: |
| * test262/test/built-ins/Math/cosh/cosh-specialVals.js: |
| * test262/test/built-ins/Math/expm1/expm1-specialVals.js: |
| * test262/test/built-ins/Math/log10/Log10-specialVals.js: |
| * test262/test/built-ins/Math/log2/log2-basicTests.js: |
| * test262/test/built-ins/Math/sign/sign-specialVals.js: |
| * test262/test/built-ins/Math/sinh/sinh-specialVals.js: |
| * test262/test/built-ins/Math/tanh/tanh-specialVals.js: |
| * test262/test/built-ins/Math/trunc/trunc-sampleTests.js: |
| * test262/test/built-ins/Math/trunc/trunc-specialVals.js: |
| |
| 2018-04-08 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, remove incorrect entry in test262.yaml |
| https://bugs.webkit.org/show_bug.cgi?id=184266 |
| |
| * test262.yaml: |
| |
| 2018-04-08 Valerie Young <valerie@bocoup.com> |
| |
| [JSC] Update Test262 to April 6 version |
| https://bugs.webkit.org/show_bug.cgi?id=184266 |
| |
| Rubber stamped by Yusuke Suzuki. |
| |
| 2018-04-08 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Introduce op_get_by_id_direct |
| https://bugs.webkit.org/show_bug.cgi?id=183970 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/generator-prototype-copy.js: Added. |
| (gen): |
| (catch): |
| Adopted JF's tests. |
| |
| * stress/generator-type-check.js: Added. |
| (shouldThrow): |
| (foo2): |
| (i.shouldThrow): |
| * stress/get-by-id-direct-getter.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (obj.get hello): |
| (builtin.createBuiltin): |
| (obj2.get length): |
| * stress/get-by-id-direct.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (builtin.createBuiltin): |
| * test262.yaml: |
| We fixed long-standing spec compatibility issue. |
| As a result, this patch makes several test262 tests passed! |
| |
| |
| 2018-04-07 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, annotate test with @skip if $memoryLimited |
| https://bugs.webkit.org/show_bug.cgi?id=183894 |
| |
| * stress/json-stringified-overflow.js: |
| |
| 2018-04-06 Alexey Proskuryakov <ap@apple.com> |
| |
| Add svn:eol-style to line-terminator-normalisation-CR.js |
| https://bugs.webkit.org/show_bug.cgi?id=184341 |
| |
| * test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js: Added property svn:eol-style. |
| |
| 2018-04-06 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Unreviewed, remove errant LF from existing test262 test for CR line endings. |
| |
| * test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js: |
| |
| 2018-04-05 Ross Kirsling <ross.kirsling@sony.com> |
| |
| Unreviewed, rolling out r230320. |
| |
| Revert fix, as the root cause lies elsewhere. |
| |
| Reverted changeset: |
| |
| "[test262] Mark line-terminator-normalisation-CR.js as a |
| binary file." |
| https://bugs.webkit.org/show_bug.cgi?id=184341 |
| https://trac.webkit.org/changeset/230320 |
| |
| 2018-04-05 Ross Kirsling <ross.kirsling@sony.com> |
| |
| [test262] Mark line-terminator-normalisation-CR.js as a binary file. |
| https://bugs.webkit.org/show_bug.cgi?id=184341 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| This test is all about CR line endings, but `svn-apply` can't deal with them. |
| Treating the file as binary ensures that its contents never are never shown in a diff. |
| |
| * .gitattributes: Added. |
| |
| 2018-04-05 Robin Morisset <rmorisset@apple.com> |
| |
| Fix testcase (missing try/catch). |
| https://bugs.webkit.org/show_bug.cgi?id=183657 |
| |
| Unreviewed. |
| |
| * stress/large-unshift-splice.js |
| |
| 2018-04-04 Filip Pizlo <fpizlo@apple.com> |
| |
| REGRESSION(r222563): removed DoubleReal type check causes tons of crashes because CSE has never known how to handle SaneChain |
| https://bugs.webkit.org/show_bug.cgi?id=184319 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/array-push-nan-to-double-array-cse-sane-and-insane-chain.js: Added. |
| (foo): |
| (bar): |
| * stress/array-push-nan-to-double-array.js: Added. |
| (foo): |
| (bar): |
| |
| 2018-04-03 Mark Lam <mark.lam@apple.com> |
| |
| Test js-fixed-array-out-of-memory.js should be excluded for memory limited devices. |
| https://bugs.webkit.org/show_bug.cgi?id=184284 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/js-fixed-array-out-of-memory.js: |
| |
| 2018-03-31 Filip Pizlo <fpizlo@apple.com> |
| |
| JSC crash in JIT code with for-of loop and Array/Set iterators |
| https://bugs.webkit.org/show_bug.cgi?id=183174 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/hoist-get-by-offset-tower-with-inferred-types.js: Added. This test shows that fixing the bug didn't break hoisting of GetByOffset with inferred types. I confirmed that if I did break it, this test slows down by >7x. |
| (foo): |
| * stress/hoist-get-by-offset-with-control-dependent-inferred-type.js: Added. This test shows that the bug is fixed. |
| (f): |
| |
| 2018-03-30 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: support DataView compilation |
| https://bugs.webkit.org/show_bug.cgi?id=183342 |
| |
| Reviewed by Mark Lam. |
| |
| Test WebAssembly compilation using a DataView with offset. |
| |
| * wasm/regress/183342.js: Added. |
| (attempt.catch): |
| |
| 2018-03-30 Filip Pizlo <fpizlo@apple.com> |
| |
| Bytecode generator should not get_from_scope something that may be a hole into a variable that is already live |
| https://bugs.webkit.org/show_bug.cgi?id=184189 |
| |
| Reviewed by JF Bastien. |
| |
| * stress/load-hole-from-scope-into-live-var.js: Added. |
| (result.eval.try.switch): |
| (catch): |
| |
| 2018-03-30 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r230102. |
| |
| Caused assertion failures on JSC bots. |
| |
| Reverted changeset: |
| |
| "A stack overflow in the parsing of a builtin (called by |
| createExecutable) cause a crash instead of a catchable js |
| exception" |
| https://bugs.webkit.org/show_bug.cgi?id=184074 |
| https://trac.webkit.org/changeset/230102 |
| |
| 2018-03-30 Robin Morisset <rmorisset@apple.com> |
| |
| Inlining of a function that ends in op_unreachable in a non-tail position triggers an ASSERT |
| https://bugs.webkit.org/show_bug.cgi?id=183812 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/inlining-unreachable-non-tail.js: Added. |
| (foo.): |
| (foo): |
| |
| 2018-03-30 Robin Morisset <rmorisset@apple.com> |
| |
| A stack overflow in the parsing of a builtin (called by createExecutable) cause a crash instead of a catchable js exception |
| https://bugs.webkit.org/show_bug.cgi?id=184074 |
| <rdar://problem/37165897> |
| |
| Reviewed by Keith Miller. |
| |
| * stress/stack-overflow-while-parsing-builtin.js: Added. |
| (f): |
| |
| 2018-03-30 Robin Morisset <rmorisset@apple.com> |
| |
| Out-of-bounds accesses due to a missing check for MAX_STORAGE_VECTOR_LENGTH in unshiftCountForAnyIndexingType |
| https://bugs.webkit.org/show_bug.cgi?id=183657 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/large-unshift-splice.js: Added. |
| (make_contig_arr): |
| |
| 2018-03-28 Robin Morisset <rmorisset@apple.com> |
| |
| appendQuotedJSONString stops on arithmetic overflow instead of propagating it upwards |
| https://bugs.webkit.org/show_bug.cgi?id=183894 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/json-stringified-overflow.js: Added. |
| (catch): |
| |
| 2018-03-26 Filip Pizlo <fpizlo@apple.com> |
| |
| DFG should know that CreateThis can be effectful |
| https://bugs.webkit.org/show_bug.cgi?id=184013 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/create-this-property-change.js: Added. |
| (Foo): |
| (RealBar): |
| (get if): |
| * stress/create-this-structure-change-without-cse.js: Added. |
| (Foo): |
| (RealBar): |
| (get if): |
| * stress/create-this-structure-change.js: Added. |
| (Foo): |
| (RealBar): |
| (get if): |
| |
| 2018-03-22 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Introduces fused compare and jump |
| https://bugs.webkit.org/show_bug.cgi?id=177100 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/fused-jeq-slow.js: Added. |
| (shouldBe): |
| (testJEQ): |
| (testJNEQB): |
| (testJEQB): |
| (testJNEQF): |
| (testJEQF): |
| * stress/fused-jeq.js: Added. |
| (shouldBe): |
| (testJEQ): |
| (testJNEQB): |
| (testJEQB): |
| (testJNEQF): |
| (testJEQF): |
| * stress/fused-jstricteq-slow.js: Added. |
| (shouldBe): |
| (testJSTRICTEQ): |
| (testJNSTRICTEQB): |
| (testJSTRICTEQB): |
| (testJNSTRICTEQF): |
| (testJSTRICTEQF): |
| * stress/fused-jstricteq.js: Added. |
| (shouldBe): |
| (testJSTRICTEQ): |
| (testJNSTRICTEQB): |
| (testJSTRICTEQB): |
| (testJNSTRICTEQF): |
| (testJSTRICTEQF): |
| |
| 2018-03-22 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Clear MustGenerate for ToString(Number) converted from NumberToStringWithRadix |
| https://bugs.webkit.org/show_bug.cgi?id=183559 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/double-to-string-in-loop-removed.js: Added. |
| (test): |
| * stress/int32-to-string-in-loop-removed.js: Added. |
| (test): |
| * stress/int52-to-string-in-loop-removed.js: Added. |
| (test): |
| |
| 2018-03-22 Michael Saboff <msaboff@apple.com> |
| |
| Race Condition in arrayProtoFuncReverse() causes wrong results or crash |
| https://bugs.webkit.org/show_bug.cgi?id=183901 |
| |
| Reviewed by Keith Miller. |
| |
| New test. |
| |
| * stress/array-reverse-doesnt-clobber.js: Added. |
| (testArrayReverse): |
| (createArrayOfArrays): |
| (createArrayStorage): |
| |
| 2018-03-21 Filip Pizlo <fpizlo@apple.com> |
| |
| ScopedArguments should do poisoning and index masking |
| https://bugs.webkit.org/show_bug.cgi?id=183863 |
| |
| Reviewed by Mark Lam. |
| |
| Adds another stress test of scoped arguments. |
| |
| * stress/scoped-arguments-test.js: Added. |
| (foo): |
| |
| 2018-03-20 Saam Barati <sbarati@apple.com> |
| |
| We need to do proper bookkeeping of exitOK when inserting constants when sinking NewArrayBuffer |
| https://bugs.webkit.org/show_bug.cgi?id=183795 |
| <rdar://problem/38298694> |
| |
| Reviewed by JF Bastien. |
| |
| * stress/sink-phantom-new-array-buffer-exit-ok.js: Added. |
| (foo): |
| (bar): |
| |
| 2018-03-16 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG][FTL] Add vectorLengthHint for NewArray |
| https://bugs.webkit.org/show_bug.cgi?id=183694 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/vector-length-hint-array-constructor.js: Added. |
| (shouldBe): |
| (test): |
| * stress/vector-length-hint-new-array.js: Added. |
| (shouldBe): |
| (test): |
| |
| 2018-03-13 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG][FTL] Make ArraySlice(0) code tight |
| https://bugs.webkit.org/show_bug.cgi?id=183590 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/array-slice-with-zero.js: Added. |
| (shouldBe): |
| (test): |
| (test2): |
| * stress/array-slice-zero-args.js: Added. |
| (shouldBe): |
| (test): |
| |
| 2018-03-14 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] fix order of evaluation for ClassDefinitionEvaluation |
| https://bugs.webkit.org/show_bug.cgi?id=183523 |
| |
| Reviewed by Keith Miller. |
| |
| Computed property names need to be evaluated in source order during class |
| definition evaluation, as it's observable (and specified to work this way). |
| |
| This change improves compatibility with Chromium. |
| |
| * stress/class_elements.js: Added. |
| (test): |
| (test.C.prototype.effect): |
| (test.C.effect): |
| (test.C.prototype.get effect): |
| (test.C.prototype.set effect): |
| (test.C): |
| |
| 2018-03-11 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] AI should convert CreateThis to NewObject if the prototype object is proved |
| https://bugs.webkit.org/show_bug.cgi?id=183310 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/ai-create-this-to-new-object-fire.js: Added. |
| (assert): |
| (test): |
| (func): |
| (check): |
| (test.body.A): |
| (test.body.B): |
| (test.body): |
| * stress/ai-create-this-to-new-object.js: Added. |
| (assert): |
| (test): |
| (func): |
| (check): |
| (test.body.A): |
| (test.body.B): |
| (test.body): |
| |
| 2018-03-10 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [FTL] Drop NewRegexp for String.prototype.match with RegExp + global flag |
| https://bugs.webkit.org/show_bug.cgi?id=181848 |
| |
| Reviewed by Sam Weinig. |
| |
| * microbenchmarks/regexp-u-global-es5.js: Added. |
| (fn): |
| * microbenchmarks/regexp-u-global-es6.js: Added. |
| (fn): |
| * stress/materialized-regexp-has-correct-last-index-set-by-match-at-osr-exit.js: Added. |
| (shouldBe): |
| (test): |
| (i.switch): |
| * stress/materialized-regexp-has-correct-last-index-set-by-match.js: Added. |
| (shouldBe): |
| (test): |
| |
| 2018-03-07 Dominik Infuehr <dinfuehr@igalia.com> |
| |
| Disable test stress/var-injection-cache-invalidation.js on systems with limited memory |
| https://bugs.webkit.org/show_bug.cgi?id=183334 |
| |
| Reviewed by Žan Doberšek. |
| |
| * stress/var-injection-cache-invalidation.js: |
| |
| 2018-03-06 Dominik Infuehr <dinfuehr@igalia.com> |
| |
| [ARM] Disable tests that run out of memory |
| https://bugs.webkit.org/show_bug.cgi?id=182699 |
| |
| Reviewed by Žan Doberšek. |
| |
| Skip tests that run of of memory. Do not run |
| modules/module-jit-reachability.js without LLInt to prevent |
| running out of executable memory. |
| |
| * modules.yaml: |
| * modules/module-jit-reachability.js: |
| * stress/has-own-property-name-cache-string-keys.js: |
| * stress/has-own-property-name-cache-symbol-keys.js: |
| |
| 2018-03-01 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| ASSERTION FAILED: matchContextualKeyword(m_vm->propertyNames->async) |
| https://bugs.webkit.org/show_bug.cgi?id=183173 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/async-arrow-function-in-class-heritage.js: Added. |
| (testSyntax): |
| (testSyntaxError): |
| (SyntaxError): |
| |
| 2018-03-01 Saam Barati <sbarati@apple.com> |
| |
| We need to clear cached structures when having a bad time |
| https://bugs.webkit.org/show_bug.cgi?id=183256 |
| <rdar://problem/36245022> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/having-a-bad-time-with-derived-arrays.js: Added. |
| (assert): |
| (defineSetter): |
| (iterate): |
| (doSlice): |
| |
| 2018-02-28 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| JSC crash with `import("")` |
| https://bugs.webkit.org/show_bug.cgi?id=183175 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/import-with-empty-string.js: Added. |
| |
| 2018-02-27 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, skip FTL tests if FTL is disabled |
| https://bugs.webkit.org/show_bug.cgi?id=183071 |
| |
| * stress/has-indexed-property-array-storage-ftl.js: |
| * stress/has-indexed-property-slow-put-array-storage-ftl.js: |
| |
| 2018-02-25 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [FTL] Support PutByVal(ArrayStorage/SlowPutArrayStorage) |
| https://bugs.webkit.org/show_bug.cgi?id=182965 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/put-by-val-array-storage.js: Added. |
| (shouldBe): |
| (testArrayStorageInBounds): |
| * stress/put-by-val-direct-out-of-bounds-setter.js: Added. |
| (shouldBe): |
| (testInt32.createBuiltin): |
| (set for): |
| * stress/put-by-val-slow-put-array-storage.js: Added. |
| (shouldBe): |
| (testArrayStorageInBounds): |
| |
| 2018-02-26 Saam Barati <sbarati@apple.com> |
| |
| validateStackAccess should not validate if the offset is within the stack bounds |
| https://bugs.webkit.org/show_bug.cgi?id=183067 |
| <rdar://problem/37749988> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/dont-validate-stack-offset-in-b3-because-it-might-be-guarded-by-control-flow.js: Added. |
| (assert): |
| (test.a): |
| (test.b): |
| (test): |
| |
| 2018-02-26 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, skip FTL tests if FTL is disabled |
| https://bugs.webkit.org/show_bug.cgi?id=183071 |
| |
| * stress/has-indexed-property-array-storage-ftl.js: |
| * stress/has-indexed-property-slow-put-array-storage-ftl.js: |
| |
| 2018-02-23 Saam Barati <sbarati@apple.com> |
| |
| Make Number.isInteger an intrinsic |
| https://bugs.webkit.org/show_bug.cgi?id=183088 |
| |
| Reviewed by JF Bastien. |
| |
| * stress/number-is-integer-intrinsic.js: Added. |
| |
| 2018-02-23 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| WebAssembly: cache memory address / size on instance |
| https://bugs.webkit.org/show_bug.cgi?id=177305 |
| |
| Reviewed by JF Bastien. |
| |
| * wasm/function-tests/memory-reuse.js: Added. |
| (createWasmInstance): |
| (doCheckTrap): |
| (doMemoryGrow): |
| (doCheck): |
| (checkWasmInstancesWithSharedMemory): |
| |
| 2018-02-23 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Implement $vm.ftlTrue function for FTL testing |
| https://bugs.webkit.org/show_bug.cgi?id=183071 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/dead-fiat-value-to-int52-then-exit-not-double.js: |
| (foo): |
| * stress/dead-fiat-value-to-int52-then-exit-not-int52.js: |
| (foo): |
| * stress/dead-fiat-value-to-int52.js: |
| (foo): |
| * stress/dead-osr-entry-value.js: |
| (foo): |
| * stress/fiat-value-to-int52-then-exit-not-double.js: |
| (foo): |
| * stress/fiat-value-to-int52-then-exit-not-int52.js: |
| (foo): |
| * stress/fiat-value-to-int52-then-fail-to-fold.js: |
| (foo): |
| * stress/fiat-value-to-int52-then-fold.js: |
| (foo): |
| * stress/fiat-value-to-int52.js: |
| (foo): |
| * stress/fold-based-on-int32-proof-mul-branch.js: |
| (foo): |
| * stress/fold-profiled-call-to-call.js: |
| (foo): |
| * stress/fold-to-double-constant-then-exit.js: |
| (foo): |
| * stress/fold-to-int52-constant-then-exit.js: |
| (foo): |
| * stress/fold-to-primitive-in-cfa.js: |
| (foo): |
| * stress/fold-to-primitive-to-identity-in-cfa.js: |
| (foo): |
| * stress/has-indexed-property-array-storage-ftl.js: Added. |
| (shouldBe): |
| (test1): |
| (test2): |
| * stress/has-indexed-property-slow-put-array-storage-ftl.js: Added. |
| (shouldBe): |
| (test1): |
| (test2): |
| * stress/int52-ai-add-then-filter-int32.js: |
| (foo): |
| * stress/int52-ai-mul-and-clean-neg-zero-then-filter-int32.js: |
| (foo): |
| * stress/int52-ai-mul-then-filter-int32.js: |
| (foo): |
| * stress/int52-ai-neg-then-filter-int32.js: |
| (foo): |
| * stress/int52-ai-sub-then-filter-int32.js: |
| (foo): |
| * stress/licm-pre-header-cannot-exit-nested.js: |
| (foo): |
| * stress/licm-pre-header-cannot-exit.js: |
| (foo): |
| * stress/sparse-array-entry-update-144067.js: |
| (useMemoryToTriggerGCs): |
| * stress/test-spec-misc.js: |
| (foo): |
| * stress/tricky-array-bounds-checks.js: |
| (foo): |
| |
| 2018-02-22 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [FTL] Support HasIndexedProperty for ArrayStorage and SlowPutArrayStorage |
| https://bugs.webkit.org/show_bug.cgi?id=182792 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/has-indexed-property-array-storage.js: Added. |
| (shouldBe): |
| (test1): |
| (test2): |
| * stress/has-indexed-property-slow-put-array-storage.js: Added. |
| (shouldBe): |
| (test1): |
| (test2): |
| |
| 2018-02-20 Saam Barati <sbarati@apple.com> |
| |
| DFG::VarargsForwardingPhase should eliminate getting argument length |
| https://bugs.webkit.org/show_bug.cgi?id=182959 |
| |
| Reviewed by Keith Miller. |
| |
| * microbenchmarks/forward-arguments-dont-escape-on-arguments-length.js: Added. |
| |
| 2018-02-14 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [FTL] Support ArrayPush for ArrayStorage |
| https://bugs.webkit.org/show_bug.cgi?id=182782 |
| |
| Reviewed by Saam Barati. |
| |
| Existing array-push-multiple-storage.js covers ArrayPush(ArrayStorage) multiple arguments case. |
| |
| * stress/array-push-array-storage-beyond-int32.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-array-storage.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-array-storage-beyond-int32.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-storage-continuous.js: Added. |
| (shouldBe): |
| (test): |
| |
| 2018-02-14 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [FTL] Support ArrayPop for ArrayStorage |
| https://bugs.webkit.org/show_bug.cgi?id=182783 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/array-pop-array-storage.js: Added. |
| (shouldBe): |
| (test): |
| |
| 2018-02-14 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [FTL] Add Arrayify for ArrayStorage and SlowPutArrayStorage |
| https://bugs.webkit.org/show_bug.cgi?id=182731 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/arrayify-array-storage-array.js: Added. |
| (shouldBe): |
| (testArrayStorage): |
| * stress/arrayify-array-storage-non-array.js: Added. |
| (shouldBe): |
| (testArrayStorage): |
| * stress/arrayify-array-storage.js: Added. |
| (shouldBe): |
| (testArrayStorage): |
| * stress/arrayify-slow-put-array-storage-pass-array-storage.js: Added. |
| (shouldBe): |
| (testArrayStorage): |
| * stress/arrayify-slow-put-array-storage.js: Added. |
| (shouldBe): |
| (testArrayStorage): |
| |
| 2018-02-19 Saam Barati <sbarati@apple.com> |
| |
| Don't use JSFunction's allocation profile when getting the prototype can be effectful |
| https://bugs.webkit.org/show_bug.cgi?id=182942 |
| <rdar://problem/37584764> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/get-prototype-create-this-effectful.js: Added. |
| |
| 2018-02-16 Saam Barati <sbarati@apple.com> |
| |
| Fix bugs from r228411 |
| https://bugs.webkit.org/show_bug.cgi?id=182851 |
| <rdar://problem/37577732> |
| |
| Reviewed by JF Bastien. |
| |
| * stress/constant-folding-phase-insert-check-handle-varargs.js: Added. |
| |
| 2018-02-15 Filip Pizlo <fpizlo@apple.com> |
| |
| Unreviewed, roll out r228366 since it did not progress anything. |
| |
| * stress/gc-error-stack.js: Removed. |
| * stress/no-gc-error-stack.js: Removed. |
| |
| 2018-02-15 Tomas Popela <tpopela@redhat.com> |
| |
| Many stress tests fail with JIT disabled |
| https://bugs.webkit.org/show_bug.cgi?id=182730 |
| |
| Reviewed by Saam Barati. |
| |
| These tests are broken by design if the JIT is disabled - they test |
| the return value of numberOfDFGCompiles(), which is always set to |
| 1000000.0 in TestRunnerUtils.cpp and makes the tests to fail. |
| |
| * stress/arith-abs-on-various-types.js: |
| * stress/arith-abs-to-arith-negate-range-optimizaton.js: |
| * stress/arith-acos-on-various-types.js: |
| * stress/arith-acosh-on-various-types.js: |
| * stress/arith-asin-on-various-types.js: |
| * stress/arith-asinh-on-various-types.js: |
| * stress/arith-atan-on-various-types.js: |
| * stress/arith-atanh-on-various-types.js: |
| * stress/arith-cbrt-on-various-types.js: |
| * stress/arith-ceil-on-various-types.js: |
| * stress/arith-clz32-on-various-types.js: |
| * stress/arith-cos-on-various-types.js: |
| * stress/arith-cosh-on-various-types.js: |
| * stress/arith-expm1-on-various-types.js: |
| * stress/arith-floor-on-various-types.js: |
| * stress/arith-fround-on-various-types.js: |
| * stress/arith-log-on-various-types.js: |
| * stress/arith-log10-on-various-types.js: |
| * stress/arith-log2-on-various-types.js: |
| * stress/arith-negate-on-various-types.js: |
| * stress/arith-round-on-various-types.js: |
| * stress/arith-sin-on-various-types.js: |
| * stress/arith-sinh-on-various-types.js: |
| * stress/arith-sqrt-on-various-types.js: |
| * stress/arith-tan-on-various-types.js: |
| * stress/arith-tanh-on-various-types.js: |
| * stress/arith-trunc-on-various-types.js: |
| * stress/compare-strict-eq-on-various-types.js: |
| |
| 2018-02-14 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Skip stress/new-largeish-contiguous-array-with-size.js on arm. |
| |
| Unreviewed test gardening. |
| |
| * stress/new-largeish-contiguous-array-with-size.js: |
| |
| 2018-02-14 Saam Barati <sbarati@apple.com> |
| |
| Setting a VMTrap shouldn't look at topCallFrame since that may imply we're in C code and holding the malloc lock |
| https://bugs.webkit.org/show_bug.cgi?id=182801 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/watchdog-dont-malloc-when-in-c-code.js: Added. |
| |
| 2018-02-14 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Skip JSC test stress/activation-sink-default-value-tdz-error.js on debug. |
| https://bugs.webkit.org/show_bug.cgi?id=182526 |
| |
| Unreviewed test gardening. |
| |
| * stress/activation-sink-default-value-tdz-error.js: |
| |
| 2018-02-13 Saam Barati <sbarati@apple.com> |
| |
| putDirectIndexSlowOrBeyondVectorLength needs to convert to dictionary indexing mode always if attributes are present |
| https://bugs.webkit.org/show_bug.cgi?id=182755 |
| <rdar://problem/37080864> |
| |
| Reviewed by Keith Miller. |
| |
| * stress/always-enter-dictionary-indexing-mode-with-getter.js: Added. |
| (test1.o.get 10005): |
| (test1): |
| (test2.o.get 1000): |
| (test2): |
| |
| 2018-02-13 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] cache TaggedTemplate arrays by callsite rather than by contents |
| https://bugs.webkit.org/show_bug.cgi?id=182717 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| https://github.com/tc39/ecma262/pull/890 imposes a change to template |
| literals, to allow template callsite arrays to be collected when the |
| code containing the tagged template call is collected. This spec change |
| has received concensus and been ratified. |
| |
| This change eliminates the eternal map associating template contents |
| with arrays. |
| |
| * stress/tagged-template-object-collect.js: Renamed from JSTests/stress/tagged-template-registry-key-collect.js. |
| * stress/tagged-template-object.js: Renamed from JSTests/stress/tagged-template-registry-key.js. |
| * stress/tagged-templates-identity.js: |
| * stress/template-string-tags-eval.js: |
| * test262.yaml: |
| |
| 2018-02-13 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Support GetArrayLength on ArrayStorage in the FTL |
| https://bugs.webkit.org/show_bug.cgi?id=182625 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/array-storage-length.js: Added. |
| (shouldBe): |
| (testInBound): |
| (testUncountable): |
| (testSlowPutInBound): |
| (testSlowPutUncountable): |
| * stress/undecided-length.js: Added. |
| (shouldBe): |
| (test2): |
| |
| 2018-02-12 Saam Barati <sbarati@apple.com> |
| |
| DFG::emitCodeToGetArgumentsArrayLength needs to handle NewArrayBuffer/PhantomNewArrayBuffer |
| https://bugs.webkit.org/show_bug.cgi?id=182706 |
| <rdar://problem/36833681> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/get-array-length-phantom-new-array-buffer.js: Added. |
| (effects): |
| (foo): |
| |
| 2018-02-09 Filip Pizlo <fpizlo@apple.com> |
| |
| Don't waste memory for error.stack |
| https://bugs.webkit.org/show_bug.cgi?id=182656 |
| |
| Reviewed by Saam Barati. |
| |
| Tests the policy. |
| |
| * stress/gc-error-stack.js: Added. Shows that the GC forgets frames now. |
| * stress/no-gc-error-stack.js: Added. Shows that the GC won't forget things if you ask for the stack. |
| |
| 2018-02-08 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Update Test262 to Feb 9 version |
| https://bugs.webkit.org/show_bug.cgi?id=182468 |
| |
| Reviewed by Saam Barati. |
| |
| 2018-02-08 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, fix invalid line terminator in old test262 file part 2 |
| https://bugs.webkit.org/show_bug.cgi?id=182468 |
| |
| * test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js: |
| |
| 2018-02-08 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, fix invalid line terminator in old test262 file |
| https://bugs.webkit.org/show_bug.cgi?id=182468 |
| |
| * test262/test/language/literals/regexp/7.8.5-1.js: |
| |
| 2018-02-06 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Implement Array.prototype.flatMap and Array.prototype.flatten |
| https://bugs.webkit.org/show_bug.cgi?id=182440 |
| |
| Reviewed by Darin Adler. |
| |
| * stress/array-flatmap.js: Added. |
| (shouldBe): |
| (shouldBeArray): |
| (shouldThrow): |
| (var): |
| * stress/array-flatten.js: Added. |
| (shouldBe): |
| (shouldBeArray): |
| * test262.yaml: |
| * test262/test/built-ins/Array/prototype/flatMap/depth-always-one.js: |
| (3.flatMap): |
| Pick test262 82c6148980332febe92a544a1fb653718e9fdb57 change. |
| |
| 2018-02-06 Keith Miller <keith_miller@apple.com> |
| |
| put_to_scope/get_from_scope should not cache lexical scopes when expecting a global object |
| https://bugs.webkit.org/show_bug.cgi?id=182549 |
| <rdar://problem/36189995> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/var-injection-cache-invalidation.js: Added. |
| (allocateLotsOfThings): |
| (test): |
| |
| 2018-02-03 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, follow up for test262 update |
| https://bugs.webkit.org/show_bug.cgi?id=182288 |
| |
| * test262.yaml: |
| |
| 2018-02-02 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Update test262 to Jan 30 version |
| https://bugs.webkit.org/show_bug.cgi?id=182288 |
| |
| Unreviewed test gardening. |
| |
| * test262.yaml: Remove entry for missing test language/expressions/assignment/white-space.js |
| |
| 2018-02-02 Saam Barati <sbarati@apple.com> |
| |
| When BytecodeParser inserts Unreachable after ForceOSRExit it needs to update ArgumentPositions for Flushes it inserts |
| https://bugs.webkit.org/show_bug.cgi?id=182368 |
| <rdar://problem/36932466> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/flush-after-force-exit-in-bytecodeparser-needs-to-update-argument-positions.js: Added. |
| (runNearStackLimit.t): |
| (runNearStackLimit): |
| (try.runNearStackLimit): |
| (catch): |
| |
| 2018-02-02 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Update test262 to Jan 30 version |
| https://bugs.webkit.org/show_bug.cgi?id=182288 |
| |
| Rubber stamped by Saam Barati. |
| |
| This patch updates test262 to the latest one, Jan 30 version. |
| Since added and changed files are too many, we cannot create ChangeLog. |
| The following files are changed. |
| |
| Several files are intentionally omitted due to merge failures. We should investigate how to merge files |
| including some special line terminators (like u2028, u2029). |
| |
| * test262.yaml: |
| * test262/test262-Revision.txt: |
| * test262/*: |
| |
| 2018-02-02 Guillaume Emont <guijemont@igalia.com> |
| |
| JSTests: Skip mozilla/js1_5/Array/regress-157652.js on all memory limited platforms |
| https://bugs.webkit.org/show_bug.cgi?id=182411 |
| |
| Reviewed by Carlos Alberto Lopez Perez. |
| |
| This is skipped only on arm memory limited platforms. Until recently |
| it was not a problem on MIPS as the butterfly was not initialized. But |
| since r227435, the butterfly is initialized in that test and therefore |
| memory is allocated, and the test typically takes around 512M, which |
| means it generally gets OOM-killed on the MIPS buildbot. |
| |
| * mozilla/mozilla-tests.yaml: |
| |
| 2018-02-01 Mark Lam <mark.lam@apple.com> |
| |
| Fix broken bounds check in FTL's compileGetMyArgumentByVal(). |
| https://bugs.webkit.org/show_bug.cgi?id=182419 |
| <rdar://problem/37044945> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-182419.js: Added. |
| |
| 2018-02-01 Keith Miller <keith_miller@apple.com> |
| |
| Fix crashes due to mishandling custom sections. |
| https://bugs.webkit.org/show_bug.cgi?id=182404 |
| <rdar://problem/36935863> |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/Builder.js: |
| (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section): |
| * wasm/js-api/validate.js: |
| (assert.truthy): |
| |
| 2018-01-31 Saam Barati <sbarati@apple.com> |
| |
| JSC incorrectly interpreting script, sets Global Property instead of Global Lexical variable (LiteralParser / JSONP path) |
| https://bugs.webkit.org/show_bug.cgi?id=182074 |
| <rdar://problem/36846261> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/jsonp-program-evaluate-path-must-consider-global-lexical-environment.js: Added. |
| (assert): |
| (let.func): |
| (let.o.foo): |
| (varFunc): |
| |
| 2018-01-30 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, update test262 expects |
| https://bugs.webkit.org/show_bug.cgi?id=182232 |
| |
| * test262.yaml: |
| |
| 2018-01-29 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Implement trimStart and trimEnd |
| https://bugs.webkit.org/show_bug.cgi?id=182233 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/trim.js: Added. |
| (shouldBe): |
| (startTest): |
| (endTest): |
| (trimTest): |
| |
| 2018-01-29 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Relax line terminators in String to make JSON subset of JS |
| https://bugs.webkit.org/show_bug.cgi?id=182232 |
| |
| Reviewed by Keith Miller. |
| |
| * ChakraCore/test/es5/Lex_u3.baseline-jsc: |
| * stress/relaxed-line-terminators-in-string.js: Added. |
| (shouldBe): |
| |
| 2018-01-29 Michael Saboff <msaboff@apple.com> |
| |
| REGRESSION (r227341): DFG_ASSERT failure at JSC::DFG::AtTailAbstractState::forNode() |
| https://bugs.webkit.org/show_bug.cgi?id=182249 |
| |
| Reviewed by Keith Miller. |
| |
| New regression test. |
| |
| * stress/compare-clobber-untypeduse.js: Added. |
| |
| 2018-01-29 Matt Lewis <jlewis3@apple.com> |
| |
| Unreviewed, rolling out r227725. |
| |
| This caused internal failures. |
| |
| Reverted changeset: |
| |
| "JSC Sampling Profiler: Detect tester and testee when sampling |
| in RegExp JIT" |
| https://bugs.webkit.org/show_bug.cgi?id=152729 |
| https://trac.webkit.org/changeset/227725 |
| |
| 2018-01-29 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| JSC Sampling Profiler: Detect tester and testee when sampling in RegExp JIT |
| https://bugs.webkit.org/show_bug.cgi?id=152729 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/sampling-profiler-regexp.js: Added. |
| (platformSupportsSamplingProfiler.test): |
| (platformSupportsSamplingProfiler.baz): |
| (platformSupportsSamplingProfiler): |
| |
| 2018-01-29 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG][FTL] WeakMap#set should have DFG node |
| https://bugs.webkit.org/show_bug.cgi?id=180015 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/weakmap-set-change-get.js: Added. |
| (shouldBe): |
| (test): |
| * stress/weakmap-set-cse.js: Added. |
| (shouldBe): |
| (test): |
| * stress/weakset-add-change-get.js: Added. |
| (shouldBe): |
| * stress/weakset-add-cse.js: Added. |
| (shouldBe): |
| |
| 2018-01-27 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| DFG strength reduction fails to convert NumberToStringWithValidRadixConstant for 0 to constant '0' |
| https://bugs.webkit.org/show_bug.cgi?id=182213 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/int32-min-to-string.js: Added. |
| (shouldBe): |
| (test2): |
| (test4): |
| (test8): |
| (test16): |
| (test32): |
| * stress/zero-to-string.js: Added. |
| (shouldBe): |
| (test2): |
| (test4): |
| (test8): |
| (test16): |
| (test32): |
| |
| 2018-01-23 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Add more module scope related tests with code evaluation by string |
| https://bugs.webkit.org/show_bug.cgi?id=181983 |
| |
| Reviewed by Sam Weinig. |
| |
| Add more module scope related tests. When the original tests are landed, |
| we do not have browser integration. This patch adds more module scope tests |
| with dynamically created script evaluation. We add tests with Function |
| constructor, direct eval, indirect eval, setTimeout, setInterval, and event handlers. |
| |
| * modules/scopes-eval.js: Added. |
| (shouldBe): |
| * modules/scopes.js: |
| (shouldBe): |
| |
| 2018-01-23 Filip Pizlo <fpizlo@apple.com> |
| |
| Unreviewed, retire some microbenchmarks that are proportionately very slow. Benchmark running time should be proportional to their value. Microbenchmarks have little value, so they should be very fast. |
| |
| * microbenchmarks/array-push-3.js: Removed. |
| * microbenchmarks/bigswitch-indirect-symbol-or-undefined.js: Removed. |
| * microbenchmarks/double-to-int32.js: Removed. |
| * microbenchmarks/fake-iterators-that-throw-when-finished.js: Removed. |
| * microbenchmarks/ftl-polymorphic-bitand.js: Removed. |
| * microbenchmarks/ftl-polymorphic-bitor.js: Removed. |
| * microbenchmarks/ftl-polymorphic-bitxor.js: Removed. |
| * microbenchmarks/ftl-polymorphic-lshift.js: Removed. |
| * microbenchmarks/ftl-polymorphic-rshift.js: Removed. |
| * microbenchmarks/ftl-polymorphic-sub.js: Removed. |
| * microbenchmarks/ftl-polymorphic-urshift.js: Removed. |
| * microbenchmarks/map-constant-key.js: Removed. |
| * microbenchmarks/nested-function-parsing.js: Removed. |
| * microbenchmarks/rest-parameter-allocation-elimination.js: Removed. |
| * microbenchmarks/spread-large-array.js: Removed. |
| * microbenchmarks/string-add-constant-folding.js: Removed. |
| * microbenchmarks/to-lower-case.js: Removed. |
| * microbenchmarks/undefined-property-access.js: Removed. |
| * slowMicrobenchmarks/array-push-3.js: Copied from JSTests/microbenchmarks/array-push-3.js. |
| * slowMicrobenchmarks/bigswitch-indirect-symbol-or-undefined.js: Copied from JSTests/microbenchmarks/bigswitch-indirect-symbol-or-undefined.js. |
| * slowMicrobenchmarks/double-to-int32.js: Copied from JSTests/microbenchmarks/double-to-int32.js. |
| * slowMicrobenchmarks/fake-iterators-that-throw-when-finished.js: Copied from JSTests/microbenchmarks/fake-iterators-that-throw-when-finished.js. |
| * slowMicrobenchmarks/ftl-polymorphic-bitand.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-bitand.js. |
| * slowMicrobenchmarks/ftl-polymorphic-bitor.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-bitor.js. |
| * slowMicrobenchmarks/ftl-polymorphic-bitxor.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-bitxor.js. |
| * slowMicrobenchmarks/ftl-polymorphic-lshift.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-lshift.js. |
| * slowMicrobenchmarks/ftl-polymorphic-rshift.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-rshift.js. |
| * slowMicrobenchmarks/ftl-polymorphic-sub.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-sub.js. |
| * slowMicrobenchmarks/ftl-polymorphic-urshift.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-urshift.js. |
| * slowMicrobenchmarks/map-constant-key.js: Copied from JSTests/microbenchmarks/map-constant-key.js. |
| * slowMicrobenchmarks/nested-function-parsing.js: Copied from JSTests/microbenchmarks/nested-function-parsing.js. |
| * slowMicrobenchmarks/rest-parameter-allocation-elimination.js: Copied from JSTests/microbenchmarks/rest-parameter-allocation-elimination.js. |
| * slowMicrobenchmarks/spread-large-array.js: Copied from JSTests/microbenchmarks/spread-large-array.js. |
| * slowMicrobenchmarks/string-add-constant-folding.js: Copied from JSTests/microbenchmarks/string-add-constant-folding.js. |
| * slowMicrobenchmarks/to-lower-case.js: Copied from JSTests/microbenchmarks/to-lower-case.js. |
| * slowMicrobenchmarks/undefined-property-access.js: Copied from JSTests/microbenchmarks/undefined-property-access.js. |
| |
| 2018-01-23 Robin Morisset <rmorisset@apple.com> |
| |
| Update the argument count in DFGByteCodeParser::handleRecursiveCall |
| https://bugs.webkit.org/show_bug.cgi?id=181739 |
| <rdar://problem/36627662> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/recursive-tail-call-with-different-argument-count.js: Added. |
| (foo): |
| (bar): |
| |
| 2018-01-22 Michael Saboff <msaboff@apple.com> |
| |
| DFG abstract interpreter needs to properly model effects of some Math ops |
| https://bugs.webkit.org/show_bug.cgi?id=181886 |
| |
| Reviewed by Saam Barati. |
| |
| New regression test. |
| |
| * stress/arith-nodes-abstract-interpreter-untypeduse.js: Added. |
| (test): |
| |
| 2018-01-20 Caio Lima <ticaiolima@gmail.com> |
| |
| [JSC] NumberPrototype::extractRadixFromArgs incorrectly cast double to int32_t |
| https://bugs.webkit.org/show_bug.cgi?id=181182 |
| |
| Reviewed by Darin Adler. |
| |
| * stress/big-int-prototype-to-string-cast-overflow.js: Added. |
| * stress/big-int-prototype-to-string-exception.js: Added. |
| * stress/big-int-prototype-to-string-wrong-values.js: Added. |
| * stress/number-prototype-to-string-cast-overflow.js: Added. |
| * stress/number-prototype-to-string-exception.js: Added. |
| * stress/number-prototype-to-string-wrong-values.js: Added. |
| |
| 2018-01-19 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Disable Atomics when SharedArrayBuffer isn’t enabled |
| https://bugs.webkit.org/show_bug.cgi?id=181572 |
| |
| Unreviewed test gardening. |
| |
| * test262.yaml: Skip tests that fail after this change. |
| |
| 2018-01-19 Saam Barati <sbarati@apple.com> |
| |
| Kill ArithNegate's ArithProfile assert inside BytecodeParser |
| https://bugs.webkit.org/show_bug.cgi?id=181877 |
| <rdar://problem/36630552> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/arith-profile-for-negate-can-see-non-number-due-to-dfg-osr-exit-profiling.js: Added. |
| (runNearStackLimit): |
| (f1): |
| (f2): |
| (f3): |
| (i.catch): |
| (i.try.runNearStackLimit): |
| (catch): |
| |
| 2018-01-19 Saam Barati <sbarati@apple.com> |
| |
| Spread's effects are modeled incorrectly both in AI and in Clobberize |
| https://bugs.webkit.org/show_bug.cgi?id=181867 |
| <rdar://problem/36290415> |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/ai-needs-to-model-spreads-effects.js: Added. |
| (try.p.Symbol.iterator): |
| (try.go): |
| (catch): |
| * stress/clobberize-needs-to-model-spread-effects.js: Added. |
| (assert): |
| (foo): |
| (a.Symbol.iterator): |
| |
| 2018-01-19 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, reduce count of iteration to fix timing out debug JSC test |
| https://bugs.webkit.org/show_bug.cgi?id=181535 |
| |
| * stress/inserted-recovery-with-set-last-index.js: |
| |
| 2018-01-17 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG][FTL] Introduce PhantomNewRegexp and RegExpExecNonGlobalOrSticky |
| https://bugs.webkit.org/show_bug.cgi?id=181535 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/inserted-recovery-with-set-last-index.js: Added. |
| (shouldBe): |
| (foo): |
| * stress/materialize-regexp-at-osr-exit.js: Added. |
| (shouldBe): |
| (test): |
| * stress/materialize-regexp-cyclic-regexp-at-osr-exit.js: Added. |
| (shouldBe): |
| (test): |
| * stress/materialize-regexp-cyclic-regexp.js: Added. |
| (shouldBe): |
| (test): |
| (i.switch): |
| * stress/materialize-regexp-cyclic.js: Added. |
| (shouldBe): |
| (test): |
| (i.switch): |
| * stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js: Added. |
| (bar): |
| (foo): |
| (test): |
| * stress/materialize-regexp-referenced-from-phantom-regexp.js: Added. |
| (bar): |
| (foo): |
| (test): |
| * stress/materialize-regexp.js: Added. |
| (shouldBe): |
| (test): |
| * stress/phantom-regexp-regexp-exec.js: Added. |
| (shouldBe): |
| (test): |
| * stress/phantom-regexp-string-match.js: Added. |
| (shouldBe): |
| (test): |
| * stress/regexp-last-index-sinking.js: Added. |
| (shouldBe): |
| (test): |
| |
| 2018-01-17 Saam Barati <sbarati@apple.com> |
| |
| Disable Atomics when SharedArrayBuffer isn’t enabled |
| https://bugs.webkit.org/show_bug.cgi?id=181572 |
| <rdar://problem/36553206> |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/isLockFree.js: |
| |
| 2018-01-17 Saam Barati <sbarati@apple.com> |
| |
| DFG::Node::convertToConstant needs to clear the varargs flags |
| https://bugs.webkit.org/show_bug.cgi?id=181697 |
| <rdar://problem/36497332> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/dfg-node-convert-to-constant-must-clear-varargs-flags.js: Added. |
| (doIndexOf): |
| (bar): |
| (i.bar): |
| |
| 2018-01-16 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r226937. |
| |
| Tests added with this change are failing due to a missing |
| exception check. |
| |
| Reverted changeset: |
| |
| "[JSC] NumberPrototype::extractRadixFromArgs incorrectly cast |
| double to int32_t" |
| https://bugs.webkit.org/show_bug.cgi?id=181182 |
| https://trac.webkit.org/changeset/226937 |
| |
| 2018-01-13 Caio Lima <ticaiolima@gmail.com> |
| |
| [JSC] NumberPrototype::extractRadixFromArgs incorrectly cast double to int32_t |
| https://bugs.webkit.org/show_bug.cgi?id=181182 |
| |
| Reviewed by Darin Adler. |
| |
| * bigIntTests.yaml: |
| * stress/big-int-constructor.js: |
| * stress/big-int-prototype-to-string-cast-overflow.js: Added. |
| (assert): |
| (assertThrowRangeError): |
| * stress/number-prototype-to-string-cast-overflow.js: Added. |
| (assert): |
| (assertThrowRangeError): |
| |
| 2018-01-12 Saam Barati <sbarati@apple.com> |
| |
| CheckStructure can be incorrectly subsumed by CheckStructureOrEmpty |
| https://bugs.webkit.org/show_bug.cgi?id=181177 |
| <rdar://problem/36205704> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/check-structure-ir-ensures-empty-does-not-flow-through.js: Added. |
| (runNearStackLimit.t): |
| (runNearStackLimit): |
| (test.f): |
| (test): |
| |
| 2018-01-12 Saam Barati <sbarati@apple.com> |
| |
| Each variant of a polymorphic inlined call should be exitOK at the top of the block |
| https://bugs.webkit.org/show_bug.cgi?id=181562 |
| <rdar://problem/36445624> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/each-block-at-top-of-polymorphic-call-inlining-should-be-exitOK.js: Added. |
| (f): |
| (foo): |
| |
| 2018-01-11 Saam Barati <sbarati@apple.com> |
| |
| When inserting Unreachable in byte code parser we need to flush all the right things |
| https://bugs.webkit.org/show_bug.cgi?id=181509 |
| <rdar://problem/36423110> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/proper-flushing-when-we-insert-unreachable-after-force-exit-in-bytecode-parser.js: Added. |
| |
| 2018-01-11 Saam Barati <sbarati@apple.com> |
| |
| JITMathIC code in the FTL is wrong when code gets duplicated |
| https://bugs.webkit.org/show_bug.cgi?id=181525 |
| <rdar://problem/36351993> |
| |
| Reviewed by Michael Saboff and Keith Miller. |
| |
| * stress/allow-math-ic-b3-code-duplication.js: Added. |
| |
| 2018-01-11 Saam Barati <sbarati@apple.com> |
| |
| Our for-in caching is wrong when we add indexed properties on things in the prototype chain |
| https://bugs.webkit.org/show_bug.cgi?id=181508 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/for-in-prototype-with-indexed-properties-should-prevent-caching.js: Added. |
| (assert): |
| (test1.foo): |
| (test1): |
| (test2.foo): |
| (test2): |
| |
| 2018-01-09 Mark Lam <mark.lam@apple.com> |
| |
| ASSERTION FAILED: pair.second->m_type & PropertyNode::Getter |
| https://bugs.webkit.org/show_bug.cgi?id=181388 |
| <rdar://problem/36349351> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-181388.js: Added. |
| |
| 2018-01-08 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: mask indexed accesses to Table |
| https://bugs.webkit.org/show_bug.cgi?id=181412 |
| <rdar://problem/36363236> |
| |
| Reviewed by Saam Barati. |
| |
| Update error messages. |
| |
| * wasm/js-api/table.js: |
| (assert.throws.WebAssembly.Table.prototype.grow): |
| |
| 2018-01-08 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Disable SharedArrayBuffer tests missed in r226386. |
| https://bugs.webkit.org/show_bug.cgi?id=181266 |
| |
| Unreviewed test gardening. |
| |
| * test262.yaml: |
| |
| 2018-01-06 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Object.getOwnPropertyNames includes "arguments" and "caller" for bound functions |
| https://bugs.webkit.org/show_bug.cgi?id=181321 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/bound-function-does-not-have-caller-and-arguments.js: Added. |
| (shouldBe): |
| (testFunction): |
| * test262.yaml: |
| |
| 2018-01-05 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, attempt to fix test262 after r226386. |
| |
| * test262.yaml: |
| |
| 2018-01-04 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Define defs for MapSet/SetAdd to participate in CSE |
| https://bugs.webkit.org/show_bug.cgi?id=179911 |
| |
| Reviewed by Saam Barati. |
| |
| In addition to these tests, map-set-cse.js and set-add-cse.js work. |
| |
| * stress/map-set-change-get.js: Added. |
| (shouldBe): |
| (test): |
| * stress/map-set-create-bucket.js: Added. |
| (shouldBe): |
| (test): |
| * stress/set-add-create-bucket.js: Added. |
| (shouldBe): |
| |
| 2018-01-03 Michael Saboff <msaboff@apple.com> |
| |
| Disable SharedArrayBuffers from Web API |
| https://bugs.webkit.org/show_bug.cgi?id=181266 |
| |
| Reviewed by Saam Barati. |
| |
| Disabled SharedArrayBuffer tests. |
| |
| * stress/SharedArrayBuffer-opt.js: |
| * stress/SharedArrayBuffer.js: |
| * stress/array-buffer-byte-length.js: |
| * stress/atomics-add-uint32.js: |
| * stress/atomics-known-int-use.js: |
| * stress/atomics-neg-zero.js: |
| * stress/atomics-store-return.js: |
| * stress/lars-sab-workers.js: |
| * stress/regress-159779-1.js: |
| * stress/regress-159779-2.js: |
| * stress/regress-170473.js: |
| * test262.yaml: |
| |
| 2018-01-03 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESNext][BigInt] Failing test stress/big-int-constructor-oom.js into MIPS |
| https://bugs.webkit.org/show_bug.cgi?id=181258 |
| |
| Reviewed by Antonio Gomes. |
| |
| * stress/big-int-constructor-gc.js: |
| * stress/big-int-constructor-oom.js: |
| |
| 2018-01-03 Robin Morisset <rmorisset@apple.com> |
| |
| Inlining of a function that ends in op_unreachable crashes |
| https://bugs.webkit.org/show_bug.cgi?id=181027 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/inlining-unreachable.js: Added. |
| (bar): |
| (baz): |
| (i.catch): |
| |
| 2018-01-02 Saam Barati <sbarati@apple.com> |
| |
| Incorrect assertion inside AccessCase |
| https://bugs.webkit.org/show_bug.cgi?id=181200 |
| <rdar://problem/35494754> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/setter-same-base-and-rhs-invalid-assertion-inside-access-case.js: Added. |
| (ctor): |
| (theFunc): |
| (run): |
| |
| 2018-01-02 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESNext][BigInt] Implement BigIntConstructor and BigIntPrototype |
| https://bugs.webkit.org/show_bug.cgi?id=175359 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * bigIntTests.yaml: |
| * stress/big-int-as-key.js: Added. |
| * stress/big-int-constructor-gc.js: Added. |
| * stress/big-int-constructor-oom.js: Added. |
| * stress/big-int-constructor-properties.js: Added. |
| * stress/big-int-constructor-prototype-prop-descriptor.js: Added. |
| * stress/big-int-constructor-prototype.js: Added. |
| * stress/big-int-constructor.js: Added. |
| * stress/big-int-function-apply.js: |
| * stress/big-int-length.js: Added. |
| * stress/big-int-prop-descriptor.js: Added. |
| * stress/big-int-proto-constructor.js: Added. |
| * stress/big-int-proto-name.js: Added. |
| * stress/big-int-prototype-properties.js: Added. |
| * stress/big-int-prototype-proto.js: Added. |
| * stress/big-int-prototype-value-of.js: Added. |
| * stress/big-int-prototype-symbol-to-string-tag.js: Added. |
| * stress/big-int-prototype-to-string-apply.js: Added. |
| * stress/big-int-to-object.js: Added. |
| * stress/big-int-to-string.js: Added. |
| |
| 2017-12-28 Saam Barati <sbarati@apple.com> |
| |
| Assertion used to determine if something is an async generator is wrong |
| https://bugs.webkit.org/show_bug.cgi?id=181168 |
| <rdar://problem/35640560> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/async-generator-assertion.js: Added. |
| |
| 2017-12-21 Guillaume Emont <guijemont@igalia.com> |
| |
| Skip stress/splay-flash-access tests on memory limited platforms |
| https://bugs.webkit.org/show_bug.cgi?id=181086 |
| |
| Reviewed by Carlos Alberto Lopez Perez. |
| |
| These tests use about 185M of memory, and occasionally get OOM-killed |
| on memory limited platforms. |
| |
| * stress/splay-flash-access-1ms.js: |
| * stress/splay-flash-access.js: |
| |
| 2017-12-21 Guillaume Emont <guijemont@igalia.com> |
| |
| Skip slow jsc tests on embedded platforms |
| https://bugs.webkit.org/show_bug.cgi?id=180937 |
| |
| Reviewed by Carlos Alberto Lopez Perez. |
| |
| The tests typeProfiler/deltablue-for-of.js and |
| typeProfiler/getter-richards.js take a very long time in the |
| ftl-no-cjit-type-profiler-force-poly-proto on embedded platform, and |
| thus always timeout. They should be skipped on these platforms. |
| |
| * typeProfiler/deltablue-for-of.js: Skip on arm*/mips. |
| * typeProfiler/getter-richards.js: Skip on arm*/mips. |
| |
| 2017-12-19 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Do not check isValid() in op_new_regexp |
| https://bugs.webkit.org/show_bug.cgi?id=180970 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regexp-syntax-error-invalid-flags.js: Added. |
| (shouldThrow): |
| |
| 2017-12-18 Guillaume Emont <guijemont@igalia.com> |
| |
| Skip stress/call-apply-exponential-bytecode-size.js unless x86-64 or arm64 |
| https://bugs.webkit.org/show_bug.cgi?id=180712 |
| |
| Reviewed by Michael Catanzaro. |
| |
| stress/call-apply-exponential-bytecode-size.js crashes if the |
| ExecutableAllocator's fixedExecutableMemoryPoolSize is less than 64 |
| MB. Currently it is 64 MB or more only on x86-64 and arm64, so we |
| should skip the test on other platforms. |
| |
| * stress/call-apply-exponential-bytecode-size.js: |
| |
| 2017-12-17 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [FTL] NewArrayBuffer should be sinked if it is only used for spreading |
| https://bugs.webkit.org/show_bug.cgi?id=179762 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/call-varargs-double-new-array-buffer.js: Added. |
| (assert): |
| (bar): |
| (foo): |
| * stress/call-varargs-spread-new-array-buffer.js: Added. |
| (assert): |
| (bar): |
| (foo): |
| * stress/call-varargs-spread-new-array-buffer2.js: Added. |
| (assert): |
| (bar): |
| (foo): |
| * stress/forward-varargs-double-new-array-buffer.js: Added. |
| (assert): |
| (test.baz): |
| (test.bar): |
| (test.foo): |
| (test): |
| * stress/new-array-buffer-sinking-osrexit.js: Added. |
| (target): |
| (test): |
| * stress/new-array-with-spread-double-new-array-buffer.js: Added. |
| (shouldBe): |
| (test): |
| * stress/new-array-with-spread-with-phantom-new-array-buffer.js: Added. |
| (shouldBe): |
| (target): |
| (test): |
| * stress/phantom-new-array-buffer-forward-varargs.js: Added. |
| (assert): |
| (test1.bar): |
| (test1.foo): |
| (test1): |
| (test2.bar): |
| (test2.foo): |
| (test3.baz): |
| (test3.bar): |
| (test3.foo): |
| (test4.baz): |
| (test4.bar): |
| (test4.foo): |
| * stress/phantom-new-array-buffer-forward-varargs2.js: Added. |
| (assert): |
| (test.baz): |
| (test.bar): |
| (test.foo): |
| (test): |
| * stress/phantom-new-array-buffer-osr-exit.js: Added. |
| (assert): |
| (baz): |
| (bar): |
| (effects): |
| (foo): |
| |
| 2017-12-14 Saam Barati <sbarati@apple.com> |
| |
| The CleanUp after LICM is erroneously removing a Check |
| https://bugs.webkit.org/show_bug.cgi?id=180852 |
| <rdar://problem/36063494> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/dont-run-cleanup-after-licm.js: Added. |
| |
| 2017-12-14 Michael Saboff <msaboff@apple.com> |
| |
| REGRESSION (r225695): Repro crash on yahoo login page |
| https://bugs.webkit.org/show_bug.cgi?id=180761 |
| |
| Reviewed by JF Bastien. |
| |
| New regression test. |
| |
| * stress/regress-180761.js: Added. |
| |
| 2017-12-13 Keith Miller <keith_miller@apple.com> |
| |
| JSObjects should have a mask for loading indexed properties |
| https://bugs.webkit.org/show_bug.cgi?id=180768 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/int16-put-by-val-in-and-out-of-bounds.js: |
| (test): |
| |
| 2017-12-13 Saam Barati <sbarati@apple.com> |
| |
| Arrow functions need their own structure because they have different properties than sloppy functions |
| https://bugs.webkit.org/show_bug.cgi?id=180779 |
| <rdar://problem/35814591> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/arrow-function-needs-its-own-structure.js: Added. |
| (assert): |
| (readPrototype): |
| (noInline.let.f1): |
| (noInline): |
| |
| 2017-12-13 Saam Barati <sbarati@apple.com> |
| |
| Fix how JSFunction handles "caller" and "arguments" for functions that don't have those properties |
| https://bugs.webkit.org/show_bug.cgi?id=163579 |
| <rdar://problem/35455798> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js: Added. |
| (assert): |
| (test1): |
| (i.test1): |
| (i.test1.C): |
| (i.test1.async.foo): |
| (i.test1.foo): |
| (test2): |
| |
| 2017-12-13 Saam Barati <sbarati@apple.com> |
| |
| TypeCheckHoistingPhase needs to emit a CheckStructureOrEmpty if it's doing it for |this| |
| https://bugs.webkit.org/show_bug.cgi?id=180734 |
| <rdar://problem/35640547> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value.js: Added. |
| (__isPropertyOfType): |
| (__getProperties): |
| (__getObjects): |
| (__getRandomObject): |
| (theClass.): |
| (theClass): |
| (childClass): |
| (counter.catch): |
| |
| 2017-12-12 Saam Barati <sbarati@apple.com> |
| |
| We need to model effects of Spread(@PhantomCreateRest) in Clobberize/PreciseLocalClobberize |
| https://bugs.webkit.org/show_bug.cgi?id=180725 |
| <rdar://problem/35970511> |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/model-effects-properly-of-spread-over-phantom-create-rest.js: Added. |
| (f1): |
| (f2): |
| (let.o2.valueOf): |
| |
| 2017-12-12 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Implement optimized WeakMap and WeakSet |
| https://bugs.webkit.org/show_bug.cgi?id=179929 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/weak-map-key.js: |
| * microbenchmarks/weak-set-key.js: Copied from JSTests/microbenchmarks/weak-map-key.js. |
| (assert): |
| (objectKey): |
| (let.start.Date.now): |
| * stress/basic-weakmap.js: Added. |
| (shouldBe): |
| (test): |
| * stress/basic-weakset.js: Added. |
| (shouldBe): |
| (test.set new): |
| * stress/weakmap-cse-set-break.js: Added. |
| (shouldBe): |
| (test): |
| * stress/weakmap-cse.js: Added. |
| (shouldBe): |
| (test): |
| * stress/weakmap-gc.js: Added. |
| (test): |
| * stress/weakset-cse-add-break.js: Added. |
| (shouldBe): |
| (test.set new): |
| * stress/weakset-cse.js: Added. |
| (shouldBe): |
| (test.set new): |
| * stress/weakset-gc.js: Added. |
| (test.set add): |
| (test.set new): |
| (test): |
| |
| 2017-12-12 Saam Barati <sbarati@apple.com> |
| |
| ConstantFoldingPhase rule for GetMyArgumentByVal must check for negative indices |
| https://bugs.webkit.org/show_bug.cgi?id=180723 |
| <rdar://problem/35859726> |
| |
| Reviewed by JF Bastien. |
| |
| * stress/get-my-argument-by-val-constant-folding.js: Added. |
| (test): |
| (catch): |
| |
| 2017-12-12 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESNext][BigInt] Implement BigInt literals and JSBigInt |
| https://bugs.webkit.org/show_bug.cgi?id=179000 |
| |
| Reviewed by Darin Adler and Yusuke Suzuki. |
| |
| * bigIntTests.yaml: Added. |
| * stress/big-int-literal-line-terminator.js: Added. |
| * stress/big-int-literals.js: Added. |
| * stress/big-int-operations-error.js: Added. |
| * stress/big-int-type-of.js: Added. |
| * stress/big-int-white-space-trailing-leading.js: Added. |
| * stress/big-int-function-apply.js: Added. |
| |
| 2017-12-11 Saam Barati <sbarati@apple.com> |
| |
| We need to disableCaching() in ErrorInstance when we materialize properties |
| https://bugs.webkit.org/show_bug.cgi?id=180343 |
| <rdar://problem/35833002> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/disable-caching-when-lazy-materializing-error-property-on-put.js: Added. |
| (assert): |
| (makeError): |
| (storeToStack): |
| (storeToStackAlreadyMaterialized): |
| |
| 2017-12-05 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: don't eagerly checksum |
| https://bugs.webkit.org/show_bug.cgi?id=180441 |
| <rdar://problem/35156628> |
| |
| Reviewed by Saam Barati. |
| |
| Checksum is now disabled, so tests only have <?> as the module |
| name. |
| |
| * wasm/function-tests/nameSection.js: |
| * wasm/function-tests/stack-overflow.js: |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.assertOverflows): |
| (assertOverflows.assertThrows): |
| (assertOverflows): |
| * wasm/function-tests/stack-trace.js: |
| |
| 2017-12-04 JF Bastien <jfbastien@apple.com> |
| |
| Proxy all functions, except the $ objects |
| https://bugs.webkit.org/show_bug.cgi?id=180375 |
| |
| Reviewed by Saam Barati. |
| |
| It looks like this test may have broken some executions because I |
| call some internal objects. Explicitly ignore objects whose name |
| starts with "$" because it's a bad idea anyways. |
| |
| * stress/proxy-all-the-parameters.js: |
| (generateObjects): |
| (get throw): |
| |
| 2017-12-04 Saam Barati <sbarati@apple.com> |
| |
| We need to leave room on the top of the stack for the FTL TailCall slow path so it doesn't overwrite things we want to retrieve when doing a stack walk when throwing an exception |
| https://bugs.webkit.org/show_bug.cgi?id=180366 |
| <rdar://problem/35685877> |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/ftl-tail-call-throw-exception-from-slow-path-recover-stack-values.js: Added. |
| (theParent): |
| (test1.base.getParentStaticValue): |
| (test1.base): |
| (test1.__v_24888.prototype.set prop): |
| (test1.__v_24888): |
| (test2.base.getParentStaticValue): |
| (test2.base): |
| (test2.__v_24888.prototype.set prop): |
| (test2.__v_24888): |
| (test2): |
| |
| 2017-12-01 JF Bastien <jfbastien@apple.com> |
| |
| Try proxying all function arguments |
| https://bugs.webkit.org/show_bug.cgi?id=180306 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/proxy-all-the-parameters.js: Added. |
| (isPropertyOfType): |
| (getProperties): |
| (generateObjects): |
| (getObjects): |
| (getFunctions): |
| (get throw): |
| (let.o.of.getObjects.let.f.of.getFunctions.catch): |
| |
| 2017-12-01 JF Bastien <jfbastien@apple.com> |
| |
| JavaScriptCore: missing exception checks in Math functions that take more than one argument |
| https://bugs.webkit.org/show_bug.cgi?id=180297 |
| <rdar://problem/35745556> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/math-exceptions.js: Added. |
| (get try): |
| (catch): |
| |
| 2017-12-01 JF Bastien <jfbastien@apple.com> |
| |
| JavaScriptCore: add test for weird class static getters |
| https://bugs.webkit.org/show_bug.cgi?id=180281 |
| <rdar://problem/35592139> |
| |
| Reviewed by Mark Lam. |
| |
| I fixed a bug for it in r224927 and didn't add a test. Do so. |
| |
| * stress/class-static-get-weird.js: Added. |
| (c.prototype.get name): |
| (c): |
| (c.prototype.get arguments): |
| (c.prototype.get caller): |
| (c.prototype.get length): |
| |
| 2017-12-01 Saam Barati <sbarati@apple.com> |
| |
| Having a bad time needs to handle ArrayClass indexing type as well |
| https://bugs.webkit.org/show_bug.cgi?id=180274 |
| <rdar://problem/35667869> |
| |
| Reviewed by Keith Miller and Mark Lam. |
| |
| * stress/array-prototype-slow-put-having-a-bad-time-2.js: Added. |
| (assert): |
| * stress/array-prototype-slow-put-having-a-bad-time.js: Added. |
| (assert): |
| |
| 2017-12-01 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: restore cached stack limit after out-call |
| https://bugs.webkit.org/show_bug.cgi?id=179106 |
| <rdar://problem/35337525> |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/function-tests/double-instance.js: Added. |
| (const.imp.boom): |
| (const.imp.get callAnother): |
| |
| 2017-11-30 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: improve stack trace |
| https://bugs.webkit.org/show_bug.cgi?id=179343 |
| |
| Reviewed by Saam Barati. |
| |
| Update the tests to follow the new format. Notably, SHA1 module |
| hash is now included in traces, and stubs are properly identified. |
| |
| * wasm/assert.js: Add an assertion which matches regular expressions. |
| * wasm/function-tests/nameSection.js: |
| * wasm/function-tests/stack-overflow.js: |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.assertOverflows): |
| (assertOverflows.assertThrows.wasm.1): |
| (assertOverflows.assertThrows.wasm.0): |
| (assertOverflows.assertThrows): |
| (assertOverflows): |
| * wasm/function-tests/stack-trace.js: |
| (import.Builder.from.string_appeared_here.assert): Deleted. |
| * wasm/function-tests/trap-after-cross-instance-call.js: |
| (wasmFrameCountFromError): |
| * wasm/function-tests/trap-load-2.js: |
| (wasmFrameCountFromError): |
| * wasm/function-tests/trap-load.js: |
| (wasmFrameCountFromError): |
| |
| 2017-11-30 Mark Lam <mark.lam@apple.com> |
| |
| jsc shell's flashHeapAccess() should not do JS work after releasing access to the heap. |
| https://bugs.webkit.org/show_bug.cgi?id=180219 |
| <rdar://problem/35696536> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/regress-180219.js: Added. |
| |
| 2017-11-30 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG][FTL] operationHasIndexedProperty does not consider negative int32_t |
| https://bugs.webkit.org/show_bug.cgi?id=180190 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/operation-in-may-have-negative-int32-array-storage.js: Added. |
| (shouldBe): |
| (test1): |
| * stress/operation-in-may-have-negative-int32-contiguous-array.js: Added. |
| (shouldBe): |
| (test1): |
| * stress/operation-in-may-have-negative-int32-double-array.js: Added. |
| (shouldBe): |
| (test1): |
| * stress/operation-in-may-have-negative-int32-generic-array.js: Added. |
| (shouldBe): |
| (test1): |
| * stress/operation-in-may-have-negative-int32-int32-array.js: Added. |
| (shouldBe): |
| (test1): |
| * stress/operation-in-may-have-negative-int32.js: Added. |
| (shouldBe): |
| (test2): |
| * stress/operation-in-negative-int32-cast.js: Added. |
| (shouldBe): |
| (test1): |
| |
| 2017-11-28 JF Bastien <jfbastien@apple.com> |
| |
| Strict and sloppy functions shouldn't share structure |
| https://bugs.webkit.org/show_bug.cgi?id=180103 |
| <rdar://problem/35667847> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/get-by-id-strict-arguments.js: Added. Used to not throw |
| because the IC was wrong. |
| (foo): |
| (bar): |
| (baz): |
| (catch): |
| * stress/get-by-id-strict-callee.js: Added. Not strictly necessary |
| in this patch, but may as well test odd strict mode corner cases. |
| (bar): |
| (baz): |
| (catch): |
| * stress/get-by-id-strict-caller.js: Added. Also IC'd wrong. |
| (foo): |
| (bar): |
| (baz): |
| (catch): |
| * stress/get-by-id-strict-nested-arguments-2.js: Added. Same as |
| next file, but with invalidation of the FunctionExecutable's |
| singletonFunction() to hit SpeculativeJIT::compileNewFunction's |
| slower path. |
| (foo): |
| (bar.const.x): |
| (bar.const.y): |
| (bar): |
| (catch): |
| * stress/get-by-id-strict-nested-arguments.js: Added. Make sure |
| strict nesting works correctly. |
| (foo): |
| (bar.baz): |
| (bar): |
| * stress/strict-function-structure.js: Added. The test used to |
| assert in objectProtoFuncHasOwnProperty. |
| (foo): |
| (bar): |
| (baz): |
| * stress/strict-nested-function-structure.js: Added. Nesting. |
| (foo): |
| (bar): |
| (baz.boo): |
| (baz): |
| |
| 2017-11-29 Robin Morisset <rmorisset@apple.com> |
| |
| The recursive tail call optimisation is wrong on closures |
| https://bugs.webkit.org/show_bug.cgi?id=179835 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/closure-recursive-tail-call.js: Added. |
| (makeClosure): |
| |
| 2017-11-27 JF Bastien <jfbastien@apple.com> |
| |
| JavaScript rest function parameter with negative index leads to bad DFG abstract interpretation |
| https://bugs.webkit.org/show_bug.cgi?id=180051 |
| <rdar://problem/35614371> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/rest-parameter-negative.js: Added. |
| (__f_5484): |
| (catch): |
| (__f_5485): |
| (__v_22598.catch): |
| |
| 2017-11-27 Saam Barati <sbarati@apple.com> |
| |
| Spread can escape when CreateRest does not |
| https://bugs.webkit.org/show_bug.cgi?id=180057 |
| <rdar://problem/35676119> |
| |
| Reviewed by JF Bastien. |
| |
| * stress/spread-escapes-but-create-rest-does-not.js: Added. |
| (assert): |
| (getProperties): |
| (theFunc): |
| (let.obj.valueOf): |
| |
| 2017-11-21 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Add NormalizeMapKey DFG IR |
| https://bugs.webkit.org/show_bug.cgi?id=179912 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/map-untyped-normalize-cse.js: Added. |
| (shouldBe): |
| (test): |
| * stress/map-untyped-normalize.js: Added. |
| (shouldBe): |
| (test): |
| * stress/set-untyped-normalize-cse.js: Added. |
| (shouldBe): |
| (set return.set has.set has): |
| * stress/set-untyped-normalize.js: Added. |
| (shouldBe): |
| (set return.set has): |
| |
| 2017-11-26 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [FTL] Support DeleteById and DeleteByVal |
| https://bugs.webkit.org/show_bug.cgi?id=180022 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/delete-by-id.js: Added. |
| (shouldBe): |
| (test1): |
| (test2): |
| * stress/delete-by-val-ftl.js: Added. |
| (shouldBe): |
| (test1): |
| (test2): |
| |
| 2017-11-26 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Introduce {Set,Map,WeakMap}Fields |
| https://bugs.webkit.org/show_bug.cgi?id=179925 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/map-set-clobber-map-get.js: Added. |
| (shouldBe): |
| (test): |
| * stress/map-set-does-not-clobber-set-has.js: Added. |
| (shouldBe): |
| * stress/map-set-does-not-clobber-weak-map-get.js: Added. |
| (shouldBe): |
| (test): |
| * stress/set-add-clobber-set-has.js: Added. |
| (shouldBe): |
| * stress/set-add-does-not-clobber-map-get.js: Added. |
| (shouldBe): |
| |
| 2017-11-24 Mark Lam <mark.lam@apple.com> |
| |
| Move unsafe jsc shell test functions to the $vm object. |
| https://bugs.webkit.org/show_bug.cgi?id=179980 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * controlFlowProfiler/driver/driver.js: |
| * controlFlowProfiler/execution-count.js: |
| * controlFlowProfiler/if-statement.js: |
| * controlFlowProfiler/loop-statements.js: |
| * controlFlowProfiler/switch-statements.js: |
| * controlFlowProfiler/test-jit.js: |
| * exceptionFuzz/3d-cube.js: |
| * exceptionFuzz/date-format-xparb.js: |
| * exceptionFuzz/earley-boyer.js: |
| * heapProfiler/basic-edges.js: |
| * heapProfiler/property-edge-types.js: |
| * microbenchmarks/try-get-by-id-basic.js: |
| * microbenchmarks/try-get-by-id-polymorphic.js: |
| * modules/namespace-object-try-get.js: |
| * stress/argument-count-bytecode.js: |
| * stress/argument-intrinsic-basic.js: |
| * stress/argument-intrinsic-inlining-use-caller-arg.js: |
| * stress/argument-intrinsic-inlining-with-result-escape.js: |
| * stress/argument-intrinsic-inlining-with-vararg-with-enough-arguments.js: |
| * stress/argument-intrinsic-inlining-with-vararg.js: |
| * stress/argument-intrinsic-nested-inlining.js: |
| * stress/argument-intrinsic-not-convert-to-get-argument.js: |
| * stress/argument-intrinsic-with-stack-write.js: |
| * stress/arity-mismatch-get-argument.js: |
| * stress/array-message-passing.js: |
| * stress/array-push-with-force-exit.js: |
| * stress/check-dom-with-signature.js: |
| * stress/check-sub-class.js: |
| * stress/compare-eq-incomplete-profile.js: |
| * stress/custom-get-set-inline-caching-one-level-up-proto-chain.js: |
| * stress/do-eval-virtual-call-correctly.js: |
| * stress/dom-jit-with-poly-proto.js: |
| * stress/domjit-exception-ic.js: |
| * stress/domjit-exception.js: |
| * stress/domjit-getter-complex-with-incorrect-object.js: |
| * stress/domjit-getter-complex.js: |
| * stress/domjit-getter-poly.js: |
| * stress/domjit-getter-proto.js: |
| * stress/domjit-getter-super-poly.js: |
| * stress/domjit-getter-try-catch-getter-as-get-by-id-register-restoration.js: |
| * stress/domjit-getter-type-check.js: |
| * stress/domjit-getter.js: |
| * stress/exit-during-inlined-arity-fixup-recover-proper-frame.js: |
| * stress/for-in-proxy-target-changed-structure.js: |
| * stress/for-in-proxy.js: |
| * stress/generational-opaque-roots.js: |
| * stress/global-const-redeclaration-setting-2.js: |
| * stress/global-const-redeclaration-setting-3.js: |
| * stress/global-const-redeclaration-setting-4.js: |
| * stress/global-const-redeclaration-setting-5.js: |
| * stress/global-const-redeclaration-setting.js: |
| * stress/import-basic.js: |
| * stress/import-from-eval.js: |
| * stress/import-reject-with-exception.js: |
| * stress/import-syntax.js: |
| * stress/impure-get-own-property-slot-inline-cache.js: |
| * stress/is-constructor.js: |
| * stress/istypedarrayview-intrinsic.js: |
| * stress/jsc-setImpureGetterDelegate-on-bad-type.js: |
| * stress/jsc-test-functions-should-be-more-robust.js: |
| * stress/object-toString-with-proxy.js: |
| * stress/poly-proto-custom-value-and-accessor.js: |
| * stress/proxy-inline-cache.js: |
| * stress/re-execute-error-module.js: |
| * stress/regress-150532.js: |
| * stress/regress-156992.js: |
| * stress/regress-179619.js: |
| * stress/resources/shadow-chicken-support.js: |
| * stress/runtime-array.js: |
| * stress/sampling-profiler-microtasks.js: |
| * stress/shadow-chicken-enabled.js: |
| * stress/spread-correct-global-object-on-exception.js: |
| * stress/super-get-by-id.js: |
| * stress/tailCallForwardArguments.js: |
| * stress/to-object-intrinsic-boolean-edge.js: |
| * stress/to-object-intrinsic-null-or-undefined-edge.js: |
| * stress/to-object-intrinsic-number-edge.js: |
| * stress/to-object-intrinsic-object-edge.js: |
| * stress/to-object-intrinsic-string-edge.js: |
| * stress/to-object-intrinsic-symbol-edge.js: |
| * stress/to-object-intrinsic.js: |
| * stress/try-catch-custom-getter-as-get-by-id.js: |
| * stress/try-get-by-id-poly-proto.js: |
| * stress/try-get-by-id-should-spill-registers-dfg.js: |
| * stress/try-get-by-id.js: |
| * typeProfiler/arrow-functions.js: |
| * typeProfiler/basic.js: |
| * typeProfiler/captured.js: |
| * typeProfiler/classes.js: |
| * typeProfiler/dfg-jit-optimizations.js: |
| * typeProfiler/dictionary-mode.js: |
| * typeProfiler/es6-block-scoping.js: |
| * typeProfiler/es6-classes.js: |
| * typeProfiler/inheritance.js: |
| * typeProfiler/int52-dfg.js: |
| * typeProfiler/loop.js: |
| * typeProfiler/optional-fields.js: |
| * typeProfiler/overflow.js: |
| * typeProfiler/return.js: |
| * typeProfiler/symbol.js: |
| * typeProfiler/weird-prototype-chain.js: |
| |
| 2017-11-21 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG][FTL] Support MapSet / SetAdd intrinsics |
| https://bugs.webkit.org/show_bug.cgi?id=179858 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/map-has-and-set.js: Added. |
| (test): |
| * stress/map-set-check-failure.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (target): |
| * stress/map-set-cse.js: Added. |
| (shouldBe): |
| (test): |
| * stress/set-add-check-failure.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (set shouldThrow): |
| * stress/set-add-cse.js: Added. |
| (shouldBe): |
| |
| 2017-11-21 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Allow poly proto for intrinsic getters |
| https://bugs.webkit.org/show_bug.cgi?id=179550 |
| |
| Reviewed by Saam Barati. |
| |
| This change is also tested by existing tests. |
| |
| 1. stress/intrinsic-getter-with-poly-proto.js |
| 2. stress/poly-proto-intrinsic-getter-correctness.js |
| |
| * stress/intrinsic-getter-with-poly-proto-getter-change.js: Added. |
| (shouldBe): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (target): |
| * stress/intrinsic-getter-with-poly-proto-proto-change.js: Added. |
| (shouldBe): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (target): |
| |
| 2017-11-20 Guillaume Emont <guijemont@igalia.com> |
| |
| Skip stress/unshiftCountSlowCase-correct-postCapacity.js on embedded Linux |
| https://bugs.webkit.org/show_bug.cgi?id=179744 |
| |
| Reviewed by Michael Catanzaro. |
| |
| This test uses too much memory for our buildbots on these platforms |
| and gets OOM-killed. |
| |
| * stress/unshiftCountSlowCase-correct-postCapacity.js: |
| Skip if $memoryLimited and linux. |
| |
| 2017-11-17 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly JS API: throw when a promise can't be created |
| https://bugs.webkit.org/show_bug.cgi?id=179826 |
| <rdar://problem/35455813> |
| |
| Reviewed by Mark Lam. |
| |
| Test WebAssembly.{compile,instantiate} where promise creation |
| fails because of a stack overflow. |
| |
| * wasm/js-api/promise-stack-overflow.js: Added. |
| (const.runNearStackLimit.f.const.t): |
| (async.testCompile): |
| (async.testInstantiate): |
| |
| 2017-11-16 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, mark regress-178385.js as memory exhausting |
| |
| * stress/regress-178385.js: |
| |
| 2017-11-16 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Mark test262/test/language/statements/class/definition/fn-name-static-precedence.js as passing after r224927. |
| |
| Unreviewed test gardening. |
| |
| * test262.yaml: |
| |
| 2017-11-16 Robin Morisset <rmorisset@apple.com> |
| |
| REGRESSION (r224592): oss-fuzz: jsc: Null-dereference READ in JSC::JSCell::isObject (4216) |
| https://bugs.webkit.org/show_bug.cgi?id=179763 |
| <rdar://problem/35550513> |
| |
| Reviewed by Keith Miller. |
| |
| Just adding a slightly cleaned-up version of the original fuzzer-found test. |
| |
| * stress/tdz-this-in-try-catch.js: Added. |
| (__v_6388): |
| (__v_6392): |
| |
| 2017-11-14 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG][FTL] Support Array::DirectArguments with OutOfBounds |
| https://bugs.webkit.org/show_bug.cgi?id=179594 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/direct-arguments-in-bounds-to-out-of-bounds.js: Added. |
| (shouldBe): |
| (args): |
| * stress/direct-arguments-out-of-bounds-watchpoint.js: Added. |
| (shouldBe): |
| (args): |
| |
| 2017-11-14 Saam Barati <sbarati@apple.com> |
| |
| We need to set topCallFrame when calling Wasm::Memory::grow from the JIT |
| https://bugs.webkit.org/show_bug.cgi?id=179639 |
| <rdar://problem/35513018> |
| |
| Reviewed by JF Bastien. |
| |
| * wasm/function-tests/grow-memory-cause-gc.js: Added. |
| (escape): |
| (i.func): |
| |
| 2017-11-13 Mark Lam <mark.lam@apple.com> |
| |
| Add more overflow check book-keeping for MarkedArgumentBuffer. |
| https://bugs.webkit.org/show_bug.cgi?id=179634 |
| <rdar://problem/35492517> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-179634.js: Added. |
| |
| 2017-11-13 Mark Lam <mark.lam@apple.com> |
| |
| Make the jsc shell loadGetterFromGetterSetter() function more robust. |
| https://bugs.webkit.org/show_bug.cgi?id=179619 |
| <rdar://problem/35492518> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-179619.js: Added. |
| |
| 2017-11-12 Mark Lam <mark.lam@apple.com> |
| |
| We should ensure that operationStrCat2 and operationStrCat3 are never passed Symbols as arguments. |
| https://bugs.webkit.org/show_bug.cgi?id=179562 |
| <rdar://problem/35467022> |
| |
| Reviewed by Saam Barati. |
| |
| * regress-179562.js: Added. |
| |
| 2017-11-08 Saam Barati <sbarati@apple.com> |
| |
| A JSFunction's ObjectAllocationProfile should watch the poly prototype watchpoint so it can clear its object allocation profile |
| https://bugs.webkit.org/show_bug.cgi?id=177792 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * microbenchmarks/poly-proto-clear-js-function-allocation-profile.js: Added. |
| (assert): |
| (foo.Foo.prototype.ensureX): |
| (foo.Foo): |
| (foo): |
| (access): |
| |
| 2017-11-08 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Mark test262.yaml/test262/test/language/statements/try/tco-catch.js as passing. |
| https://bugs.webkit.org/show_bug.cgi?id=178592 |
| |
| Unreviewed test gardening. |
| |
| * test262.yaml: |
| |
| 2017-11-08 Robin Morisset <rmorisset@apple.com> |
| |
| Turn recursive tail calls into loops |
| https://bugs.webkit.org/show_bug.cgi?id=176601 |
| |
| Reviewed by Saam Barati. |
| |
| Relanding after https://bugs.webkit.org/show_bug.cgi?id=178834. |
| |
| Add some simple test that computes factorial in several ways, and other trivial computations. |
| They all tests the case where foo calls bar (in an inlineable way) that then does a tail call. |
| Depending on the nature of both calls, it is possible or not to turn the tail call into a loop. |
| I have no clear way of checking that the call was indeed transformed, but I can check that the code computes the right result |
| (which it doesn't if that tail call is transformed into a loop in the unsound cases). |
| |
| * stress/inline-call-to-recursive-tail-call.js: Added. |
| (factorial.aux): |
| (factorial): |
| (factorial2.aux2): |
| (factorial2.id): |
| (factorial2): |
| (factorial3.aux3): |
| (factorial3): |
| (aux4): |
| (factorial4): |
| (foo): |
| (auxBar): |
| (bar): |
| (test): |
| |
| 2017-11-07 Mark Lam <mark.lam@apple.com> |
| |
| AccessCase::generateImpl() should exclude the result register when restoring registers after a call. |
| https://bugs.webkit.org/show_bug.cgi?id=179355 |
| <rdar://problem/35263053> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-179355.js: Added. |
| |
| 2017-11-05 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| JIT call inline caches should cache calls to objects with getCallData/getConstructData traps |
| https://bugs.webkit.org/show_bug.cgi?id=144458 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/dfg-internal-function-call.js: Added. |
| (target): |
| * microbenchmarks/dfg-internal-function-construct.js: Added. |
| (target): |
| * microbenchmarks/dfg-internal-function-not-handled-call.js: Added. |
| (target): |
| * microbenchmarks/dfg-internal-function-not-handled-construct.js: Added. |
| (target): |
| * stress/dfg-internal-function-call.js: Added. |
| (shouldBe): |
| (target): |
| * stress/dfg-internal-function-construct.js: Added. |
| (shouldBe): |
| (target): |
| * stress/internal-function-call.js: Added. |
| (shouldBe): |
| * stress/internal-function-construct.js: Added. |
| (shouldBe): |
| |
| 2017-11-05 Per Arne Vollan <pvollan@apple.com> |
| |
| [Win] Skip stress/regress-178385.js. |
| https://bugs.webkit.org/show_bug.cgi?id=179298 |
| |
| Unreviewed test gardening. |
| |
| * stress/regress-178385.js: |
| |
| 2017-11-03 Keith Miller <keith_miller@apple.com> |
| |
| Add test for ic with side effects |
| https://bugs.webkit.org/show_bug.cgi?id=179268 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/put-inline-cache-side-effects.js: Added. |
| (let.i.of.objs.keys): |
| (f): |
| |
| 2017-11-03 Mark Lam <mark.lam@apple.com> |
| |
| CachedCall (and its clients) needs overflow checks. |
| https://bugs.webkit.org/show_bug.cgi?id=179185 |
| |
| Reviewed by JF Bastien. |
| |
| * stress/regress-179185.js: Added. |
| |
| 2017-11-02 Michael Saboff <msaboff@apple.com> |
| |
| DFG needs to handle code motion of code in for..in loop bodies |
| https://bugs.webkit.org/show_bug.cgi?id=179212 |
| |
| Reviewed by Keith Miller. |
| |
| New regression test. |
| |
| * stress/for-in-side-effects.js: Added. |
| (getPrototypeOf): |
| (reset): |
| (testWithoutFTL.f): |
| (testWithoutFTL): |
| (testWithFTL.f): |
| (testWithFTL): |
| |
| 2017-11-02 Filip Pizlo <fpizlo@apple.com> |
| |
| AI does not correctly model the clobber case of ArithClz32 |
| https://bugs.webkit.org/show_bug.cgi?id=179188 |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/arith-clz32-effects.js: Added. |
| (foo): |
| (valueOf): |
| |
| 2017-11-01 Michael Saboff <msaboff@apple.com> |
| |
| Integer overflow in code generated by LoadVarargs processing in DFG and FTL. |
| https://bugs.webkit.org/show_bug.cgi?id=179140 |
| |
| Reviewed by Saam Barati. |
| |
| New regression test. |
| |
| * stress/regress-179140.js: Added. |
| (testWithoutFTL): |
| (testWithFTL): |
| |
| 2017-11-01 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Introduce @toObject |
| https://bugs.webkit.org/show_bug.cgi?id=178726 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/array-copywithin.js: |
| (shouldThrow): |
| * stress/object-constructor-boolean-edge.js: Added. |
| (shouldBe): |
| (test): |
| * stress/object-constructor-global.js: Added. |
| (shouldBe): |
| * stress/object-constructor-null-edge.js: Added. |
| (shouldBe): |
| (test): |
| * stress/object-constructor-number-edge.js: Added. |
| (shouldBe): |
| (test): |
| * stress/object-constructor-object-edge.js: Added. |
| (shouldBe): |
| (test): |
| (i.arg): |
| * stress/object-constructor-string-edge.js: Added. |
| (shouldBe): |
| (test): |
| * stress/object-constructor-symbol-edge.js: Added. |
| (shouldBe): |
| (test): |
| * stress/object-constructor-undefined-edge.js: Added. |
| (shouldBe): |
| (test): |
| * stress/symbol-array-from.js: Added. |
| (shouldBe): |
| * stress/to-object-intrinsic-boolean-edge.js: Added. |
| (shouldBe): |
| (builtin.createBuiltin): |
| * stress/to-object-intrinsic-null-or-undefined-edge.js: Added. |
| (shouldThrow): |
| * stress/to-object-intrinsic-number-edge.js: Added. |
| (shouldBe): |
| (builtin.createBuiltin): |
| * stress/to-object-intrinsic-object-edge.js: Added. |
| (shouldBe): |
| (builtin.createBuiltin): |
| (i.arg): |
| * stress/to-object-intrinsic-string-edge.js: Added. |
| (shouldBe): |
| (builtin.createBuiltin): |
| * stress/to-object-intrinsic-symbol-edge.js: Added. |
| (shouldBe): |
| (builtin.createBuiltin): |
| * stress/to-object-intrinsic.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (builtin.createBuiltin): |
| |
| 2017-10-27 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG][FTL] Introduce StringSlice |
| https://bugs.webkit.org/show_bug.cgi?id=178934 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/string-slice-empty.js: Added. |
| (slice): |
| * microbenchmarks/string-slice-one-char.js: Added. |
| (slice): |
| * microbenchmarks/string-slice.js: Added. |
| (slice): |
| |
| 2017-10-26 Michael Saboff <msaboff@apple.com> |
| |
| REGRESSION(r222601): We fail to properly backtrack into a sub pattern of a parenthesis with non-zero minimum |
| https://bugs.webkit.org/show_bug.cgi?id=178890 |
| |
| Reviewed by Keith Miller. |
| |
| New regression test. |
| |
| * stress/regress-178890.js: Added. |
| |
| 2017-10-26 Mark Lam <mark.lam@apple.com> |
| |
| JSRopeString::RopeBuilder::append() should check for overflows. |
| https://bugs.webkit.org/show_bug.cgi?id=178385 |
| <rdar://problem/35027468> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-178385.js: Added. |
| |
| 2017-10-26 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r223961. |
| |
| The change that required this has been rolled out. |
| |
| Reverted changeset: |
| |
| "Mark test262.yaml/test262/test/language/statements/try/tco- |
| catch.js as passing." |
| https://bugs.webkit.org/show_bug.cgi?id=178592 |
| https://trac.webkit.org/changeset/223961 |
| |
| 2017-10-25 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r223691 and r223729. |
| https://bugs.webkit.org/show_bug.cgi?id=178834 |
| |
| Broke Speedometer 2 React-Redux-TodoMVC test case (Requested |
| by rniwa on #webkit). |
| |
| Reverted changesets: |
| |
| "Turn recursive tail calls into loops" |
| https://bugs.webkit.org/show_bug.cgi?id=176601 |
| https://trac.webkit.org/changeset/223691 |
| |
| "REGRESSION(r223691): DFGByteCodeParser.cpp:1483:83: warning: |
| comparison is always false due to limited range of data type |
| [-Wtype-limits]" |
| https://bugs.webkit.org/show_bug.cgi?id=178543 |
| https://trac.webkit.org/changeset/223729 |
| |
| 2017-10-25 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Mark test262.yaml/test262/test/language/statements/try/tco-catch.js as passing. |
| https://bugs.webkit.org/show_bug.cgi?id=178592 |
| |
| Unreviewed test gardening. |
| |
| * test262.yaml: |
| |
| 2017-10-24 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [FTL] Support NewStringObject |
| https://bugs.webkit.org/show_bug.cgi?id=178737 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/new-string-object.js: Added. |
| (shouldBe): |
| (test): |
| |
| 2017-10-15 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] modules can be visited more than once when resolving bindings through "star" exports as long as the exportName is different each time |
| https://bugs.webkit.org/show_bug.cgi?id=178308 |
| |
| Reviewed by Mark Lam. |
| |
| * test262.yaml: |
| |
| 2017-10-23 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Use fastJoin in Array#toString |
| https://bugs.webkit.org/show_bug.cgi?id=178062 |
| |
| Reviewed by Darin Adler. |
| |
| * microbenchmarks/contiguous-array-to-string.js: Added. |
| (target): |
| * microbenchmarks/double-array-to-string.js: Added. |
| (target): |
| * microbenchmarks/int32-array-to-string.js: Added. |
| (target): |
| |
| 2017-10-22 Zan Dobersek <zdobersek@igalia.com> |
| |
| stress/check-string-ident.js is improperly skipped |
| https://bugs.webkit.org/show_bug.cgi?id=178642 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/check-string-ident.js: Drop the defaultNoEagerRun directive |
| since it enforces the run-jsc-stress-tests script to still set up the |
| test to run, despite the skip directive that's used before. |
| |
| 2017-10-20 Mark Lam <mark.lam@apple.com> |
| |
| Add a test case for r214334. |
| https://bugs.webkit.org/show_bug.cgi?id=169941 |
| <rdar://problem/31221258> |
| |
| Reviewed by JF Bastien. |
| |
| * stress/regress-169941.js: Added. |
| |
| 2017-10-19 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: no VM / JS version of everything but Instance |
| https://bugs.webkit.org/show_bug.cgi?id=177473 |
| |
| Reviewed by Filip Pizlo, Saam Barati. |
| |
| - Exceeding max on memory growth now returns a range error as per |
| spec. This is a (very minor) breaking change: it used to throw OOM |
| error. Update the corresponding test. |
| |
| * wasm/js-api/memory-grow.js: |
| (assertEq): |
| * wasm/js-api/table.js: |
| (assert.throws): |
| |
| 2017-10-19 Mark Lam <mark.lam@apple.com> |
| |
| Stringifier::appendStringifiedValue() is missing an exception check. |
| https://bugs.webkit.org/show_bug.cgi?id=178386 |
| <rdar://problem/35027610> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-178386.js: Added. |
| |
| 2017-10-19 Michael Saboff <msaboff@apple.com> |
| |
| Test262: RegExp/property-escapes/generated/Emoji_Component.js fails with current RegExp Unicode Properties implementation |
| https://bugs.webkit.org/show_bug.cgi?id=178521 |
| |
| Reviewed by JF Bastien. |
| |
| * test262.yaml: Enabled test262/test/built-ins/RegExp/property-escapes/generated/Emoji_Component.js as it |
| now passes with the current version (5.0) of the Emoji spec. |
| |
| 2017-10-19 Robin Morisset <rmorisset@apple.com> |
| |
| Turn recursive tail calls into loops |
| https://bugs.webkit.org/show_bug.cgi?id=176601 |
| |
| Reviewed by Saam Barati. |
| |
| Add some simple test that computes factorial in several ways, and other trivial computations. |
| They all tests the case where foo calls bar (in an inlineable way) that then does a tail call. |
| Depending on the nature of both calls, it is possible or not to turn the tail call into a loop. |
| I have no clear way of checking that the call was indeed transformed, but I can check that the code computes the right result |
| (which it doesn't if that tail call is transformed into a loop in the unsound cases). |
| |
| * stress/inline-call-to-recursive-tail-call.js: Added. |
| (factorial.aux): |
| (factorial): |
| (factorial2.aux): |
| (factorial2.id): |
| (factorial2): |
| (factorial3.aux): |
| (factorial3): |
| (aux): |
| (factorial4): |
| (test): |
| |
| 2017-10-18 Mark Lam <mark.lam@apple.com> |
| |
| RegExpObject::defineOwnProperty() does not need to compare values if no descriptor value is specified. |
| https://bugs.webkit.org/show_bug.cgi?id=177600 |
| <rdar://problem/34710985> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-177600.js: Added. |
| |
| 2017-10-18 Mark Lam <mark.lam@apple.com> |
| |
| The compiler should always register a structure when it adds its transitionWatchPointSet. |
| https://bugs.webkit.org/show_bug.cgi?id=178420 |
| <rdar://problem/34814024> |
| |
| Reviewed by Saam Barati and Filip Pizlo. |
| |
| * stress/regress-178420.js: Added. |
| (new.Array.10000.map): |
| |
| 2017-10-18 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] __proto__ getter should be fast |
| https://bugs.webkit.org/show_bug.cgi?id=178067 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/dfg-object-proto-accessor.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (target): |
| * stress/dfg-object-proto-getter.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (target): |
| * stress/dfg-object-prototype-of.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (target): |
| * stress/dfg-reflect-get-prototype-of.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (target): |
| * stress/intrinsic-getter-with-poly-proto.js: Added. |
| (shouldBe): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (target): |
| * stress/object-get-prototype-of-filtered.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (target): |
| (i.Cocoa): |
| * stress/object-get-prototype-of-mono-proto.js: Added. |
| (shouldBe): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (target): |
| * stress/object-get-prototype-of-poly-mono-proto.js: Added. |
| (shouldBe): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (target): |
| * stress/object-get-prototype-of-poly-proto.js: Added. |
| (shouldBe): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (target): |
| * stress/object-proto-getter-filtered.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (target): |
| (i.Cocoa): |
| * stress/object-proto-getter-poly-mono-proto.js: Added. |
| (shouldBe): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (target): |
| * stress/object-proto-getter-poly-proto.js: Added. |
| (shouldBe): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (target): |
| * stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js: |
| * stress/string-proto.js: Added. |
| (shouldBe): |
| (target): |
| |
| 2017-10-17 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r223523. |
| |
| A test for this change is failing on debug JSC bots. |
| |
| Reverted changeset: |
| |
| "[JSC] __proto__ getter should be fast" |
| https://bugs.webkit.org/show_bug.cgi?id=178067 |
| https://trac.webkit.org/changeset/223523 |
| |
| 2017-10-10 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] __proto__ getter should be fast |
| https://bugs.webkit.org/show_bug.cgi?id=178067 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/dfg-object-proto-accessor.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (target): |
| * stress/dfg-object-proto-getter.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (target): |
| * stress/dfg-object-prototype-of.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (target): |
| * stress/dfg-reflect-get-prototype-of.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (target): |
| * stress/object-get-prototype-of-filtered.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (target): |
| (i.Cocoa): |
| * stress/object-get-prototype-of-mono-proto.js: Added. |
| (shouldBe): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (target): |
| * stress/object-get-prototype-of-poly-mono-proto.js: Added. |
| (shouldBe): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (target): |
| * stress/object-get-prototype-of-poly-proto.js: Added. |
| (shouldBe): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (target): |
| * stress/object-proto-getter-filtered.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (target): |
| (i.Cocoa): |
| * stress/object-proto-getter-poly-mono-proto.js: Added. |
| (shouldBe): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (target): |
| * stress/object-proto-getter-poly-proto.js: Added. |
| (shouldBe): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (target): |
| * stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js: |
| * stress/string-proto.js: Added. |
| (shouldBe): |
| (target): |
| |
| 2017-10-14 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Reland "Add Above/Below comparisons for UInt32 patterns" |
| https://bugs.webkit.org/show_bug.cgi?id=177281 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/uint32-comparison-jump.js: Added. |
| (shouldBe): |
| (above): |
| (aboveOrEqual): |
| (below): |
| (belowOrEqual): |
| (notAbove): |
| (notAboveOrEqual): |
| (notBelow): |
| (notBelowOrEqual): |
| * stress/uint32-comparison.js: Added. |
| (shouldBe): |
| (above): |
| (aboveOrEqual): |
| (below): |
| (belowOrEqual): |
| (aboveTest): |
| (aboveOrEqualTest): |
| (belowTest): |
| (belowOrEqualTest): |
| |
| 2017-10-12 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| WebAssembly: Wasm functions should have either JSFunctionType or TypeOfShouldCallGetCallData |
| https://bugs.webkit.org/show_bug.cgi?id=178210 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/function-tests/trap-from-start-async.js: |
| (async.StartTrapsAsync): |
| * wasm/function-tests/trap-from-start.js: |
| (StartTraps): |
| * wasm/js-api/web-assembly-function.js: |
| (assert.eq.Object.getPrototypeOf): |
| * wasm/js-api/wrapper-function.js: |
| (return.new.WebAssembly.Module): |
| (assert.throws.makeInstance): Deleted. |
| (assert.throws.Bar): Deleted. |
| (assert.throws): Deleted. |
| |
| 2017-09-29 Filip Pizlo <fpizlo@apple.com> |
| |
| Enable gigacage on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=177586 |
| |
| Reviewed by JF Bastien. |
| |
| Add tests for when Gigacage gets runtime disabled. |
| |
| * stress/disable-gigacage-arrays.js: Added. |
| (foo): |
| * stress/disable-gigacage-strings.js: Added. |
| (foo): |
| * stress/disable-gigacage-typed-arrays.js: Added. |
| (foo): |
| |
| 2017-10-11 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| import.meta should not be assignable |
| https://bugs.webkit.org/show_bug.cgi?id=178202 |
| |
| Reviewed by Saam Barati. |
| |
| * modules/import-meta-assignment.js: Added. |
| (shouldThrow): |
| (SyntaxError.import.meta.can.shouldThrow): |
| |
| 2017-10-11 Saam Barati <sbarati@apple.com> |
| |
| Unreviewed. Actually skip certain type profiler tests in debug. |
| |
| * typeProfiler.yaml: |
| * typeProfiler/deltablue-for-of.js: |
| * typeProfiler/getter-richards.js: |
| |
| 2017-10-11 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r223113 and r223121. |
| https://bugs.webkit.org/show_bug.cgi?id=178182 |
| |
| Reintroduced 20% regression on Kraken (Requested by rniwa on |
| #webkit). |
| |
| Reverted changesets: |
| |
| "Enable gigacage on iOS" |
| https://bugs.webkit.org/show_bug.cgi?id=177586 |
| https://trac.webkit.org/changeset/223113 |
| |
| "Use one virtual allocation for all gigacages and their |
| runways" |
| https://bugs.webkit.org/show_bug.cgi?id=178050 |
| https://trac.webkit.org/changeset/223121 |
| |
| 2017-10-11 Michael Saboff <msaboff@apple.com> |
| |
| Disable test262 named capture group tests with direct unicode names and with references before definitions |
| https://bugs.webkit.org/show_bug.cgi?id=178177 |
| |
| Reviewed by Keith Miller. |
| |
| Bugs to track fixing these test are: |
| https://bugs.webkit.org/show_bug.cgi?id=178174 - |
| "Add support in named capture group identifiers for direct surrogate pairs" |
| https://bugs.webkit.org/show_bug.cgi?id=178175 - |
| "Test262 failure with Named Capture Groups - using a reference before the group is defined" |
| |
| * test262.yaml: |
| |
| 2017-10-11 Caio Lima <ticaiolima@gmail.com> |
| |
| Object properties are undefined in super.call() but not in this.call() |
| https://bugs.webkit.org/show_bug.cgi?id=177230 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/super-call-function-subclass.js: Added. |
| (assert): |
| (A.prototype.t): |
| (A): |
| * stress/super-dot-call-and-apply.js: Added. |
| (assert): |
| (A): |
| (A.prototype.call): |
| (A.prototype.apply): |
| (B.prototype.testSuper): |
| (B): |
| (const.obj.new.B.string_appeared_here.obj.testSuper.C): |
| (D.prototype.testSuper): |
| (D): |
| |
| 2017-10-10 Saam Barati <sbarati@apple.com> |
| |
| The prototype cache should be aware of the Executable it generates a Structure for |
| https://bugs.webkit.org/show_bug.cgi?id=177907 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/dont-confuse-structures-from-different-executable-as-poly-proto.js: Added. |
| (assert): |
| (foo.C): |
| (foo): |
| (bar.C): |
| (bar): |
| (access): |
| (makeLongChain): |
| (accessY): |
| |
| 2017-10-09 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| `async` should be able to be used as an imported binding name |
| https://bugs.webkit.org/show_bug.cgi?id=176573 |
| |
| Reviewed by Saam Barati. |
| |
| * modules/import-default-async.js: Added. |
| * modules/import-named-async-as.js: Added. |
| * modules/import-named-async.js: Added. |
| * modules/import-named-async/target.js: Added. |
| * modules/import-namespace-async.js: Added. |
| * test262.yaml: |
| |
| 2017-09-29 Filip Pizlo <fpizlo@apple.com> |
| |
| Enable gigacage on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=177586 |
| |
| Reviewed by JF Bastien. |
| |
| Add tests for when Gigacage gets runtime disabled. |
| |
| * stress/disable-gigacage-arrays.js: Added. |
| (foo): |
| * stress/disable-gigacage-strings.js: Added. |
| (foo): |
| * stress/disable-gigacage-typed-arrays.js: Added. |
| (foo): |
| |
| 2017-10-09 Michael Saboff <msaboff@apple.com> |
| |
| Implement RegExp Unicode property escapes |
| https://bugs.webkit.org/show_bug.cgi?id=172069 |
| |
| Reviewed by JF Bastien. |
| |
| Enabled Unicode Property tests. |
| |
| * test262.yaml: |
| |
| 2017-10-09 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r223015 and r223025. |
| https://bugs.webkit.org/show_bug.cgi?id=178093 |
| |
| Regressed Kraken on iOS by 20% (Requested by keith_mi_ on |
| #webkit). |
| |
| Reverted changesets: |
| |
| "Enable gigacage on iOS" |
| https://bugs.webkit.org/show_bug.cgi?id=177586 |
| http://trac.webkit.org/changeset/223015 |
| |
| "Unreviewed, disable Gigacage on ARM64 Linux" |
| https://bugs.webkit.org/show_bug.cgi?id=177586 |
| http://trac.webkit.org/changeset/223025 |
| |
| 2017-10-09 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Update expectations for test262 tests that pass after r223043. |
| https://bugs.webkit.org/show_bug.cgi?id=176685 |
| |
| Unreviewed test gardening. |
| |
| * test262.yaml: |
| |
| 2017-10-09 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r223022. |
| |
| This change introduced 18 test262 failures. |
| |
| Reverted changeset: |
| |
| "`async` should be able to be used as an imported binding |
| name" |
| https://bugs.webkit.org/show_bug.cgi?id=176573 |
| http://trac.webkit.org/changeset/223022 |
| |
| 2017-10-09 Saam Barati <sbarati@apple.com> |
| |
| 3 poly-proto JSC tests timing out on debug after r222827 |
| https://bugs.webkit.org/show_bug.cgi?id=177880 |
| <rdar://problem/34817122> |
| |
| Unreviewed. |
| |
| I'm skipping these type profiler tests on debug since they are long running. |
| |
| * typeProfiler/deltablue-for-of.js: |
| * typeProfiler/getter-richards.js: |
| |
| 2017-10-09 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| Safari 10 /11 problem with if (!await get(something)). |
| https://bugs.webkit.org/show_bug.cgi?id=176685 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/async-await-basic.js: |
| (awaitEpression.async): |
| * stress/async-await-syntax.js: |
| (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax): |
| (prototype.testTopLevelAsyncAwaitSyntaxStrictMode): |
| |
| 2017-10-08 Saam Barati <sbarati@apple.com> |
| |
| Unreviewed. Make some type profiler tests run for less time to avoid debug timeouts. |
| |
| * typeProfiler/deltablue-for-of.js: |
| * typeProfiler/getter-richards.js: |
| |
| 2017-10-07 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| `async` should be able to be used as an imported binding name |
| https://bugs.webkit.org/show_bug.cgi?id=176573 |
| |
| Reviewed by Darin Adler. |
| |
| * modules/import-default-async.js: Added. |
| * modules/import-named-async-as.js: Added. |
| * modules/import-named-async.js: Added. |
| * modules/import-named-async/target.js: Added. |
| * modules/import-namespace-async.js: Added. |
| |
| 2017-09-29 Filip Pizlo <fpizlo@apple.com> |
| |
| Enable gigacage on iOS |
| https://bugs.webkit.org/show_bug.cgi?id=177586 |
| |
| Reviewed by JF Bastien. |
| |
| Add tests for when Gigacage gets runtime disabled. |
| |
| * stress/disable-gigacage-arrays.js: Added. |
| (foo): |
| * stress/disable-gigacage-strings.js: Added. |
| (foo): |
| * stress/disable-gigacage-typed-arrays.js: Added. |
| (foo): |
| |
| 2017-10-06 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r222791 and r222873. |
| https://bugs.webkit.org/show_bug.cgi?id=178031 |
| |
| Caused crashes with workers/wasm LayoutTests (Requested by |
| ryanhaddad on #webkit). |
| |
| Reverted changesets: |
| |
| "WebAssembly: no VM / JS version of everything but Instance" |
| https://bugs.webkit.org/show_bug.cgi?id=177473 |
| http://trac.webkit.org/changeset/222791 |
| |
| "WebAssembly: address no VM / JS follow-ups" |
| https://bugs.webkit.org/show_bug.cgi?id=177887 |
| http://trac.webkit.org/changeset/222873 |
| |
| 2017-10-05 Saam Barati <sbarati@apple.com> |
| |
| Make sure all prototypes under poly proto get added into the VM's prototype map |
| https://bugs.webkit.org/show_bug.cgi?id=177909 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/poly-proto-prototype-map-having-a-bad-time.js: Added. |
| (assert): |
| (foo.C): |
| (foo): |
| (set x): |
| |
| 2017-09-30 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Introduce import.meta |
| https://bugs.webkit.org/show_bug.cgi?id=177703 |
| |
| Reviewed by Filip Pizlo. |
| |
| * modules/import-meta-syntax.js: Added. |
| (shouldThrow): |
| (shouldNotThrow): |
| * modules/import-meta.js: Added. |
| * modules/import-meta/cocoa.js: Added. |
| * modules/resources/assert.js: |
| (export.shouldNotThrow): |
| * stress/import-syntax.js: |
| |
| 2017-10-04 Saam Barati <sbarati@apple.com> |
| |
| Make pertinent AccessCases watch the poly proto watchpoint |
| https://bugs.webkit.org/show_bug.cgi?id=177765 |
| |
| Reviewed by Keith Miller. |
| |
| * microbenchmarks/poly-proto-and-non-poly-proto-same-ic.js: Added. |
| (assert): |
| (foo.C): |
| (foo): |
| (validate): |
| * stress/poly-proto-clear-stub.js: Added. |
| (assert): |
| (foo.C): |
| (foo): |
| |
| 2017-10-04 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Remove failure expectation for async-func-decl-dstr-obj-id-put-unresolvable-no-strict.js. |
| |
| Unreviewed test gardening. |
| |
| * test262.yaml: |
| |
| 2017-10-04 Saam Barati <sbarati@apple.com> |
| |
| 3 poly-proto JSC tests timing out on debug after r222827 |
| https://bugs.webkit.org/show_bug.cgi?id=177880 |
| |
| Rubber stamped by Mark Lam. |
| |
| * microbenchmarks/poly-proto-access.js: |
| * typeProfiler/deltablue-for-of.js: |
| * typeProfiler/getter-richards.js: |
| |
| 2017-10-04 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Unreviewed, marking tco-catch.js as a failure after test262 update |
| https://bugs.webkit.org/show_bug.cgi?id=177859 |
| |
| * test262.yaml: |
| |
| 2017-10-04 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, marking one async iterator test262 test failed |
| https://bugs.webkit.org/show_bug.cgi?id=177859 |
| |
| * test262.yaml: |
| |
| 2017-10-04 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [Test262] Update Test262 to Oct 4 version |
| https://bugs.webkit.org/show_bug.cgi?id=177859 |
| |
| Reviewed by Sam Weinig. |
| |
| Let's rebaseline test262. Since it includes the latest changes to ArrayIterator::next, |
| we no longer need to mark it skip/fail. Also this update includes bunch of BigInt tests. |
| |
| * test262.yaml: |
| * test262/harness/promiseHelper.js: Renamed from JSTests/test262/harness/PromiseHelper.js. |
| (checkSequence): |
| * test262/harness/typeCoercion.js: |
| (testCoercibleToIndexZero): |
| (testCoercibleToIndexOne): |
| (testCoercibleToIndexFromIndex): |
| (testNotCoercibleToIndex.testPrimitiveValue): |
| (testNotCoercibleToInteger): |
| (testCoercibleToBigIntZero.testPrimitiveValue): |
| (testCoercibleToBigIntZero): |
| (testCoercibleToBigIntOne.testPrimitiveValue): |
| (testCoercibleToBigIntOne): |
| (testPrimitiveValue): |
| (testCoercibleToBigIntFromBigInt): |
| (testNotCoercibleToBigInt.testPrimitiveValue): |
| (testNotCoercibleToBigInt.testStringValue): |
| (testNotCoercibleToBigInt): |
| * test262/test/built-ins/Array/from/proto-from-ctor-realm.js: |
| * test262/test/built-ins/Array/length/define-own-prop-length-overflow-realm.js: |
| * test262/test/built-ins/Array/of/proto-from-ctor-realm.js: |
| * test262/test/built-ins/Array/proto-from-ctor-realm.js: |
| * test262/test/built-ins/Array/prototype/concat/create-proto-from-ctor-realm-array.js: |
| * test262/test/built-ins/Array/prototype/concat/create-proto-from-ctor-realm-non-array.js: |
| * test262/test/built-ins/Array/prototype/filter/create-proto-from-ctor-realm-array.js: |
| * test262/test/built-ins/Array/prototype/filter/create-proto-from-ctor-realm-non-array.js: |
| * test262/test/built-ins/Array/prototype/map/create-proto-from-ctor-realm-array.js: |
| * test262/test/built-ins/Array/prototype/map/create-proto-from-ctor-realm-non-array.js: |
| * test262/test/built-ins/Array/prototype/slice/create-proto-from-ctor-realm-array.js: |
| * test262/test/built-ins/Array/prototype/slice/create-proto-from-ctor-realm-non-array.js: |
| * test262/test/built-ins/Array/prototype/splice/create-proto-from-ctor-realm-array.js: |
| * test262/test/built-ins/Array/prototype/splice/create-proto-from-ctor-realm-non-array.js: |
| * test262/test/built-ins/ArrayBuffer/proto-from-ctor-realm.js: |
| * test262/test/built-ins/BigInt/asIntN/bigint-tobigint.js: |
| (testCoercibleToBigIntZero): |
| (testCoercibleToBigIntOne): |
| (testNotCoercibleToBigInt): |
| (MyError): Deleted. |
| (valueOf): Deleted. |
| (toString): Deleted. |
| (Symbol.toPrimitive): Deleted. |
| * test262/test/built-ins/BigInt/asIntN/bits-toindex.js: |
| (testCoercibleToIndexZero): |
| (testCoercibleToIndexOne): |
| (testNotCoercibleToIndex): |
| (MyError): Deleted. |
| (assert.sameValue.BigInt.asIntN.valueOf): Deleted. |
| (assert.sameValue.BigInt.asIntN.toString): Deleted. |
| (BigInt.asIntN.Symbol.toPrimitive): Deleted. |
| (BigInt.asIntN.valueOf): Deleted. |
| (BigInt.asIntN.toString): Deleted. |
| * test262/test/built-ins/BigInt/asUintN/arithmetic.js: Added. |
| * test262/test/built-ins/BigInt/asUintN/asUintN.js: Added. |
| * test262/test/built-ins/BigInt/asUintN/bigint-tobigint.js: Added. |
| (testCoercibleToBigIntZero): |
| (testCoercibleToBigIntOne): |
| (testNotCoercibleToBigInt): |
| * test262/test/built-ins/BigInt/asUintN/bits-toindex.js: Added. |
| (testCoercibleToIndexZero): |
| (testCoercibleToIndexOne): |
| (testNotCoercibleToIndex): |
| * test262/test/built-ins/BigInt/asUintN/length.js: Added. |
| * test262/test/built-ins/BigInt/asUintN/name.js: Added. |
| * test262/test/built-ins/BigInt/asUintN/order-of-steps.js: Added. |
| (bits.valueOf): |
| (bigint.valueOf): |
| * test262/test/built-ins/BigInt/prototype/valueOf/length.js: Added. |
| * test262/test/built-ins/BigInt/prototype/valueOf/name.js: Added. |
| * test262/test/built-ins/BigInt/prototype/valueOf/prop-desc.js: Added. |
| * test262/test/built-ins/BigInt/prototype/valueOf/return.js: Added. |
| * test262/test/built-ins/BigInt/prototype/valueOf/this-value-invalid-object-throws.js: Added. |
| * test262/test/built-ins/BigInt/prototype/valueOf/this-value-invalid-primitive-throws.js: Added. |
| * test262/test/built-ins/Boolean/proto-from-ctor-realm.js: |
| * test262/test/built-ins/DataView/proto-from-ctor-realm-sab.js: |
| * test262/test/built-ins/DataView/proto-from-ctor-realm.js: |
| * test262/test/built-ins/Date/proto-from-ctor-realm-one.js: |
| * test262/test/built-ins/Date/proto-from-ctor-realm-two.js: |
| * test262/test/built-ins/Date/proto-from-ctor-realm-zero.js: |
| * test262/test/built-ins/Error/proto-from-ctor-realm.js: |
| * test262/test/built-ins/Function/call-bind-this-realm-undef.js: |
| * test262/test/built-ins/Function/call-bind-this-realm-value.js: |
| * test262/test/built-ins/Function/internals/Call/class-ctor-realm.js: |
| * test262/test/built-ins/Function/internals/Construct/base-ctor-revoked-proxy-realm.js: |
| * test262/test/built-ins/Function/internals/Construct/derived-return-val-realm.js: |
| * test262/test/built-ins/Function/internals/Construct/derived-this-uninitialized-realm.js: |
| * test262/test/built-ins/Function/proto-from-ctor-realm.js: |
| * test262/test/built-ins/Function/prototype/bind/get-fn-realm.js: |
| * test262/test/built-ins/Function/prototype/bind/proto-from-ctor-realm.js: |
| * test262/test/built-ins/GeneratorFunction/proto-from-ctor-realm.js: |
| * test262/test/built-ins/JSON/stringify/bigint-order.js: Added. |
| (replacer): |
| (BigInt.prototype.toJSON): |
| * test262/test/built-ins/JSON/stringify/bigint-replacer.js: Added. |
| (replacer): |
| * test262/test/built-ins/JSON/stringify/bigint-tojson.js: Added. |
| (BigInt.prototype.toJSON): |
| * test262/test/built-ins/JSON/stringify/bigint.js: |
| * test262/test/built-ins/Map/proto-from-ctor-realm.js: |
| * test262/test/built-ins/Number/S9.3.1_A2_U180E.js: |
| * test262/test/built-ins/Number/S9.3.1_A3_T1_U180E.js: |
| * test262/test/built-ins/Number/S9.3.1_A3_T2_U180E.js: |
| * test262/test/built-ins/Number/proto-from-ctor-realm.js: |
| * test262/test/built-ins/Object/proto-from-ctor.js: |
| * test262/test/built-ins/Promise/proto-from-ctor-realm.js: |
| * test262/test/built-ins/Proxy/apply/arguments-realm.js: |
| * test262/test/built-ins/Proxy/apply/trap-is-not-callable-realm.js: |
| * test262/test/built-ins/Proxy/construct/arguments-realm.js: |
| * test262/test/built-ins/Proxy/construct/trap-is-not-callable-realm.js: |
| * test262/test/built-ins/Proxy/construct/trap-is-undefined-proto-from-ctor-realm.js: |
| * test262/test/built-ins/Proxy/defineProperty/desc-realm.js: |
| * test262/test/built-ins/Proxy/defineProperty/null-handler-realm.js: |
| * test262/test/built-ins/Proxy/defineProperty/targetdesc-configurable-desc-not-configurable-realm.js: |
| * test262/test/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-not-configurable-target-realm.js: |
| * test262/test/built-ins/Proxy/defineProperty/targetdesc-not-compatible-descriptor-realm.js: |
| * test262/test/built-ins/Proxy/defineProperty/targetdesc-undefined-not-configurable-descriptor-realm.js: |
| * test262/test/built-ins/Proxy/defineProperty/targetdesc-undefined-target-is-not-extensible-realm.js: |
| * test262/test/built-ins/Proxy/defineProperty/trap-is-not-callable-realm.js: |
| * test262/test/built-ins/Proxy/deleteProperty/trap-is-not-callable-realm.js: |
| * test262/test/built-ins/Proxy/get-fn-realm.js: |
| * test262/test/built-ins/Proxy/get/trap-is-not-callable-realm.js: |
| * test262/test/built-ins/Proxy/getOwnPropertyDescriptor/result-type-is-not-object-nor-undefined-realm.js: |
| * test262/test/built-ins/Proxy/getOwnPropertyDescriptor/trap-is-not-callable-realm.js: |
| * test262/test/built-ins/Proxy/getPrototypeOf/trap-is-not-callable-realm.js: |
| * test262/test/built-ins/Proxy/has/trap-is-not-callable-realm.js: |
| * test262/test/built-ins/Proxy/isExtensible/trap-is-not-callable-realm.js: |
| * test262/test/built-ins/Proxy/ownKeys/return-not-list-object-throws-realm.js: |
| * test262/test/built-ins/Proxy/ownKeys/trap-is-not-callable-realm.js: |
| * test262/test/built-ins/Proxy/preventExtensions/trap-is-not-callable-realm.js: |
| * test262/test/built-ins/Proxy/set/trap-is-not-callable-realm.js: |
| * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable-realm.js: |
| * test262/test/built-ins/RegExp/S15.10.2.12_A1_T1.js: |
| (i6.replace): |
| (i6b.replace): |
| * test262/test/built-ins/RegExp/dotall/with-dotall-unicode.js: |
| * test262/test/built-ins/RegExp/dotall/with-dotall.js: |
| * test262/test/built-ins/RegExp/dotall/without-dotall-unicode.js: |
| * test262/test/built-ins/RegExp/dotall/without-dotall.js: |
| * test262/test/built-ins/RegExp/proto-from-ctor-realm.js: |
| * test262/test/built-ins/RegExp/prototype/Symbol.split/splitter-proto-from-ctor-realm.js: |
| * test262/test/built-ins/RegExp/u180e.js: Added. |
| * test262/test/built-ins/Set/proto-from-ctor-realm.js: |
| * test262/test/built-ins/SharedArrayBuffer/proto-from-ctor-realm.js: |
| * test262/test/built-ins/String/proto-from-ctor-realm.js: |
| * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Fail.js: |
| * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Fail_2.js: |
| * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success.js: |
| * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_2.js: |
| * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_3.js: |
| * test262/test/built-ins/String/prototype/endsWith/String.prototype.endsWith_Success_4.js: |
| * test262/test/built-ins/String/prototype/endsWith/coerced-values-of-position.js: |
| * test262/test/built-ins/String/prototype/endsWith/endsWith.js: |
| * test262/test/built-ins/String/prototype/endsWith/length.js: |
| * test262/test/built-ins/String/prototype/endsWith/name.js: |
| * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-position-as-symbol.js: |
| * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-position.js: |
| * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring-as-symbol.js: |
| * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring-regexp-test.js: |
| * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-searchstring.js: |
| * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-this-as-symbol.js: |
| * test262/test/built-ins/String/prototype/endsWith/return-abrupt-from-this.js: |
| * test262/test/built-ins/String/prototype/endsWith/return-false-if-search-start-is-less-than-zero.js: |
| * test262/test/built-ins/String/prototype/endsWith/return-true-if-searchstring-is-empty.js: |
| * test262/test/built-ins/String/prototype/endsWith/searchstring-found-with-position.js: |
| * test262/test/built-ins/String/prototype/endsWith/searchstring-found-without-position.js: |
| * test262/test/built-ins/String/prototype/endsWith/searchstring-is-regexp-throws.js: |
| * test262/test/built-ins/String/prototype/endsWith/searchstring-not-found-with-position.js: |
| * test262/test/built-ins/String/prototype/endsWith/searchstring-not-found-without-position.js: |
| * test262/test/built-ins/String/prototype/endsWith/this-is-null-throws.js: |
| * test262/test/built-ins/String/prototype/endsWith/this-is-undefined-throws.js: |
| * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailBadLocation.js: |
| * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailLocation.js: |
| * test262/test/built-ins/String/prototype/includes/String.prototype.includes_FailMissingLetter.js: |
| * test262/test/built-ins/String/prototype/includes/String.prototype.includes_Success.js: |
| * test262/test/built-ins/String/prototype/includes/String.prototype.includes_SuccessNoLocation.js: |
| * test262/test/built-ins/String/prototype/includes/String.prototype.includes_lengthProp.js: |
| * test262/test/built-ins/String/prototype/includes/coerced-values-of-position.js: |
| * test262/test/built-ins/String/prototype/includes/includes.js: |
| * test262/test/built-ins/String/prototype/includes/length.js: |
| * test262/test/built-ins/String/prototype/includes/name.js: |
| * test262/test/built-ins/String/prototype/includes/return-abrupt-from-position-as-symbol.js: |
| * test262/test/built-ins/String/prototype/includes/return-abrupt-from-position.js: |
| * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring-as-symbol.js: |
| * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring-regexp-test.js: |
| * test262/test/built-ins/String/prototype/includes/return-abrupt-from-searchstring.js: |
| * test262/test/built-ins/String/prototype/includes/return-abrupt-from-this-as-symbol.js: |
| * test262/test/built-ins/String/prototype/includes/return-abrupt-from-this.js: |
| * test262/test/built-ins/String/prototype/includes/return-false-with-out-of-bounds-position.js: |
| * test262/test/built-ins/String/prototype/includes/return-true-if-searchstring-is-empty.js: |
| * test262/test/built-ins/String/prototype/includes/searchstring-found-with-position.js: |
| * test262/test/built-ins/String/prototype/includes/searchstring-found-without-position.js: |
| * test262/test/built-ins/String/prototype/includes/searchstring-is-regexp-throws.js: |
| * test262/test/built-ins/String/prototype/includes/searchstring-not-found-with-position.js: |
| * test262/test/built-ins/String/prototype/includes/searchstring-not-found-without-position.js: |
| * test262/test/built-ins/String/prototype/includes/this-is-null-throws.js: |
| * test262/test/built-ins/String/prototype/includes/this-is-undefined-throws.js: |
| * test262/test/built-ins/String/prototype/toLocaleLowerCase/Final_Sigma_U180E.js: |
| * test262/test/built-ins/String/prototype/toLowerCase/Final_Sigma_U180E.js: |
| * test262/test/built-ins/String/prototype/trim/u180e.js: |
| * test262/test/built-ins/Symbol/for/cross-realm.js: |
| * test262/test/built-ins/Symbol/hasInstance/cross-realm.js: |
| * test262/test/built-ins/Symbol/isConcatSpreadable/cross-realm.js: |
| * test262/test/built-ins/Symbol/iterator/cross-realm.js: |
| * test262/test/built-ins/Symbol/keyFor/cross-realm.js: |
| * test262/test/built-ins/Symbol/match/cross-realm.js: |
| * test262/test/built-ins/Symbol/replace/cross-realm.js: |
| * test262/test/built-ins/Symbol/search/cross-realm.js: |
| * test262/test/built-ins/Symbol/species/cross-realm.js: |
| * test262/test/built-ins/Symbol/split/cross-realm.js: |
| * test262/test/built-ins/Symbol/toPrimitive/cross-realm.js: |
| * test262/test/built-ins/Symbol/toStringTag/cross-realm.js: |
| * test262/test/built-ins/Symbol/unscopables/cross-realm.js: |
| * test262/test/built-ins/ThrowTypeError/distinct-cross-realm.js: |
| * test262/test/built-ins/TypedArrays/buffer-arg-proto-from-ctor-realm-sab.js: |
| * test262/test/built-ins/TypedArrays/buffer-arg-proto-from-ctor-realm.js: |
| * test262/test/built-ins/TypedArrays/internals/DefineOwnProperty/detached-buffer-realm.js: |
| * test262/test/built-ins/TypedArrays/internals/Get/detached-buffer-realm.js: |
| * test262/test/built-ins/TypedArrays/internals/GetOwnProperty/detached-buffer-realm.js: |
| * test262/test/built-ins/TypedArrays/internals/HasProperty/detached-buffer-realm.js: |
| * test262/test/built-ins/TypedArrays/internals/Set/detached-buffer-realm.js: |
| * test262/test/built-ins/TypedArrays/length-arg-proto-from-ctor-realm.js: |
| * test262/test/built-ins/TypedArrays/no-args-proto-from-ctor-realm.js: |
| * test262/test/built-ins/TypedArrays/object-arg-proto-from-ctor-realm.js: |
| * test262/test/built-ins/TypedArrays/typedarray-arg-other-ctor-buffer-ctor-custom-species-proto-from-ctor-realm.js: |
| * test262/test/built-ins/TypedArrays/typedarray-arg-proto-from-ctor-realm.js: |
| * test262/test/built-ins/TypedArrays/typedarray-arg-same-ctor-buffer-ctor-species-custom-proto-from-ctor-realm.js: |
| * test262/test/built-ins/WeakMap/proto-from-ctor-realm.js: |
| * test262/test/built-ins/WeakSet/proto-from-ctor-realm.js: |
| * test262/test/built-ins/parseFloat/S15.1.2.3_A2_T10_U180E.js: |
| * test262/test/built-ins/parseInt/S15.1.2.2_A2_T10_U180E.js: |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/length.js: |
| * test262/test/language/comments/mongolian-vowel-separator-multi.js: |
| * test262/test/language/comments/mongolian-vowel-separator-single-eval.js: |
| * test262/test/language/comments/mongolian-vowel-separator-single.js: |
| * test262/test/language/eval-code/indirect/realm.js: |
| * test262/test/language/expressions/assignment/dstr-obj-rest-order.js: Added. |
| (o.get z): |
| (o.get a): |
| * test262/test/language/expressions/call/eval-realm-indirect.js: |
| * test262/test/language/expressions/generators/eval-body-proto-realm.js: |
| * test262/test/language/expressions/greater-than-or-equal/bigint-and-bigint.js: Added. |
| * test262/test/language/expressions/greater-than-or-equal/bigint-and-non-finite.js: Added. |
| * test262/test/language/expressions/greater-than-or-equal/bigint-and-number-extremes.js: Added. |
| * test262/test/language/expressions/greater-than-or-equal/bigint-and-number.js: |
| * test262/test/language/expressions/greater-than/bigint-and-bigint.js: Added. |
| * test262/test/language/expressions/greater-than/bigint-and-non-finite.js: Added. |
| * test262/test/language/expressions/greater-than/bigint-and-number-extremes.js: Added. |
| * test262/test/language/expressions/greater-than/bigint-and-number.js: |
| * test262/test/language/expressions/less-than-or-equal/bigint-and-bigint.js: Added. |
| * test262/test/language/expressions/less-than-or-equal/bigint-and-non-finite.js: Added. |
| * test262/test/language/expressions/less-than-or-equal/bigint-and-number-extremes.js: Added. |
| * test262/test/language/expressions/less-than-or-equal/bigint-and-number.js: |
| * test262/test/language/expressions/less-than/bigint-and-bigint.js: Added. |
| * test262/test/language/expressions/less-than/bigint-and-non-finite.js: Added. |
| * test262/test/language/expressions/less-than/bigint-and-number-extremes.js: Added. |
| * test262/test/language/expressions/less-than/bigint-and-number.js: |
| * test262/test/language/expressions/new/non-ctor-err-realm.js: |
| * test262/test/language/expressions/super/realm.js: |
| * test262/test/language/expressions/tagged-template/cache-realm.js: |
| * test262/test/language/expressions/template-literal/mongolian-vowel-separator-eval.js: |
| * test262/test/language/expressions/template-literal/mongolian-vowel-separator.js: |
| * test262/test/language/literals/regexp/mongolian-vowel-separator-eval.js: |
| * test262/test/language/literals/regexp/mongolian-vowel-separator.js: |
| * test262/test/language/literals/string/mongolian-vowel-separator-eval.js: |
| * test262/test/language/literals/string/mongolian-vowel-separator.js: |
| * test262/test/language/statements/for-of/dstr-obj-rest-order.js: Added. |
| (o.get z): |
| (o.get a): |
| * test262/test/language/statements/for-of/iterator-next-reference.js: |
| (next): |
| (iterator.next): Deleted. |
| (x.of.iterable.): Deleted. |
| (x.of.iterable.get return): Deleted. |
| (x.of.iterable.iterator.next): Deleted. |
| * test262/test/language/types/reference/get-value-prop-base-primitive-realm.js: |
| * test262/test/language/types/reference/put-value-prop-base-primitive-realm.js: |
| * test262/test/language/white-space/mongolian-vowel-separator-eval.js: |
| * test262/test/language/white-space/mongolian-vowel-separator.js: |
| * test262/test262-Revision.txt: |
| |
| 2017-10-03 Saam Barati <sbarati@apple.com> |
| |
| Implement polymorphic prototypes |
| https://bugs.webkit.org/show_bug.cgi?id=176391 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/poly-proto-access.js: Added. |
| (assert): |
| (foo.C): |
| (foo.C.prototype.get bar): |
| (foo): |
| (bar): |
| * microbenchmarks/poly-proto-put-transition-speed.js: Added. |
| (assert): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (performSet): |
| * microbenchmarks/poly-proto-setter-speed.js: Added. |
| (assert): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo.C.prototype.set p): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (performSet): |
| * stress/constructor-with-return.js: |
| (i.tests.forEach.Constructor): |
| (i.tests.forEach): |
| (tests.forEach.Constructor): Deleted. |
| (tests.forEach): Deleted. |
| * stress/dom-jit-with-poly-proto.js: Added. |
| (assert): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (validate): |
| * stress/poly-proto-custom-value-and-accessor.js: Added. |
| (assert): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (items.forEach): |
| (set get for): |
| * stress/poly-proto-intrinsic-getter-correctness.js: Added. |
| (assert): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (foo): |
| * stress/poly-proto-miss.js: Added. |
| (makePolyProtoInstanceWithNullPrototype.foo.C): |
| (makePolyProtoInstanceWithNullPrototype.foo): |
| (makePolyProtoInstanceWithNullPrototype): |
| (assert): |
| (validate): |
| * stress/poly-proto-op-in-caching.js: Added. |
| (assert): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (validate): |
| (validate2): |
| * stress/poly-proto-put-transition.js: Added. |
| (assert): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (performSet): |
| (i.obj.__proto__.set p): |
| * stress/poly-proto-set-prototype.js: Added. |
| (assert): |
| (let.alternateProto.get x): |
| (let.alternateProto2.get y): |
| (let.alternateProto2.get x): |
| (foo.C): |
| (foo): |
| (validate): |
| * stress/poly-proto-setter.js: Added. |
| (assert): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo.C.prototype.set p): |
| (makePolyProtoObject.foo.C.prototype.get p): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (performSet): |
| * stress/poly-proto-using-inheritance.js: Added. |
| (assert): |
| (foo.C): |
| (foo.C.prototype.get baz): |
| (foo): |
| (bar.C): |
| (bar): |
| (validate): |
| * stress/primitive-poly-proto.js: Added. |
| (makePolyProtoInstance.foo.C): |
| (makePolyProtoInstance.foo): |
| (makePolyProtoInstance): |
| (assert): |
| (validate): |
| * stress/prototype-is-not-js-object.js: Added. |
| (foo.bar): |
| (foo): |
| (assert): |
| (validate): |
| * stress/try-get-by-id-poly-proto.js: Added. |
| (assert): |
| (makePolyProtoObject.foo.C): |
| (makePolyProtoObject.foo): |
| (makePolyProtoObject): |
| (tryGetByIdText): |
| (x.__proto__.get bar): |
| (validate): |
| * typeProfiler/overflow.js: |
| |
| 2017-10-03 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: no VM / JS version of everything but Instance |
| https://bugs.webkit.org/show_bug.cgi?id=177473 |
| |
| Reviewed by Filip Pizlo. |
| |
| - Exceeding max on memory growth now returns a range error as per |
| spec. This is a (very minor) breaking change: it used to throw OOM |
| error. Update the corresponding test. |
| |
| * wasm/js-api/memory-grow.js: |
| (assertEq): |
| * wasm/js-api/table.js: |
| (assert.throws): |
| |
| 2017-10-03 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Skip JSC test stress/regress-159779-2.js on debug. |
| https://bugs.webkit.org/show_bug.cgi?id=177204 |
| |
| Unreviewed test gardening. |
| |
| * stress/regress-159779-2.js: |
| |
| 2017-10-02 Caio Lima <ticaiolima@gmail.com> |
| |
| ChakraCore/test/Function/apply3.js is resulting wrong result in x86_64 |
| https://bugs.webkit.org/show_bug.cgi?id=175642 |
| |
| Reviewed by Darin Adler. |
| |
| * ChakraCore/test/Function/apply3.baseline-jsc: |
| |
| 2017-10-01 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r222564. |
| https://bugs.webkit.org/show_bug.cgi?id=177720 |
| |
| "It regressed JetStream by 2% on iOS caused by a 50% |
| regression on the bigfib subtest" (Requested by saamyjoon on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Add Above/Below comparisons for UInt32 patterns" |
| https://bugs.webkit.org/show_bug.cgi?id=177281 |
| http://trac.webkit.org/changeset/222564 |
| |
| 2017-09-29 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Support ArrayPush with multiple args |
| https://bugs.webkit.org/show_bug.cgi?id=175823 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/array-push-0.js: Added. |
| (arrayPush0): |
| * microbenchmarks/array-push-1.js: Added. |
| (arrayPush1): |
| * microbenchmarks/array-push-2.js: Added. |
| (arrayPush2): |
| * microbenchmarks/array-push-3.js: Added. |
| (arrayPush3): |
| * stress/array-push-multiple-contiguous.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-double-nan.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-double.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-int32.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-many-contiguous.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-many-double.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-many-int32.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-many-storage.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-storage.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-with-force-exit.js: Added. |
| (target.createBuiltin): |
| |
| 2017-09-29 Saam Barati <sbarati@apple.com> |
| |
| Custom GetterSetterAccessCase does not use the correct slotBase when making call |
| https://bugs.webkit.org/show_bug.cgi?id=177639 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/custom-get-set-inline-caching-one-level-up-proto-chain.js: Added. |
| (assert): |
| (Class): |
| (items.forEach): |
| (set get for): |
| |
| 2017-09-29 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r222563, r222565, and r222581. |
| https://bugs.webkit.org/show_bug.cgi?id=177675 |
| |
| "It causes a crash when playing youtube videos" (Requested by |
| saamyjoon on #webkit). |
| |
| Reverted changesets: |
| |
| "[DFG] Support ArrayPush with multiple args" |
| https://bugs.webkit.org/show_bug.cgi?id=175823 |
| http://trac.webkit.org/changeset/222563 |
| |
| "Unreviewed, build fix after r222563" |
| https://bugs.webkit.org/show_bug.cgi?id=175823 |
| http://trac.webkit.org/changeset/222565 |
| |
| "Unreviewed, fix x86 breaking due to exhausted registers" |
| https://bugs.webkit.org/show_bug.cgi?id=175823 |
| http://trac.webkit.org/changeset/222581 |
| |
| 2017-09-28 Mark Lam <mark.lam@apple.com> |
| |
| test262: Unexpected passes after r222617 and r222618. |
| https://bugs.webkit.org/show_bug.cgi?id=177622 |
| <rdar://problem/34725960> |
| |
| Reviewed by Saam Barati. |
| |
| Update test262.yaml for tests that are now passing. |
| |
| * test262.yaml: |
| |
| 2017-09-27 Michael Saboff <msaboff@apple.com> |
| |
| REGRESSION(210837): RegExp containing failed non-zero minimum greedy groups incorrectly match |
| https://bugs.webkit.org/show_bug.cgi?id=177570 |
| |
| Reviewed by Filip Pizlo. |
| |
| New regression test. |
| |
| * stress/regress-177570.js: Added. |
| |
| 2017-09-28 Michael Saboff <msaboff@apple.com> |
| |
| Heap out of bounds read in JSC::Yarr::Parser<JSC::Yarr::SyntaxChecker, unsigned char>::peek() |
| https://bugs.webkit.org/show_bug.cgi?id=177423 |
| |
| Reviewed by Mark Lam. |
| |
| Updated regression test. |
| |
| * stress/regress-177423.js: |
| (catch): |
| |
| 2017-09-27 Mark Lam <mark.lam@apple.com> |
| |
| JSArray::canFastCopy() should fail if the source and destination arrays are the same. |
| https://bugs.webkit.org/show_bug.cgi?id=177584 |
| <rdar://problem/34463903> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-177584.js: Added. |
| (assertEqual): |
| (Array.prototype.Symbol.species): |
| |
| 2017-09-27 Saam Barati <sbarati@apple.com> |
| |
| Propagate hasBeenFlattenedBefore in Structure's transition constructor and fix our for-in caching to fail when the prototype chain has an object with a dictionary structure |
| https://bugs.webkit.org/show_bug.cgi?id=177523 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/prototype-chain-has-dictionary-structure-for-in-caching.js: Added. |
| (assert): |
| (Test): |
| (addMethods.Test.prototype.string_appeared_here.i.methodNumber): |
| (addMethods): |
| (i.Test.prototype.propName): |
| |
| 2017-09-27 Mark Lam <mark.lam@apple.com> |
| |
| Yarr::Parser::tryConsumeGroupName() should check for the end of the pattern. |
| https://bugs.webkit.org/show_bug.cgi?id=177423 |
| <rdar://problem/34621320> |
| |
| Reviewed by Keith Miller. |
| |
| * stress/regress-177423.js: Added. |
| |
| 2017-09-27 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Add Above/Below comparisons for UInt32 patterns |
| https://bugs.webkit.org/show_bug.cgi?id=177281 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/uint32-comparison-jump.js: Added. |
| (shouldBe): |
| (above): |
| (aboveOrEqual): |
| (below): |
| (belowOrEqual): |
| (notAbove): |
| (notAboveOrEqual): |
| (notBelow): |
| (notBelowOrEqual): |
| * stress/uint32-comparison.js: Added. |
| (shouldBe): |
| (above): |
| (aboveOrEqual): |
| (below): |
| (belowOrEqual): |
| (aboveTest): |
| (aboveOrEqualTest): |
| (belowTest): |
| (belowOrEqualTest): |
| |
| 2017-09-25 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Support ArrayPush with multiple args |
| https://bugs.webkit.org/show_bug.cgi?id=175823 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/array-push-0.js: Added. |
| (arrayPush0): |
| * microbenchmarks/array-push-1.js: Added. |
| (arrayPush1): |
| * microbenchmarks/array-push-2.js: Added. |
| (arrayPush2): |
| * microbenchmarks/array-push-3.js: Added. |
| (arrayPush3): |
| * stress/array-push-multiple-contiguous.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-double-nan.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-double.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-int32.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-many-contiguous.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-many-double.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-many-int32.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-many-storage.js: Added. |
| (shouldBe): |
| (test): |
| * stress/array-push-multiple-storage.js: Added. |
| (shouldBe): |
| (test): |
| |
| 2017-09-26 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r222518. |
| https://bugs.webkit.org/show_bug.cgi?id=177507 |
| |
| Break the High Sierra build (Requested by yusukesuzuki on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Add Above/Below comparisons for UInt32 patterns" |
| https://bugs.webkit.org/show_bug.cgi?id=177281 |
| http://trac.webkit.org/changeset/222518 |
| |
| 2017-09-26 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Add Above/Below comparisons for UInt32 patterns |
| https://bugs.webkit.org/show_bug.cgi?id=177281 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/uint32-comparison-jump.js: Added. |
| (shouldBe): |
| (above): |
| (aboveOrEqual): |
| (below): |
| (belowOrEqual): |
| (notAbove): |
| (notAboveOrEqual): |
| (notBelow): |
| (notBelowOrEqual): |
| * stress/uint32-comparison.js: Added. |
| (shouldBe): |
| (above): |
| (aboveOrEqual): |
| (below): |
| (belowOrEqual): |
| (aboveTest): |
| (aboveOrEqualTest): |
| (belowTest): |
| (belowOrEqualTest): |
| |
| 2017-09-23 Keith Miller <keith_miller@apple.com> |
| |
| Fix infinite looping test262 test |
| https://bugs.webkit.org/show_bug.cgi?id=177412 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| This test was poorly designed since failing it would cause the vm |
| to inifinite loop. I've fixed it locally and will fix it on github pending |
| the results of next weeks tc39 meeting. |
| |
| * test262.yaml: |
| * test262/test/language/statements/for-of/iterator-next-reference.js: |
| |
| 2017-09-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: $.agent became $262.agent in test262 update |
| https://bugs.webkit.org/show_bug.cgi?id=177407 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * test262.yaml: |
| ~320 tests pass now that we correctly make $262 available. |
| |
| 2017-09-22 Keith Miller <keith_miller@apple.com> |
| |
| Speculatively change iteration protocall to use the same next function |
| https://bugs.webkit.org/show_bug.cgi?id=175653 |
| |
| Reviewed by Saam Barati. |
| |
| Change test to match the new iteration behavior. |
| |
| * stress/spread-optimized-properly.js: |
| |
| 2017-09-22 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG][FTL] Profile array vector length for array allocation |
| https://bugs.webkit.org/show_bug.cgi?id=177051 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/new-array-buffer-vector-profile.js: Added. |
| (target): |
| |
| 2017-09-22 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r222380. |
| https://bugs.webkit.org/show_bug.cgi?id=177352 |
| |
| Octane/box2d shows 8% regression (Requested by yusukesuzuki on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "[DFG][FTL] Profile array vector length for array allocation" |
| https://bugs.webkit.org/show_bug.cgi?id=177051 |
| http://trac.webkit.org/changeset/222380 |
| |
| 2017-09-21 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG][FTL] Profile array vector length for array allocation |
| https://bugs.webkit.org/show_bug.cgi?id=177051 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/new-array-buffer-vector-profile.js: Added. |
| (target): |
| |
| 2017-09-21 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Skip new hanging test262 tests. |
| https://bugs.webkit.org/show_bug.cgi?id=177326 |
| |
| Unreviewed test gardening. |
| |
| * test262.yaml: |
| |
| 2017-09-21 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Mark 6 test262 tests as passing. |
| https://bugs.webkit.org/show_bug.cgi?id=177307 |
| |
| Unreviewed test gardening. |
| |
| * test262.yaml: |
| |
| 2017-09-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Unreviewed follow-up to r222311. |
| |
| * test262/harness/sta.js: |
| * test262/test/built-ins/Array/from/calling-from-valid-1-noStrict.js: |
| * test262/test/built-ins/Array/from/calling-from-valid-1-onlyStrict.js: |
| * test262/test/built-ins/Array/from/calling-from-valid-2.js: |
| * test262/test/built-ins/Array/from/elements-added-after.js: |
| * test262/test/built-ins/Array/from/elements-deleted-after.js: |
| * test262/test/built-ins/Array/from/elements-updated-after.js: |
| * test262/test/built-ins/Array/from/from-array.js: |
| * test262/test/built-ins/Array/from/mapfn-is-not-callable-typeerror.js: |
| * test262/test/built-ins/Array/from/mapfn-throws-exception.js: |
| * test262/test/built-ins/Array/from/source-array-boundary.js: |
| * test262/test/built-ins/Array/from/source-object-constructor.js: |
| * test262/test/built-ins/Array/from/source-object-iterator-1.js: |
| * test262/test/built-ins/Array/from/source-object-iterator-2.js: |
| * test262/test/built-ins/Array/from/source-object-length.js: |
| * test262/test/built-ins/Array/from/source-object-missing.js: |
| * test262/test/built-ins/Array/from/source-object-without.js: |
| * test262/test/built-ins/Array/from/this-null.js: |
| * test262/test/built-ins/Function/prototype/toString/line-terminator-normalisation-CR.js: |
| * test262/test/language/line-terminators/S7.3_A3.2_T1.js: |
| * test262/test/language/literals/numeric/7.8.3-1gs.js: |
| * test262/test/language/literals/numeric/7.8.3-2gs.js: |
| * test262/test/language/literals/numeric/7.8.3-3gs.js: |
| * test262/test/language/literals/regexp/7.8.5-1gs.js: |
| * test262/test/language/literals/string/7.8.4-1gs.js: |
| Fix some files that I failed to update when I applied my patch. |
| |
| 2017-09-20 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Update test262 tests |
| https://bugs.webkit.org/show_bug.cgi?id=177220 |
| |
| Reviewed by Saam Barati and Yusuke Suzuki. |
| |
| * test262.yaml: |
| * test262/test262-Revision.txt: |
| New rebaselined expectations for all tests. |
| |
| * test262/*: |
| Updated. |
| |
| 2017-09-17 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Remove ToThis more aggressively |
| https://bugs.webkit.org/show_bug.cgi?id=177056 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/generator-with-this-strict.js: Added. |
| (shouldBe): |
| (generator): |
| (target): |
| * stress/generator-with-this.js: Added. |
| (shouldBe): |
| (generator): |
| (target): |
| |
| 2017-09-17 Michael Saboff <msaboff@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=177038 |
| Add an option to run-jsc-stress-tests to limit tests variations to a basic set |
| |
| Reviewed by JF Bastien. |
| |
| * stress/unshiftCountSlowCase-correct-postCapacity.js: Disabled this test on ARM64 iOS devices |
| as it dies using too much memory. |
| |
| 2017-09-15 Saam Barati <sbarati@apple.com> |
| |
| Arity fixup during inlining should do a 2 phase commit so it properly recovers the frame in case of exit |
| https://bugs.webkit.org/show_bug.cgi?id=176981 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/exit-during-inlined-arity-fixup-recover-proper-frame.js: Added. |
| (assert): |
| (verify): |
| (func): |
| (const.bar.createBuiltin): |
| |
| 2017-09-14 Saam Barati <sbarati@apple.com> |
| |
| It should be valid to exit before each set when doing arity fixup when inlining |
| https://bugs.webkit.org/show_bug.cgi?id=176948 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/arity-fixup-inlining-dont-generate-invalid-use.js: Added. |
| (baz): |
| (bar): |
| (foo): |
| |
| 2017-09-14 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Add PrivateSymbolMode::{Include,Exclude} for PropertyNameArray |
| https://bugs.webkit.org/show_bug.cgi?id=176867 |
| |
| Reviewed by Sam Weinig. |
| |
| * microbenchmarks/object-get-own-property-symbols.js: Added. |
| (test): |
| |
| 2017-09-13 Mark Lam <mark.lam@apple.com> |
| |
| Rolling out r221832: Regresses Speedometer by ~4% and Dromaeo CSS YUI by ~20%. |
| https://bugs.webkit.org/show_bug.cgi?id=176888 |
| <rdar://problem/34381832> |
| |
| Not reviewed. |
| |
| * stress/op_mod-ConstVar.js: |
| * stress/op_mod-VarConst.js: |
| * stress/op_mod-VarVar.js: |
| |
| 2017-09-13 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Skip 3 op_mod tests on Debug JSC bots. |
| https://bugs.webkit.org/show_bug.cgi?id=176630 |
| |
| Unreviewed test gardening. |
| |
| * stress/op_mod-ConstVar.js: |
| * stress/op_mod-VarConst.js: |
| * stress/op_mod-VarVar.js: |
| |
| 2017-09-13 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Fix Array allocation in Object.keys |
| https://bugs.webkit.org/show_bug.cgi?id=176826 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/object-own-property-keys.js: Added. |
| (shouldBe): |
| |
| 2017-09-12 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Optimize WeakMap::get by adding intrinsic and fixup |
| https://bugs.webkit.org/show_bug.cgi?id=176010 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/weak-map-key.js: Added. |
| (assert): |
| (objectKey): |
| (let.start.Date.now): |
| |
| 2017-09-12 Mark Lam <mark.lam@apple.com> |
| |
| REGRESSION: 3 stress/op_mod (and op_div) tests timing out on Debug JSC bots. |
| https://bugs.webkit.org/show_bug.cgi?id=176630 |
| |
| Reviewed by JF Bastien. |
| |
| Debug builds are just slow, and these tests do a lot. They pass when I run them |
| locally on my MacBook Pro. So, I'm bumping their timing multiplier to 2.0x as |
| a speculative fix for the bots that are seeing these fail. |
| |
| I also undid the skipping of the op_mod tests for debug builds. |
| |
| * stress/op_div-ConstVar.js: |
| * stress/op_div-VarConst.js: |
| * stress/op_div-VarVar.js: |
| * stress/op_mod-ConstVar.js: |
| * stress/op_mod-VarConst.js: |
| * stress/op_mod-VarVar.js: |
| |
| 2017-09-12 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Skip stress/value-to-boolean.js on Debug bots. |
| https://bugs.webkit.org/show_bug.cgi?id=176787 |
| |
| Unreviewed test gardening. |
| |
| * stress/value-to-boolean.js: |
| |
| 2017-09-11 Mark Lam <mark.lam@apple.com> |
| |
| Change test expectation for test262/test/language/statements/try/tco-catch.js |
| https://bugs.webkit.org/show_bug.cgi?id=176749 |
| |
| Rubber stamped by Keith Miller. |
| |
| It's been failing since at least r221821. I'm changing the test expectation to |
| fail to green the bots while I investigate some more. |
| |
| * test262.yaml: |
| |
| 2017-09-11 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r221854. |
| |
| The test added with this change fails on 32-bit JSC bots. |
| |
| Reverted changeset: |
| |
| "[DFG] Optimize WeakMap::get by adding intrinsic and fixup" |
| https://bugs.webkit.org/show_bug.cgi?id=176010 |
| http://trac.webkit.org/changeset/221854 |
| |
| 2017-09-03 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Optimize WeakMap::get by adding intrinsic and fixup |
| https://bugs.webkit.org/show_bug.cgi?id=176010 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/weak-map-key.js: Added. |
| (assert): |
| (objectKey): |
| (let.start.Date.now): |
| |
| 2017-09-09 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Optimize Object.keys by using careful array allocation |
| https://bugs.webkit.org/show_bug.cgi?id=176654 |
| |
| Reviewed by Darin Adler. |
| |
| * microbenchmarks/object-keys.js: Added. |
| (test): |
| |
| 2017-09-09 Filip Pizlo <fpizlo@apple.com> |
| |
| Error should compute .stack and friends lazily |
| https://bugs.webkit.org/show_bug.cgi?id=176645 |
| |
| Reviewed by Saam Barati. |
| |
| * ChakraCore.yaml: Skip test that was testing non-standard behavior of these fields. |
| * microbenchmarks/new-error.js: Added. |
| * microbenchmarks/throw.js: Added. |
| |
| 2017-09-09 Mark Lam <mark.lam@apple.com> |
| |
| [Re-landing] Use JIT probes for DFG OSR exit. |
| https://bugs.webkit.org/show_bug.cgi?id=175144 |
| <rdar://problem/33437050> |
| |
| Not reviewed. Original patch reviewed by Saam Barati. |
| |
| Disable these tests for debug builds because they run too slow with the new OSR exit. |
| |
| * stress/op_mod-ConstVar.js: |
| * stress/op_mod-VarConst.js: |
| * stress/op_mod-VarVar.js: |
| |
| 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] NewArrayWithSize(size)'s size does not care negative zero |
| https://bugs.webkit.org/show_bug.cgi?id=176300 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/new-array-with-size-div.js: Added. |
| (shouldBe): |
| (test): |
| (i.i): |
| |
| 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] PutByVal with Array::Generic is too generic |
| https://bugs.webkit.org/show_bug.cgi?id=176345 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/object-assign-symbols.js: Added. |
| (shouldBe): |
| (test): |
| * stress/object-assign.js: Added. |
| (shouldBe): |
| (test): |
| (i.shouldBe.JSON.stringify.test): |
| |
| 2017-09-08 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG][FTL] GetByVal(ObjectUse with Array::Generic, StringUse/SymbolUse) should be supported |
| https://bugs.webkit.org/show_bug.cgi?id=176590 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/object-iterate-symbols.js: Added. |
| (test): |
| * microbenchmarks/object-iterate.js: Added. |
| (test): |
| * stress/object-iterate-symbols.js: Added. |
| (shouldBe): |
| (test): |
| * stress/object-iterate.js: Added. |
| (shouldBe): |
| (test): |
| |
| 2017-09-07 Per Arne Vollan <pvollan@apple.com> |
| |
| [Win32] 10 JSC stress tests are failing. |
| https://bugs.webkit.org/show_bug.cgi?id=176538 |
| |
| Reviewed by Mark Lam. |
| |
| Skip tests on Windows to make the bots green. |
| |
| * ChakraCore.yaml: |
| * stress/date-relaxed.js: |
| |
| 2017-09-06 Mark Lam <mark.lam@apple.com> |
| |
| constructGenericTypedArrayViewWithArguments() is missing an exception check. |
| https://bugs.webkit.org/show_bug.cgi?id=176485 |
| <rdar://problem/33898874> |
| |
| Reviewed by Keith Miller. |
| |
| * stress/regress-176485.js: Added. |
| |
| 2017-09-05 Saam Barati <sbarati@apple.com> |
| |
| isNotCellSpeculation is wrong with respect to SpecEmpty |
| https://bugs.webkit.org/show_bug.cgi?id=176429 |
| |
| Reviewed by Michael Saboff. |
| |
| * microbenchmarks/is-not-cell-speculation-for-empty-value.js: Added. |
| (Foo): |
| |
| 2017-09-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: Completion values for control flow do not match the spec |
| https://bugs.webkit.org/show_bug.cgi?id=171265 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/completion-value.js: |
| Condensed test for completion values in top level statements. |
| |
| * stress/super-get-by-id.js: |
| ClassDeclaration when evaled no longer produce values. Convert |
| these to ClassExpressions so they produce the class value. |
| |
| * ChakraCore/test/GlobalFunctions/evalreturns3.baseline-jsc: |
| This is a progression for currect spec behavior. |
| |
| * mozilla/mozilla-tests.yaml: |
| This test is now outdated, so mark it as failing for that reason. |
| |
| * test262.yaml: |
| Passing all "cptn" completion value tests. |
| |
| 2017-09-04 Saam Barati <sbarati@apple.com> |
| |
| typeCheckHoistingPhase may emit a CheckStructure on the empty value which leads to a dereference of zero on 64 bit platforms |
| https://bugs.webkit.org/show_bug.cgi?id=176317 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/dont-crash-when-hoist-check-structure-on-tdz.js: Added. |
| (Foo): |
| |
| 2017-09-03 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG][FTL] Efficiently execute number#toString() |
| https://bugs.webkit.org/show_bug.cgi?id=170007 |
| |
| Reviewed by Keith Miller. |
| |
| * microbenchmarks/number-to-string-strength-reduction.js: Added. |
| (test): |
| * microbenchmarks/number-to-string-with-radix-10.js: Added. |
| (test): |
| * microbenchmarks/number-to-string-with-radix-cse.js: Added. |
| (test): |
| * microbenchmarks/number-to-string-with-radix.js: Added. |
| (test): |
| * stress/number-to-string-strength-reduction.js: Added. |
| (shouldBe): |
| (test): |
| * stress/number-to-string-with-radix-10.js: Added. |
| (shouldBe): |
| (test): |
| * stress/number-to-string-with-radix-cse.js: Added. |
| (shouldBe): |
| (test): |
| * stress/number-to-string-with-radix-invalid.js: Added. |
| (shouldThrow): |
| * stress/number-to-string-with-radix-watchpoint.js: Added. |
| (shouldBe): |
| (test): |
| (i.i.1e3.Number.prototype.toString): |
| * stress/number-to-string-with-radix.js: Added. |
| (shouldBe): |
| (test): |
| |
| 2017-09-02 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Relax arity requirement |
| https://bugs.webkit.org/show_bug.cgi?id=175523 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/arity-mismatch-arguments-length.js: Added. |
| (shouldBe): |
| (test1): |
| (test): |
| * stress/arity-mismatch-get-argument.js: Added. |
| (shouldBe): |
| (builtin.createBuiltin): |
| (test): |
| * stress/arity-mismatch-inlining-extra-slots.js: Added. |
| (shouldBe): |
| (inlineTarget): |
| (test): |
| * stress/arity-mismatch-inlining.js: Added. |
| (shouldBe): |
| (inlineTarget): |
| (test): |
| * stress/arity-mismatch-rest.js: Added. |
| (shouldBe): |
| (test2): |
| (test1): |
| (test): |
| |
| 2017-08-31 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Fix "name" and "length" of Proxy revoke function |
| https://bugs.webkit.org/show_bug.cgi?id=176155 |
| |
| Reviewed by Mark Lam. |
| |
| * test262.yaml: |
| |
| 2017-08-31 Saam Barati <sbarati@apple.com> |
| |
| Graph::methodOfGettingAValueProfileFor compares NodeOrigin instead of the semantic CodeOrigin |
| https://bugs.webkit.org/show_bug.cgi?id=176206 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/compare-semantic-origin-op-negate-method-of-getting-a-value-profile.js: Added. |
| (a): |
| (b): |
| (foo): |
| |
| 2017-08-31 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Skip two slow JSC tests after r221422. |
| |
| Unreviewed test gardening. |
| |
| * stress/regexp-prototype-match-on-too-long-rope.js: |
| * stress/regexp-prototype-test-on-too-long-rope.js: |
| |
| 2017-08-31 Filip Pizlo <fpizlo@apple.com> |
| |
| Unreviewed, skipping slow tests. |
| |
| These tests are now timing out. They would have always been slow. The timeouts are probably because OOMs |
| work differently now. |
| |
| * stress/regexp-prototype-exec-on-too-long-rope.js: |
| * stress/string-prototype-charCodeAt-on-too-long-rope.js: |
| |
| 2017-08-31 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Use reifying system for "name" property of builtin JSFunction |
| https://bugs.webkit.org/show_bug.cgi?id=175260 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/accessors-get-set-prefix.js: |
| * stress/builtin-function-name.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor): |
| (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort): |
| * stress/private-name-as-anonymous-builtin.js: Added. |
| (shouldBe): |
| (NotPromise): |
| |
| 2017-08-30 Saam Barati <sbarati@apple.com> |
| |
| Unreviewed. Make test stop printing. |
| |
| * microbenchmarks/fake-iterators-that-throw-when-finished.js: |
| |
| 2017-08-30 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r221327. |
| |
| This change caused test262 failures. |
| |
| Reverted changeset: |
| |
| "[JSC] Use reifying system for "name" property of builtin |
| JSFunction" |
| https://bugs.webkit.org/show_bug.cgi?id=175260 |
| http://trac.webkit.org/changeset/221327 |
| |
| 2017-08-30 Saam Barati <sbarati@apple.com> |
| |
| semicolon is being interpreted as an = in the LiteralParser |
| https://bugs.webkit.org/show_bug.cgi?id=176114 |
| |
| Reviewed by Oliver Hunt. |
| |
| * stress/jsonp-literal-parser-semicolon-is-not-assignment.js: Added. |
| * stress/resources/literal-parser-test-case.js: Added. |
| |
| 2017-08-30 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| [ESNext] Async iteration - Implement async iteration statement: for-await-of |
| https://bugs.webkit.org/show_bug.cgi?id=166698 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/async-iteration-for-await-of-syntax.js: Added. |
| (assert): |
| (checkSyntax): |
| (checkSyntaxError): |
| (checkSimpleAsyncGeneratorSloppyMode): |
| (checkSimpleAsyncGeneratorStrictMode): |
| (checkNestedAsyncGenerators): |
| (checkSimpleAsyncGeneratorSyntaxErrorInStrictMode): |
| * stress/async-iteration-for-await-of.js: Added. |
| (assert): |
| (async.foo): |
| (async.boo): |
| (const.boo.async): |
| |
| 2017-08-29 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Use reifying system for "name" property of builtin JSFunction |
| https://bugs.webkit.org/show_bug.cgi?id=175260 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/accessors-get-set-prefix.js: |
| * stress/builtin-function-name.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor): |
| (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort): |
| |
| 2017-08-25 Saam Barati <sbarati@apple.com> |
| |
| Support compiling catch in the DFG |
| https://bugs.webkit.org/show_bug.cgi?id=174590 |
| <rdar://problem/34047845> |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/delta-blue-try-catch.js: Added. |
| (exception): |
| (value): |
| (OrderedCollection): |
| (OrderedCollection.prototype.add): |
| (OrderedCollection.prototype.at): |
| (OrderedCollection.prototype.size): |
| (OrderedCollection.prototype.removeFirst): |
| (OrderedCollection.prototype.remove): |
| (Strength): |
| (Strength.stronger): |
| (Strength.weaker): |
| (Strength.weakestOf): |
| (Strength.strongest): |
| (Strength.prototype.nextWeaker): |
| (Constraint): |
| (Constraint.prototype.addConstraint): |
| (Constraint.prototype.satisfy): |
| (Constraint.prototype.destroyConstraint): |
| (Constraint.prototype.isInput): |
| (UnaryConstraint): |
| (UnaryConstraint.prototype.addToGraph): |
| (UnaryConstraint.prototype.chooseMethod): |
| (UnaryConstraint.prototype.isSatisfied): |
| (UnaryConstraint.prototype.markInputs): |
| (UnaryConstraint.prototype.output): |
| (UnaryConstraint.prototype.recalculate): |
| (UnaryConstraint.prototype.markUnsatisfied): |
| (UnaryConstraint.prototype.inputsKnown): |
| (UnaryConstraint.prototype.removeFromGraph): |
| (StayConstraint): |
| (StayConstraint.prototype.execute): |
| (EditConstraint.prototype.isInput): |
| (EditConstraint.prototype.execute): |
| (BinaryConstraint): |
| (BinaryConstraint.prototype.chooseMethod): |
| (BinaryConstraint.prototype.addToGraph): |
| (BinaryConstraint.prototype.isSatisfied): |
| (BinaryConstraint.prototype.markInputs): |
| (BinaryConstraint.prototype.input): |
| (BinaryConstraint.prototype.output): |
| (BinaryConstraint.prototype.recalculate): |
| (BinaryConstraint.prototype.markUnsatisfied): |
| (BinaryConstraint.prototype.inputsKnown): |
| (BinaryConstraint.prototype.removeFromGraph): |
| (ScaleConstraint): |
| (ScaleConstraint.prototype.addToGraph): |
| (ScaleConstraint.prototype.removeFromGraph): |
| (ScaleConstraint.prototype.markInputs): |
| (ScaleConstraint.prototype.execute): |
| (ScaleConstraint.prototype.recalculate): |
| (EqualityConstraint): |
| (EqualityConstraint.prototype.execute): |
| (Variable): |
| (Variable.prototype.addConstraint): |
| (Variable.prototype.removeConstraint): |
| (Planner): |
| (Planner.prototype.incrementalAdd): |
| (Planner.prototype.incrementalRemove): |
| (Planner.prototype.newMark): |
| (Planner.prototype.makePlan): |
| (Planner.prototype.extractPlanFromConstraints): |
| (Planner.prototype.addPropagate): |
| (Planner.prototype.removePropagateFrom): |
| (Planner.prototype.addConstraintsConsumingTo): |
| (Plan): |
| (Plan.prototype.addConstraint): |
| (Plan.prototype.size): |
| (Plan.prototype.constraintAt): |
| (Plan.prototype.execute): |
| (chainTest): |
| (projectionTest): |
| (change): |
| (deltaBlue): |
| * microbenchmarks/fake-iterators-that-throw-when-finished.js: Added. |
| (assert): |
| (Numbers): |
| (Numbers.prototype.next): |
| (return.Transpose): |
| (return.Transpose.prototype.next): |
| (transpose): |
| (verifyEven): |
| (verifyString): |
| (foo): |
| (runIterators): |
| * microbenchmarks/try-catch-word-count.js: Added. |
| (let.assert): |
| (EOF): |
| (let.texts): |
| (let.o.apply): |
| (foo): |
| (bar): |
| (f): |
| (run): |
| (test1): |
| (test2): |
| (test3): |
| (fn): |
| (A): |
| (B): |
| (A.prototype.getValue): |
| (B.prototype.getParentValue): |
| (strlen): |
| (sum.0): |
| (test): |
| (result.test.o): |
| (set add.set add): |
| (set forEach): |
| (stringHash): |
| (set if): |
| (testFunction): |
| (set delete.set has.set add): |
| * stress/catch-set-argument-speculation-failure.js: Added. |
| (o): |
| (e): |
| (e2): |
| (escape): |
| (baz): |
| (noInline.run): |
| (noInline): |
| * stress/osr-enter-to-catch-with-set-local-type-check-failure.js: Added. |
| (foo): |
| (e): |
| (baz): |
| (bar): |
| |
| 2017-08-24 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r221119, r221124, and r221143. |
| https://bugs.webkit.org/show_bug.cgi?id=175973 |
| |
| "I think it regressed JSBench by 20%" (Requested by saamyjoon |
| on #webkit). |
| |
| Reverted changesets: |
| |
| "Support compiling catch in the DFG" |
| https://bugs.webkit.org/show_bug.cgi?id=174590 |
| http://trac.webkit.org/changeset/221119 |
| |
| "Unreviewed, build fix in GTK port" |
| https://bugs.webkit.org/show_bug.cgi?id=174590 |
| http://trac.webkit.org/changeset/221124 |
| |
| "DFG::JITCode::osrEntry should get sorted since we perform a |
| binary search on it" |
| https://bugs.webkit.org/show_bug.cgi?id=175893 |
| http://trac.webkit.org/changeset/221143 |
| |
| 2017-08-24 Michael Saboff <msaboff@apple.com> |
| |
| Add support for RegExp "dotAll" flag |
| https://bugs.webkit.org/show_bug.cgi?id=175924 |
| |
| Reviewed by Keith Miller. |
| |
| Updated tests for new dotAll ('s' flag) changes. |
| |
| * es6/Proxy_internal_get_calls_RegExp.prototype.flags.js: |
| * stress/static-getter-in-names.js: |
| |
| 2017-08-24 Mark Lam <mark.lam@apple.com> |
| |
| Land regression test for https://bugs.webkit.org/show_bug.cgi?id=164081. |
| https://bugs.webkit.org/show_bug.cgi?id=175940 |
| <rdar://problem/29003921> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-164081.js: Added. |
| (shouldEqual): |
| (testcase): |
| |
| 2017-08-24 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Skip flaky JSC test stress/test-finally.js. |
| https://bugs.webkit.org/show_bug.cgi?id=160283 |
| |
| Unreviewed test gardening. |
| |
| * stress/test-finally.js: |
| |
| 2017-08-23 Saam Barati <sbarati@apple.com> |
| |
| Support compiling catch in the DFG |
| https://bugs.webkit.org/show_bug.cgi?id=174590 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/delta-blue-try-catch.js: Added. |
| (exception): |
| (value): |
| (OrderedCollection): |
| (OrderedCollection.prototype.add): |
| (OrderedCollection.prototype.at): |
| (OrderedCollection.prototype.size): |
| (OrderedCollection.prototype.removeFirst): |
| (OrderedCollection.prototype.remove): |
| (Strength): |
| (Strength.stronger): |
| (Strength.weaker): |
| (Strength.weakestOf): |
| (Strength.strongest): |
| (Strength.prototype.nextWeaker): |
| (Constraint): |
| (Constraint.prototype.addConstraint): |
| (Constraint.prototype.satisfy): |
| (Constraint.prototype.destroyConstraint): |
| (Constraint.prototype.isInput): |
| (UnaryConstraint): |
| (UnaryConstraint.prototype.addToGraph): |
| (UnaryConstraint.prototype.chooseMethod): |
| (UnaryConstraint.prototype.isSatisfied): |
| (UnaryConstraint.prototype.markInputs): |
| (UnaryConstraint.prototype.output): |
| (UnaryConstraint.prototype.recalculate): |
| (UnaryConstraint.prototype.markUnsatisfied): |
| (UnaryConstraint.prototype.inputsKnown): |
| (UnaryConstraint.prototype.removeFromGraph): |
| (StayConstraint): |
| (StayConstraint.prototype.execute): |
| (EditConstraint.prototype.isInput): |
| (EditConstraint.prototype.execute): |
| (BinaryConstraint): |
| (BinaryConstraint.prototype.chooseMethod): |
| (BinaryConstraint.prototype.addToGraph): |
| (BinaryConstraint.prototype.isSatisfied): |
| (BinaryConstraint.prototype.markInputs): |
| (BinaryConstraint.prototype.input): |
| (BinaryConstraint.prototype.output): |
| (BinaryConstraint.prototype.recalculate): |
| (BinaryConstraint.prototype.markUnsatisfied): |
| (BinaryConstraint.prototype.inputsKnown): |
| (BinaryConstraint.prototype.removeFromGraph): |
| (ScaleConstraint): |
| (ScaleConstraint.prototype.addToGraph): |
| (ScaleConstraint.prototype.removeFromGraph): |
| (ScaleConstraint.prototype.markInputs): |
| (ScaleConstraint.prototype.execute): |
| (ScaleConstraint.prototype.recalculate): |
| (EqualityConstraint): |
| (EqualityConstraint.prototype.execute): |
| (Variable): |
| (Variable.prototype.addConstraint): |
| (Variable.prototype.removeConstraint): |
| (Planner): |
| (Planner.prototype.incrementalAdd): |
| (Planner.prototype.incrementalRemove): |
| (Planner.prototype.newMark): |
| (Planner.prototype.makePlan): |
| (Planner.prototype.extractPlanFromConstraints): |
| (Planner.prototype.addPropagate): |
| (Planner.prototype.removePropagateFrom): |
| (Planner.prototype.addConstraintsConsumingTo): |
| (Plan): |
| (Plan.prototype.addConstraint): |
| (Plan.prototype.size): |
| (Plan.prototype.constraintAt): |
| (Plan.prototype.execute): |
| (chainTest): |
| (projectionTest): |
| (change): |
| (deltaBlue): |
| * microbenchmarks/fake-iterators-that-throw-when-finished.js: Added. |
| (assert): |
| (Numbers): |
| (Numbers.prototype.next): |
| (return.Transpose): |
| (return.Transpose.prototype.next): |
| (transpose): |
| (verifyEven): |
| (verifyString): |
| (foo): |
| (runIterators): |
| * microbenchmarks/try-catch-word-count.js: Added. |
| (let.assert): |
| (EOF): |
| (let.texts): |
| (let.o.apply): |
| (foo): |
| (bar): |
| (f): |
| (run): |
| (test1): |
| (test2): |
| (test3): |
| (fn): |
| (A): |
| (B): |
| (A.prototype.getValue): |
| (B.prototype.getParentValue): |
| (strlen): |
| (sum.0): |
| (test): |
| (result.test.o): |
| (set add.set add): |
| (set forEach): |
| (stringHash): |
| (set if): |
| (testFunction): |
| (set delete.set has.set add): |
| * stress/catch-set-argument-speculation-failure.js: Added. |
| (o): |
| (e): |
| (e2): |
| (escape): |
| (baz): |
| (noInline.run): |
| (noInline): |
| * stress/osr-enter-to-catch-with-set-local-type-check-failure.js: Added. |
| (foo): |
| (e): |
| (baz): |
| (bar): |
| |
| 2017-08-23 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Optimize Map iteration with intrinsic |
| https://bugs.webkit.org/show_bug.cgi?id=174355 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/map-iterator-result-should-have-expected-shape.js: Added. |
| (shouldBe): |
| (throw.new.Error): |
| * stress/set-iterator-result-should-have-expected-shape.js: Added. |
| (shouldBe): |
| (throw.new.Error.let.iterator.set Symbol): |
| (throw.new.Error.set add): |
| (let.iterator.set Symbol): |
| |
| 2017-08-23 Robin Morisset <rmorisset@apple.com> |
| |
| Add a micro-benchmark for checking that accessing a variable within a 'with' |
| block does not automatically prevent type prediction. |
| https://bugs.webkit.org/show_bug.cgi?id=175738 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/with_and_arith.js: Added. |
| (with): |
| |
| 2017-08-23 Skachkov Oleksandr <gskachkov@gmail.com> |
| |
| [ESNext] Async iteration - Implement Async Generator - runtime |
| https://bugs.webkit.org/show_bug.cgi?id=175240 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/async-iteration-async-from-sync.js: Added. |
| (assert): |
| (const.Logger): |
| (this.fullfilled): |
| (this.fullfilledDone): |
| (this.rejected): |
| (this.catched): |
| (this.isFinal): |
| (_assertLogger): |
| (const.assertLogger): |
| (const.getPromise.promiseHolder.return.new.Promise): |
| (foo): |
| (async.boo): |
| (bar): |
| (async.baz): |
| (async.goo): |
| * stress/async-iteration-basic.js: Added. |
| (assert): |
| (const.Logger): |
| (this.fullfilled): |
| (this.fullfilledDone): |
| (this.rejected): |
| (this.catched): |
| (this.isFinal): |
| (_assertLogger): |
| (const.assertLogger): |
| (const.getPromise.promiseHolder.return.new.Promise): |
| (async.generator): |
| (iterator.next.then): |
| (async.baz): |
| (async.boo): |
| (async.foo): |
| (async.goo): |
| (A.prototype.async.foo): |
| (A.prototype.async.boo): |
| (A): |
| (asyncGenExp.async): |
| (async.joo): |
| (j.next.then): |
| (then): |
| (async.koo): |
| (async.loo): |
| (async.moo): |
| (async.noo): |
| (async.ooo): |
| (async.roo): |
| (async.poo): |
| (async.soo): |
| (async.too): |
| * stress/async-iteration-evaluation.js: Added. |
| (assert): |
| (async.foo): |
| (catch): |
| * stress/async-iteration-syntax.js: |
| * stress/async-iteration-yield-promise.js: Added. |
| (assert): |
| (const.Logger): |
| (this.fullfilled): |
| (this.fullfilledDone): |
| (this.rejected): |
| (this.catched): |
| (this.isFinal): |
| (_assertLogger): |
| (const.assertLogger): |
| (const.getPromise.promiseHolder.return.new.Promise): |
| (async.foo): |
| (async.boo): |
| (async.bar): |
| * stress/async-iteration-yield-star-interface.js: Added. |
| (assert): |
| (const.getPromise.promiseHolder.return.new.Promise): |
| (const.Logger): |
| (this.fullfilled): |
| (this.fullfilledDone): |
| (this.rejected): |
| (this.catched): |
| (this.custom): |
| (this.isFinal): |
| (_assertLogger): |
| (const.assertLogger): |
| (let.asyncIter.Symbol.asyncIterator): |
| (let.asyncIter.next): |
| (let.asyncIter.throw): |
| (let.asyncIter.return): |
| (async.foo): |
| (asyncIter.Symbol.asyncIterator): |
| (asyncIter.next): |
| (async.boo): |
| (asyncIter.return): |
| (async.bar): |
| (async.baz): |
| (async.foobar): |
| * stress/async-iteration-yield-star.js: Added. |
| (assert): |
| (const.Logger): |
| (this.fullfilled): |
| (this.fullfilledDone): |
| (this.rejected): |
| (this.catched): |
| (this.custom): |
| (this.isFinal): |
| (_assertLogger): |
| (const.assertLogger): |
| (const.getPromise.promiseHolder.return.new.Promise): |
| (async.foo): |
| (async.boo): |
| (async.bar): |
| (async.baz): |
| (async.joo): |
| (async.goo): |
| (async.koo): |
| (async.loo): |
| (let.asyncIter.Symbol.asyncIterator): |
| (let.asyncIter.next): |
| (let.asyncIter.throw): |
| (let.asyncIter.return): |
| (async.moo): |
| (async.noo): |
| * test262.yaml: |
| |
| 2017-08-23 JF Bastien <jfbastien@apple.com> |
| |
| Fix printing in test |
| |
| Unreviewed: fixing verbosity, shouldn't have been there. |
| |
| * wasm/regress/175693.js: |
| (else.else): |
| (catch): |
| |
| 2017-08-18 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Skip flaky JSC test microbenchmarks/generator-with-several-types.js. |
| https://bugs.webkit.org/show_bug.cgi?id=172543 |
| |
| Unreviewed test gardening. |
| |
| * microbenchmarks/generator-with-several-types.js: |
| |
| 2017-08-17 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: const in unreachable code decoded incorrectly, erroneously rejects binary as invalid |
| https://bugs.webkit.org/show_bug.cgi?id=175693 |
| <rdar://problem/33952443> |
| |
| Reviewed by Saam Barati. |
| |
| Add a regression directory for WebAssembly tests. |
| |
| * wasm.yaml: |
| * wasm/regress/175693.js: Added. |
| (else.else): |
| (instance.new.WebAssembly.Instance.new.WebAssembly.Module): |
| (catch): |
| * wasm/regress/175693.wasm: Added. |
| |
| 2017-08-15 Robin Morisset <rmorisset@apple.com> |
| |
| Support the 'with' keyword in FTL. |
| https://bugs.webkit.org/show_bug.cgi?id=175585 |
| |
| Reviewed by Saam Barati. |
| |
| Also improve the JSTest/stress/with.js file to test |
| what happens when non-objects are passed to with. |
| |
| * stress/with.js: |
| (foo): |
| (i.catch): |
| (i.with): Deleted. |
| |
| 2017-08-14 Keith Miller <keith_miller@apple.com> |
| |
| Add testing tool to lie to the DFG about profiles |
| https://bugs.webkit.org/show_bug.cgi?id=175487 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/compare-eq-incomplete-profile.js: Added. |
| (const.test.createBuiltin): |
| |
| 2017-08-14 Robin Morisset <rmorisset@apple.com> |
| |
| Support the with keyword in DFG |
| https://bugs.webkit.org/show_bug.cgi?id=175470 |
| |
| Reviewed by Saam Barati. |
| |
| Added a new stress-test for the 'with' keyword, that caught a bug in a |
| previous version of this code. |
| |
| * stress/with.js: Added. |
| (i.with): |
| |
| 2017-08-14 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Skip flaky JSC test test/fieldopts/objtypespec-newobj-invalidation.1.js |
| https://bugs.webkit.org/show_bug.cgi?id=175544 |
| |
| Unreviewed test gardening. |
| |
| * ChakraCore.yaml: |
| |
| 2017-08-09 Caitlin Potter <caitp@igalia.com> |
| |
| Early error on ANY operator before new.target |
| https://bugs.webkit.org/show_bug.cgi?id=157970 |
| |
| Reviewed by Saam Barati. |
| |
| Instead of throwing if any unary operator precedes new.target, only |
| throw if the unary operator updates the reference. |
| |
| The following become legal in JSC: |
| |
| ``` |
| !new.target |
| ~new.target |
| typeof new.target |
| delete new.target |
| void new.target |
| ``` |
| |
| All of which are legal in v8 and SpiderMonkey in strict and sloppy mode |
| |
| * stress/new-target-syntax-errors.js: |
| * stress/new-target.js: |
| |
| 2017-08-09 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Skip failing JSC tests stress/regress-169783.js and wasm.yaml/wasm/stress/oom.js. |
| https://bugs.webkit.org/show_bug.cgi?id=175255 |
| |
| Unreviewed test gardening. |
| |
| * stress/regress-169783.js: |
| * wasm/stress/oom.js: |
| |
| 2017-08-09 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| REGRESSION: 2 test262/test/language/statements/async-function failures |
| https://bugs.webkit.org/show_bug.cgi?id=175334 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Add @skip parameters to tests, and remove test for async iterator from |
| async await syntax test because it is already covered by async-iterator-syntax.js |
| |
| * stress/async-await-syntax.js: |
| * stress/async-iteration-syntax.js: |
| |
| 2017-08-08 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, gardening test262 for Promise resolve / reject function length |
| https://bugs.webkit.org/show_bug.cgi?id=175333 |
| |
| * test262.yaml: |
| |
| 2017-08-07 Robin Morisset <rmorisset@apple.com> |
| |
| GetOwnProperty of TypedArray indexed fields is wrongly configurable |
| https://bugs.webkit.org/show_bug.cgi?id=175307 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/typedarray-getownproperty-not-configurable.js: Added. |
| (assert): |
| (foo): |
| |
| 2017-08-06 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Promise resolve and reject function should have length = 1 |
| https://bugs.webkit.org/show_bug.cgi?id=175242 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/builtin-function-length.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (shouldBe.JSON.stringify.Object.getOwnPropertyDescriptor): |
| (shouldBe.JSON.stringify.Object.getOwnPropertyNames.Array.prototype.filter.sort): |
| |
| 2017-08-06 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| [ESNext] Async iteration - Implement Async Generator - parser |
| https://bugs.webkit.org/show_bug.cgi?id=175210 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/async-await-syntax.js: |
| (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax): |
| * stress/async-iteration-syntax.js: Added. |
| (assert): |
| (checkSyntax): |
| (checkSyntaxError): |
| (checkSimpleAsyncGeneratorSloppyMode): |
| (checkSimpleAsyncGeneratorStrictMode): |
| (checkNestedAsyncGenerators): |
| (checkSimpleAsyncGeneratorSyntaxErrorInStrictMode): |
| * stress/generator-class-methods-syntax.js: |
| |
| 2017-08-03 Carlos Alberto Lopez Perez <clopez@igalia.com> |
| |
| JSC test wasm/js-api/test_memory_constructor.js should be skipped on memoryLimited |
| https://bugs.webkit.org/show_bug.cgi?id=175150 |
| |
| Unreviewed test gardening. |
| |
| * wasm/js-api/test_memory_constructor.js: |
| |
| 2017-08-02 Carlos Alberto Lopez Perez <clopez@igalia.com> |
| |
| [Linux] JSTests/wasm/stress/oom.js should not run on Linux |
| https://bugs.webkit.org/show_bug.cgi?id=175100 |
| |
| Reviewed by Mark Lam. |
| |
| The JSC test JSTests/wasm/stress/oom.js tries to use all the |
| available memory until an out of memory exception happens. |
| |
| The Linux kernel is more tuned for server workloads than for GUI |
| responsiveness. When a process tries to use a lot of memory, Linux |
| will do its best to serve the request. This usually translates to |
| free physical RAM by writing to disk dirty pages and/or moving out |
| less recently used pages to swap (disk storage). |
| Meanwhile it does this, the system will become unresponsive and this |
| leads to freezes that can last even some minutes on the worst cases. |
| |
| Therefore, let's skip this test on Linux as it will cause more harm |
| than good on the Linux bots or on the machines of Linux developers. |
| |
| * wasm/stress/oom.js: |
| |
| 2017-08-01 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| [JSC] Remove unnecessary print from stress\promise-finally.js test |
| https://bugs.webkit.org/show_bug.cgi?id=175015 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/promise-finally.js: |
| (p.finally): |
| (then): |
| |
| 2017-07-31 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, update test262 results for optional catch binding |
| |
| * test262.yaml: |
| |
| 2017-07-31 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Support optional catch binding |
| https://bugs.webkit.org/show_bug.cgi?id=174981 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/optional-catch-binding-syntax.js: Added. |
| (testSyntax): |
| (testSyntaxError): |
| (catch.catch): |
| * stress/optional-catch-binding.js: Added. |
| (shouldBe): |
| (throwException): |
| |
| 2017-07-28 Mark Lam <mark.lam@apple.com> |
| |
| ObjectToStringAdaptiveStructureWatchpoint should not fire if it's dying imminently. |
| https://bugs.webkit.org/show_bug.cgi?id=174948 |
| <rdar://problem/33495680> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/regress-174948.js: Added. |
| |
| 2017-07-28 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| ASSERTION FAILED: candidate->op() == PhantomCreateRest || candidate->op() == PhantomDirectArguments || candidate->op() == PhantomClonedArguments || candidate->op() == PhantomSpread || candidate->op() == PhantomNewArrayWithSpread |
| https://bugs.webkit.org/show_bug.cgi?id=174900 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/arguments-elimination-candidate-listings-should-respect-pseudo-terminals.js: Added. |
| (sideEffect): |
| (args): |
| (test): |
| |
| 2017-07-27 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Hoist DOM binding attribute getter prologue into JavaScriptCore taking advantage of DOMJIT / CheckSubClass |
| https://bugs.webkit.org/show_bug.cgi?id=171637 |
| |
| Reviewed by Darin Adler. |
| |
| * stress/domjit-getter-complex-with-incorrect-object.js: |
| (i.shouldThrow): |
| * stress/domjit-getter-type-check.js: Copied from JSTests/stress/domjit-getter-complex-with-incorrect-object.js. |
| (shouldBe): |
| (i.shouldThrow): |
| |
| 2017-07-26 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: test throwing out of the start function |
| https://bugs.webkit.org/show_bug.cgi?id=165714 |
| <rdar://problem/29760251> |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/assert.js: |
| * wasm/function-tests/trap-from-start.js: Added. |
| (StartTraps): |
| * wasm/function-tests/trap-from-start-async.js: Added. |
| (async.StartTrapsAsync): |
| |
| 2017-07-21 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [FTL] Arguments elimination is suppressed by unreachable blocks |
| https://bugs.webkit.org/show_bug.cgi?id=174352 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/arguments-elimination-force-exit.js: Added. |
| (shouldBe): |
| (strict): |
| (sloppy): |
| * stress/arguments-elimination-throw.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (sloppy): |
| (isArguments): |
| |
| 2017-07-13 Mark Lam <mark.lam@apple.com> |
| |
| Add some additional test cases for bug 170896. |
| https://bugs.webkit.org/show_bug.cgi?id=174491 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/regress-170896-with-contiguous-shape-profile.js: Copied from JSTests/stress/regress-170896.js. |
| * stress/regress-170896-with-double-shape-profile.js: Added. |
| (test): |
| * stress/regress-170896-with-int32-shape-profile.js: Added. |
| (test): |
| * stress/regress-170896.js: Removed. |
| |
| 2017-07-13 Saam Barati <sbarati@apple.com> |
| |
| Missing exception check in JSObject::hasInstance |
| https://bugs.webkit.org/show_bug.cgi?id=174455 |
| <rdar://problem/31384608> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/has-instance-exception-check.js: Added. |
| (assert): |
| (let.getter.Object.getOwnPropertyDescriptor.get foo): |
| |
| 2017-07-13 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESnext] Implement Object Spread |
| https://bugs.webkit.org/show_bug.cgi?id=167963 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/obj-rest-destructuring-order.js: Added. |
| (assert): |
| (o.get z): |
| (o.get a): |
| * stress/obj-spread-order.js: Added. |
| (assert): |
| (o.get z): |
| (o.get a): |
| * stress/object-spread.js: Added. |
| (let.assert): |
| (assert.sameValue): |
| (let.o.get a): |
| (let.obj.get c): |
| (cthulhu.get x): |
| (let.obj.set c): |
| (calls.o.get z): |
| (calls.o.get a): |
| (try.let.obj.get foo): |
| (get calls): |
| |
| 2017-07-12 Saam Barati <sbarati@apple.com> |
| |
| GenericArguments consults the wrong state when tracking modified argument descriptors and mapped arguments |
| https://bugs.webkit.org/show_bug.cgi?id=174411 |
| <rdar://problem/31696186> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/generic-arguments-correct-delete-behavior.js: Added. |
| (assert): |
| (makeTest): |
| |
| 2017-07-07 Mark Lam <mark.lam@apple.com> |
| |
| \n\r is not the same as \r\n. |
| https://bugs.webkit.org/show_bug.cgi?id=173053 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/regress-173053.js: Added. |
| * stress/template-literal-line-terminators.js: |
| |
| 2017-07-06 Saam Barati <sbarati@apple.com> |
| |
| We are missing places where we invalidate the for-in context |
| https://bugs.webkit.org/show_bug.cgi?id=174184 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/for-in-invalidate-context-weird-assignments.js: Added. |
| (assert): |
| (test): |
| |
| 2017-07-05 Saam Barati <sbarati@apple.com> |
| |
| NewArray in FTLLowerDFGToB3 does not handle speculating on doubles when having a bad time |
| https://bugs.webkit.org/show_bug.cgi?id=174188 |
| <rdar://problem/30581423> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/new-array-having-a-bad-time-double.js: Added. |
| (assert): |
| (foo): |
| |
| 2017-07-05 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| WTF::StringImpl::copyChars segfaults when built with GCC 7 |
| https://bugs.webkit.org/show_bug.cgi?id=173407 |
| |
| Reviewed by Andreas Kling. |
| |
| * stress/string-repeat-copy-chars-crash.js: Added. |
| (shouldBe): |
| |
| 2017-07-03 Saam Barati <sbarati@apple.com> |
| |
| Skip unshiftCountSlowCase-correct-postCapacity.js on debug builds since it takes a long time to run. |
| |
| * stress/unshiftCountSlowCase-correct-postCapacity.js: |
| |
| 2017-07-03 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, annotate dont--reserve-huge-capacity-lexer.js with $memoryLimited |
| |
| It requires too much memory. |
| |
| * stress/dont-reserve-huge-capacity-lexer.js: |
| |
| 2017-06-30 Michael Saboff <msaboff@apple.com> |
| |
| Skip a test on ARM64 platform since we run out of address space. |
| |
| Rubber stamped by Saam Barati. |
| |
| * stress/dont-reserve-huge-capacity-lexer.js: |
| |
| 2017-06-30 Michael Saboff <msaboff@apple.com> |
| |
| RegExp's anchored with .* with \g flag can return wrong match start for strings with multiple matches |
| https://bugs.webkit.org/show_bug.cgi?id=174044 |
| |
| Reviewed by Oliver Hunt. |
| |
| New regression test. |
| |
| * stress/regress-174044.js: Added. |
| (test1): |
| (test2): |
| |
| 2017-06-30 Filip Pizlo <fpizlo@apple.com> |
| |
| RegExpCachedResult::setInput should reify left and right contexts |
| https://bugs.webkit.org/show_bug.cgi?id=173818 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/right-left-context-invalidated-by-input.js: Added. |
| (test.validateContexts): |
| (test): |
| |
| 2017-06-29 Saam Barati <sbarati@apple.com> |
| |
| Calculating postCapacity in unshiftCountSlowCase is wrong |
| https://bugs.webkit.org/show_bug.cgi?id=173992 |
| <rdar://problem/32283199> |
| |
| Reviewed by Keith Miller. |
| |
| * stress/unshiftCountSlowCase-correct-postCapacity.js: Added. |
| (temp): |
| |
| 2017-06-29 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r218512. |
| https://bugs.webkit.org/show_bug.cgi?id=173981 |
| |
| "It changes the behavior of the JS API's JSEvaluateScript |
| which breaks TurboTax" (Requested by saamyjoon on #webkit). |
| |
| Reverted changeset: |
| |
| "test262: Completion values for control flow do not match the |
| spec" |
| https://bugs.webkit.org/show_bug.cgi?id=171265 |
| http://trac.webkit.org/changeset/218512 |
| |
| 2017-06-27 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: running out of executable memory should throw OoM |
| https://bugs.webkit.org/show_bug.cgi?id=171537 |
| <rdar://problem/32963338> |
| |
| Reviewed by Saam Barati. |
| |
| * wasm.yaml: |
| * wasm/lowExecutableMemory/executable-memory-oom.js: Added. |
| (const.invoke): |
| (failCount.0.catch): |
| (failCount.0.module.undefined.catch): |
| * wasm/lowExecutableMemory/exports-oom.js: Added. |
| (const.type): |
| (const.params): |
| (const.randomProgram): |
| (failCount.0.catch): |
| (failCount.0.module.undefined.catch): |
| * wasm/lowExecutableMemory/imports-oom.js: Added. |
| (const.type): |
| (const.params): |
| (const.randomProgram): |
| (f.imports.push): |
| (failCount.0.catch): |
| (failCount.0.module.undefined.catch): |
| |
| 2017-06-27 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESnext] Implement Object Rest - Implementing Object Rest Destructuring |
| https://bugs.webkit.org/show_bug.cgi?id=167962 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/object-rest-deconstruct.js: Added. |
| (let.assert): |
| (let.assertPropDescriptor): |
| (catch): |
| (get 3): |
| (foo): |
| (let.src.get y): |
| (let.src.set y): |
| (let.gen): |
| |
| 2017-06-27 Saam Barati <sbarati@apple.com> |
| |
| Function constructor needs to follow the spec and validate parameters and body independently |
| https://bugs.webkit.org/show_bug.cgi?id=173303 |
| <rdar://problem/32732526> |
| |
| Reviewed by Keith Miller. |
| |
| * ChakraCore/test/Function/FuncBodyES5.baseline-jsc: |
| * stress/function-constructor-semantics.js: Added. |
| (assert): |
| (hasSyntaxError): |
| (foo): |
| (async.foo): |
| (testError): |
| (testOK.toString): |
| (toString): |
| |
| 2017-06-26 Saam Barati <sbarati@apple.com> |
| |
| RegExpPrototype.js builtin uses for-of iteration which is almost certainly incorrect |
| https://bugs.webkit.org/show_bug.cgi?id=173740 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/regexp-prototype-replace-builtin-should-not-use-for-of.js: Added. |
| (Array.prototype.Symbol.iterator): |
| |
| 2017-06-26 Saam Barati <sbarati@apple.com> |
| |
| Skip a test on 32-bit platforms since we run out of address space. |
| |
| Rubber stamped by Mark Lam. |
| |
| * stress/dont-reserve-huge-capacity-lexer.js: |
| |
| 2017-06-26 Saam Barati <sbarati@apple.com> |
| |
| Crash in JSC::Lexer<unsigned char>::setCode |
| https://bugs.webkit.org/show_bug.cgi?id=172754 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/dont-reserve-huge-capacity-lexer.js: Added. |
| (catch): |
| |
| 2017-06-24 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Clean up Object.entries implementation |
| https://bugs.webkit.org/show_bug.cgi?id=173759 |
| |
| Reviewed by Sam Weinig. |
| |
| * microbenchmarks/object-entries.js: Added. |
| (test): |
| |
| 2017-06-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Remove Reflect.enumerate |
| https://bugs.webkit.org/show_bug.cgi?id=173806 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * ChakraCore.yaml: |
| * es6.yaml: |
| These tests now fail because they use Reflect.enumerate. |
| |
| * test262.yaml: |
| This test now passes, it checked that Reflect.enumerate is undefined! |
| |
| * stress/property-name-enumerator-should-not-look-into-indexed-values-when-it-is-a-dictionary.js: |
| Convert to for..in which presented the original issue. See bug <https://webkit.org/b/149811> |
| |
| * stress/reflect-enumerate.js: Removed. |
| Remove a test solely for Reflect.enumerate. |
| |
| 2017-06-22 Saam Barati <sbarati@apple.com> |
| |
| ValueRep(DoubleRep(@v)) can not simply convert to @v |
| https://bugs.webkit.org/show_bug.cgi?id=173687 |
| <rdar://problem/32855563> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/dont-strength-reduce-valuerep-of-doublerep.js: Added. |
| (i.catch): |
| |
| 2017-06-22 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Object.values should be implemented in C++ |
| https://bugs.webkit.org/show_bug.cgi?id=173703 |
| |
| Reviewed by Sam Weinig. |
| |
| * microbenchmarks/object-keys-map-values.js: Added. |
| (test): |
| * microbenchmarks/object-values.js: Added. |
| (test): |
| * stress/object-values-changing-properties.js: Added. |
| (shouldBe): |
| (throw.new.Error.let.source.get x): |
| (throw.new.Error): |
| (shouldBe.let.handler.get order): |
| (get let): |
| (shouldBe.let.handler.get return): |
| (let.handler.get order): |
| |
| 2017-06-21 Saam Barati <sbarati@apple.com> |
| |
| eval virtual call is incorrect in the baseline JIT |
| https://bugs.webkit.org/show_bug.cgi?id=173587 |
| <rdar://problem/32867897> |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/do-eval-virtual-call-correctly.js: Added. |
| (assert): |
| (f): |
| (i.test): |
| (catch): |
| |
| 2017-06-20 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Update test262 test expectations after r218581. |
| |
| Unreviewed test gardening. |
| |
| * test262.yaml: |
| |
| 2017-06-20 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| Revert changes in bug#160417 about extending `null` not being a derived class |
| https://bugs.webkit.org/show_bug.cgi?id=169293 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/class-derived-from-null.js: |
| (assertThrow): |
| (test1): |
| (test2): |
| (test3): |
| (test4): |
| (test5): |
| (test6): |
| |
| 2017-06-13 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] More ArrayIndexOf fixups for various types |
| https://bugs.webkit.org/show_bug.cgi?id=173176 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/array-indexof-arraystorage.js: Added. |
| (shouldBe): |
| (indexOfInt32Other): |
| (indexOfInt32Cell): |
| (indexOfInt32Boolean): |
| (indexOfDoubleOther): |
| (indexOfDoubleCell): |
| (indexOfDoubleBoolean): |
| (indexOfInt32): |
| (indexOfDouble): |
| * stress/array-indexof-constant-folding.js: Added. |
| (shouldBe): |
| (indexOfInt32Other): |
| (indexOfInt32Cell): |
| (indexOfInt32Boolean): |
| (indexOfDoubleOther): |
| (indexOfDoubleCell): |
| (indexOfDoubleBoolean): |
| * stress/array-indexof-hole-and-other.js: Added. |
| (shouldBe): |
| (indexOf): |
| * stress/array-indexof-other.js: Added. |
| (shouldBe): |
| (indexOfInt32): |
| (indexOfDouble): |
| (indexOfString): |
| (indexOfObject): |
| * stress/array-indexof-symbol.js: Added. |
| (shouldBe): |
| (indexOfInt32): |
| (indexOfDouble): |
| (indexOfString): |
| (indexOfObject): |
| |
| 2017-06-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: Completion values for control flow do not match the spec |
| https://bugs.webkit.org/show_bug.cgi?id=171265 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/completion-value.js: |
| Condensed test for completion values in top level statements. |
| |
| * stress/super-get-by-id.js: |
| ClassDeclaration when evaled no longer produce values. Convert |
| these to ClassExpressions so they produce the class value. |
| |
| * ChakraCore/test/GlobalFunctions/evalreturns3.baseline-jsc: |
| This is a progression for currect spec behavior. |
| |
| * mozilla/mozilla-tests.yaml: |
| This test is now outdated, so mark it as failing for that reason. |
| |
| * test262.yaml: |
| Passing all "cptn" completion value tests. |
| |
| 2017-06-17 Keith Miller <keith_miller@apple.com> |
| |
| ArrayBuffer constructor needs to create subclass structures before its buffer |
| https://bugs.webkit.org/show_bug.cgi?id=173510 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * test262.yaml: |
| |
| 2017-06-17 Keith Miller <keith_miller@apple.com> |
| |
| ArrayPrototype methods should use JSValue::toLength for non-Arrays. |
| https://bugs.webkit.org/show_bug.cgi?id=173506 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| Re-baseline tests. |
| |
| * ChakraCore/test/Function/apply3.baseline-jsc: |
| * test262.yaml: |
| |
| 2017-06-16 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Add fast path for Object.assign |
| https://bugs.webkit.org/show_bug.cgi?id=173416 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/object-assign-changing-properties.js: Added. |
| (shouldBe): |
| (throw.new.Error.let.source.get x): |
| (throw.new.Error): |
| (shouldBe.let.source.get x): |
| (shouldBe.let.target.set x): |
| (shouldBe.let.target.get x): |
| * stress/object-assign-proxy.js: Added. |
| (shouldBe): |
| (throw.new.Error.let.handler.get order): |
| |
| 2017-06-15 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Implement Object.assign in C++ |
| https://bugs.webkit.org/show_bug.cgi?id=173414 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/object-assign-string-first.js: Added. |
| (shouldBe): |
| (source.get Symbol): |
| (source.get 1): |
| (source.get cocoa): |
| |
| 2017-06-14 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: remove empty test files |
| https://bugs.webkit.org/show_bug.cgi?id=173382 |
| |
| Reviewed by Saam Barati. |
| |
| The following files: |
| JSTests/wasm/function-tests/call-indirect-params.js |
| JSTests/wasm/function-tests/call-indirect.js |
| JSTests/wasm/js-api/call-indirect-results.js |
| Were changed to empty files in https://trac.webkit.org/changeset/209771 |
| |
| They were testing call_indirect with the wrong semantics, before |
| we implemented tables. That change implemented tables and |
| therefore removed the erroneous tests. |
| |
| We have a few tests for call_indirect which already do the right thing: |
| JSTests/wasm/function-tests/context-switch.js |
| JSTests/wasm/function-tests/exceptions.js |
| JSTests/wasm/function-tests/grow-memory-2.js |
| JSTests/wasm/function-tests/stack-overflow.js |
| JSTests/wasm/function-tests/table-basic-2.js |
| JSTests/wasm/function-tests/table-basic.js |
| JSTests/wasm/js-api/call-indirect.js |
| JSTests/wasm/js-api/table.js |
| JSTests/wasm/js-api/unique-signature.js |
| JSTests/wasm/js-api/wrapper-function.js |
| |
| I also just imported the updated spec tests which, among other |
| things, test call_indirect: |
| core/br.wast |
| core/br_table.wast |
| core/call_indirect.wast |
| core/func.wast |
| core/func_ptrs.wast |
| core/imports.wast |
| core/left-to-right.wast |
| core/linking.wast |
| core/nop.wast |
| core/return.wast |
| core/typecheck.wast |
| core/unreachable.wast |
| |
| So I think it's OK to just delete the tests which should just have |
| been deleted back when tables were added. |
| |
| * wasm/function-tests/call-indirect-params.js: Removed. |
| * wasm/function-tests/call-indirect.js: Removed. |
| * wasm/js-api/call-indirect-results.js: Removed. |
| |
| 2017-06-13 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: import updated spec tests |
| https://bugs.webkit.org/show_bug.cgi?id=173287 |
| <rdar://problem/32725975> |
| |
| Reviewed by Saam Barati. |
| |
| Import spec tests as of 31c641cc15f2aedbec2fa45a5185f68416df578b, |
| with a few modifications so things work. |
| |
| Fix a bunch of bugs found through this process, and punt a few tests (which I |
| marked as blocked by this bug). |
| |
| Fixes: |
| |
| Fix load / store alignment: r216908 erroneously implemented it as bit alignment |
| instead of byte alignment. It was also missing memory-alignment.js despite it |
| being in the ChangeLog, so add it too. This allows spec-test/align.wast.js to |
| pass. |
| |
| Tables can be imported or in a section. There can be only one, but sections can |
| be empty. An Elements section can exist if there's no Table, as long as it is |
| also empty. |
| |
| Memories can be imported or in a section. There can be only one, but sections |
| can be empty. A Data section can exist if there's no Memory, as long as it is |
| also empty. |
| |
| Prototypes: stringify without .prototype. in the string. |
| |
| WebAssembly.Table.prototype.grow was plain wrong: it takes a delta parameter, |
| not a final size, and throws a RangeError on failure, not a TypeError. |
| |
| Fix compile / instantiate so the reject the promise if given an argument of the |
| wrong type (instead of failing instantly). |
| |
| Fix async on neuter test. |
| |
| Element section shouldn't affect any Table if any of the elements are out of |
| bounds. We need to process it in two passes. |
| |
| Segment section shouldn't affect any Data if any of the segments are out of |
| bounds. We need to process it in two passes. |
| |
| Empty data segments are valid, but only when there is no memory. Their index |
| still gets validated, and has to be zero. |
| |
| Punts: |
| |
| Error messages with context, the test seems overly restrictive but this is |
| minor. |
| |
| compile/instantiate/validate property descriptors. |
| |
| UTF-8 bugs. |
| |
| Temporarily disable NaN tests. We need to go back and implement the following |
| semantics: https://github.com/WebAssembly/spec/pull/414 This doesn't matter as |
| much as getting all the other tests passing. |
| |
| Worth noting for NaNs: f64.no_fold_mul_one (also a NaN test) as well as |
| no_fold_promote_demote (an interesting corner case which we get wrong). mul by |
| one is (assert_return (invoke \"f64.no_fold_mul_one\" (i64.const |
| 0x7ff4000000000000)) (i64.const 0x7ff8000000000000)) which means converting sNaN |
| to qNaN, and promote/demote is (assert_return (invoke \"no_fold_promote_demote\" |
| (i32.const 0x7fa00000)) (i32.const 0x7fc00000)) which is the same. I'm not sure |
| why they're not allowed. |
| |
| * wasm.yaml: |
| * wasm/function-tests/i32-load8-s.js: |
| * wasm/function-tests/memory-access-past-4gib.js: |
| (const.op.of.WASM.opcodes): |
| * wasm/function-tests/memory-alignment.js: Added. |
| (const.op.of.WASM.opcodes): |
| * wasm/function-tests/memory-section-and-import.js: |
| * wasm/js-api/Module-compile.js: |
| (async.testPromiseAPI): |
| * wasm/js-api/dont-mmap-zero-byte-memory.js: |
| (testMems): |
| * wasm/js-api/element.js: |
| (assert.throws.new.WebAssembly.Module.builder.WebAssembly): |
| * wasm/js-api/neutered-inputs.js: |
| (const.testFunction): Deleted. |
| (const.testConstructor): Deleted. |
| * wasm/js-api/table.js: |
| (assert.throws.new.WebAssembly.Module.builder.WebAssembly): |
| (new.WebAssembly.Module): |
| (assert.throws): |
| (assertBadTableImport): |
| (assert.throws.WebAssembly.Table.prototype.grow): |
| (assertBadTableInstance): Deleted. |
| * wasm/js-api/test_Data.js: |
| (DataSectionWithoutMemory): |
| * wasm/spec-harness/index.js: |
| (module): |
| (uniqueTest): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (register): Deleted. |
| (call): Deleted. |
| (get instance): Deleted. |
| (exports): Deleted. |
| (run): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (try.f): Deleted. |
| (catch): Deleted. |
| (assert_exhaustion): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-harness/testharness.css: Removed. |
| * wasm/spec-harness/testharness.js: Removed. |
| * wasm/spec-harness/testharnessreport.js: Removed. |
| * wasm/spec-harness/wasm-constants.js: |
| (assertTraps): |
| (assertWasmThrows): |
| * wasm/spec-harness/wasm-module-builder.js: |
| (Binary.prototype.emit_section): |
| (Binary): |
| (WasmFunctionBuilder.prototype.addBody): |
| (WasmFunctionBuilder.prototype.end): |
| (WasmFunctionBuilder): |
| (WasmModuleBuilder.prototype.stringToBytes): |
| (WasmModuleBuilder.prototype.addCustomSection): |
| (WasmModuleBuilder.prototype.addFunctionTableInit): |
| (WasmModuleBuilder.prototype.appendToTable): |
| (WasmModuleBuilder.prototype.toArray): |
| (WasmModuleBuilder.prototype.toBuffer): |
| (WasmModuleBuilder.prototype.instantiate): |
| (WasmModuleBuilder): |
| * wasm/spec-tests/address.wast.js: |
| * wasm/spec-tests/align.wast.js: Added. |
| * wasm/spec-tests/binary.wast.js: |
| * wasm/spec-tests/block.wast.js: |
| * wasm/spec-tests/br.wast.js: |
| * wasm/spec-tests/br_if.wast.js: |
| * wasm/spec-tests/br_table.wast.js: |
| * wasm/spec-tests/call.wast.js: |
| * wasm/spec-tests/call_indirect.wast.js: |
| * wasm/spec-tests/comments.wast.js: |
| * wasm/spec-tests/const.wast.js: Added. |
| * wasm/spec-tests/conversions.wast.js: Added. |
| * wasm/spec-tests/custom_section.wast.js: |
| * wasm/spec-tests/exports.wast.js: |
| * wasm/spec-tests/f32.wast.js: Added. |
| * wasm/spec-tests/f64.wast.js: Added. |
| * wasm/spec-tests/fac.wast.js: |
| * wasm/spec-tests/float_exprs.wast.js: Added. |
| * wasm/spec-tests/float_misc.wast.js: Added. |
| * wasm/spec-tests/func.wast.js: |
| * wasm/spec-tests/globals.wast.js: |
| * wasm/spec-tests/if.wast.js: |
| * wasm/spec-tests/imports.wast.js: |
| * wasm/spec-tests/inline-module.wast.js: Added. |
| * wasm/spec-tests/jsapi.js: |
| (testJSAPI.test): |
| (testJSAPI): |
| * wasm/spec-tests/labels.wast.js: |
| * wasm/spec-tests/loop.wast.js: |
| * wasm/spec-tests/memory.wast.js: |
| * wasm/spec-tests/memory_trap.wast.js: Added. |
| * wasm/spec-tests/names.wast.js: |
| * wasm/spec-tests/nop.wast.js: |
| * wasm/spec-tests/return.wast.js: |
| * wasm/spec-tests/stack.wast.js: |
| * wasm/spec-tests/token.wast.js: Added. |
| * wasm/spec-tests/type.wast.js: Added. |
| * wasm/spec-tests/typecheck.wast.js: |
| * wasm/spec-tests/unreachable.wast.js: |
| * wasm/spec-tests/unreached-invalid.wast.js: |
| * wasm/spec-tests/unwind.wast.js: |
| * wasm/spec-tests/utf8-custom-section-id.wast.js: Added. |
| * wasm/spec-tests/utf8-import-field.wast.js: Added. |
| * wasm/spec-tests/utf8-import-module.wast.js: Added. |
| |
| 2017-06-13 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed JSC test gardening. |
| |
| * stress/check-string-ident.js: |
| * stress/new-largeish-contiguous-array-with-size.js: |
| |
| 2017-06-13 Michael Saboff <msaboff@apple.com> |
| |
| DFG doesn't properly handle a property that is change to read only in a prototype |
| https://bugs.webkit.org/show_bug.cgi?id=173321 |
| |
| Reviewed by Filip Pizlo. |
| |
| * ChakraCore.yaml: Renabled fieldopts/objtypespec-newobj-invalidation.1.js. |
| * stress/regress-173321.js: Added new regression test. |
| (shouldBe): |
| (SimpleObject): |
| (test): |
| |
| 2017-06-12 Saam Barati <sbarati@apple.com> |
| |
| Update test262 test expectation since r218082 makes new tests pass. |
| |
| * test262.yaml: |
| |
| 2017-06-12 Saam Barati <sbarati@apple.com> |
| |
| We should not claim that SpecEmpty is filtered out of cell checks on 64 bit platforms |
| https://bugs.webkit.org/show_bug.cgi?id=172957 |
| <rdar://problem/32602704> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/spec-empty-flows-through-cell-checks.js: Added. |
| (A): |
| (B): |
| (i.catch): |
| |
| 2017-06-12 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| We incorrectly allow escaped characters in keyword tokens |
| https://bugs.webkit.org/show_bug.cgi?id=171310 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/destructuring-assignment-syntax.js: |
| * stress/error-messages-for-in-operator-should-not-crash.js: |
| (catch): |
| * stress/reserved-word-with-escape.js: |
| (testSyntaxError.String.raw.v): |
| (String.raw.SyntaxError.Cannot.use.the.keyword.string_appeared_here.as.a.name): |
| (testSyntaxError.String.raw.a): |
| * JSTests/ChakraCore/test/Basics/IdsWithEscapes.baseline-jsc: |
| |
| 2017-06-09 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Add ArrayIndexOf intrinsic |
| https://bugs.webkit.org/show_bug.cgi?id=172421 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/array-indexof-array-prototype-change.js: Added. |
| (shouldBe): |
| (indexOfInt32): |
| * stress/array-indexof-have-a-bad-time-getter.js: Added. |
| (shouldBe): |
| (indexOfInt32): |
| * stress/array-indexof-have-a-bad-time.js: Added. |
| (shouldBe): |
| (indexOfInt32): |
| * stress/array-indexof-hole-with-prototype.js: Added. |
| (shouldBe): |
| (indexOf): |
| * stress/array-indexof-hole.js: Added. |
| (shouldBe): |
| (indexOf): |
| * stress/array-indexof-index.js: Added. |
| (shouldBe): |
| (indexOfInt32): |
| (indexOfDouble): |
| (indexOfString): |
| (indexOfObject): |
| (indexOfValue): |
| * stress/array-indexof-negative-index.js: Added. |
| (shouldBe): |
| (indexOfInt32): |
| (indexOfDouble): |
| (indexOfString): |
| (indexOfObject): |
| (indexOfValue): |
| * stress/array-indexof-non-int32-start-index.js: Added. |
| (shouldBe): |
| (indexOf): |
| (object.valueOf): |
| * stress/array-indexof-object-prototype-change.js: Added. |
| (shouldBe): |
| (indexOfInt32): |
| * stress/array-indexof-object.js: Added. |
| (shouldBe): |
| (indexOf): |
| * stress/array-indexof-original-array.js: Added. |
| (shouldBe): |
| (indexOfInt32): |
| * stress/array-indexof-string.js: Added. |
| (shouldBe): |
| (indexOf): |
| * stress/array-indexof-structure-change-convert.js: Added. |
| (shouldBe): |
| (indexOf): |
| * stress/array-indexof-structure-change.js: Added. |
| (shouldBe): |
| (indexOf): |
| * stress/array-indexof.js: Added. |
| (shouldBe): |
| (indexOf): |
| |
| 2017-06-11 Keith Miller <keith_miller@apple.com> |
| |
| TypedArray constructor with string shouldn't throw |
| https://bugs.webkit.org/show_bug.cgi?id=173181 |
| |
| Reviewed by JF Bastien. |
| |
| We should be coercing primitive arguments to numbers in the various |
| TypedArray constructors. |
| |
| * stress/typedarray-constructor.js: |
| |
| 2017-06-11 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, update test results part 3 |
| https://bugs.webkit.org/show_bug.cgi?id=173227 |
| |
| * microbenchmarks/regexp-prototype-search-observable-side-effects.js: |
| |
| 2017-06-10 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, update test results part 2 |
| https://bugs.webkit.org/show_bug.cgi?id=173227 |
| |
| * test262.yaml: |
| |
| 2017-06-10 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, update test results |
| https://bugs.webkit.org/show_bug.cgi?id=173227 |
| |
| * microbenchmarks/string-prototype-search-observable-side-effects.js: |
| * test262.yaml: |
| |
| 2017-06-10 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Update RegExp.prototype.[@@search]] implementation according to the latest spec |
| https://bugs.webkit.org/show_bug.cgi?id=173227 |
| |
| Reviewed by Mark Lam. |
| |
| Update the test. |
| |
| * es6/Proxy_internal_get_calls_RegExp.prototype[Symbol.search].js: |
| |
| 2017-06-08 Keith Miller <keith_miller@apple.com> |
| |
| WebAssembly: We should only create wrappers for functions that can be exported |
| https://bugs.webkit.org/show_bug.cgi?id=173088 |
| |
| Reviewed by Saam Barati. |
| |
| Remove a bunch of old tests that are actually duplicates of the spec-tests and rely |
| on the old testWasmModuleFunctions api, which has been removed. |
| |
| * wasm/function-tests/copysign.js: Removed. |
| * wasm/function-tests/ctz.js: Removed. |
| * wasm/function-tests/drop.js: Removed. |
| * wasm/function-tests/dumb-eq-if-then-else.js: Removed. |
| * wasm/function-tests/dumb-less-than-fallthrough.js: Removed. |
| * wasm/function-tests/dumb-less-than-ite.js: Removed. |
| * wasm/function-tests/eqz.js: Removed. |
| * wasm/function-tests/i32-trunc-s-f32.js: Removed. |
| * wasm/function-tests/i32-trunc-s-f64.js: Removed. |
| * wasm/function-tests/i32-trunc-u-f32.js: Removed. |
| * wasm/function-tests/i32-trunc-u-f64.js: Removed. |
| * wasm/function-tests/i64-trunc-s-f32.js: Removed. |
| * wasm/function-tests/i64-trunc-s-f64.js: Removed. |
| * wasm/function-tests/i64-trunc-u-f32.js: Removed. |
| * wasm/function-tests/i64-trunc-u-f64.js: Removed. |
| * wasm/function-tests/if-then-else-fallthrough.js: Removed. |
| * wasm/function-tests/if-then-fallthrough.js: Removed. |
| * wasm/function-tests/int-to-floating-point.js: Removed. |
| * wasm/function-tests/loop-mult.js: |
| * wasm/function-tests/loop-sum.js: |
| * wasm/function-tests/max.js: Removed. |
| * wasm/function-tests/min.js: Removed. |
| * wasm/function-tests/nearest.js: Removed. |
| * wasm/function-tests/nop.js: Removed. |
| * wasm/function-tests/popcnt.js: Removed. |
| * wasm/function-tests/ret5.js: |
| * wasm/function-tests/select.js: Removed. |
| * wasm/function-tests/tee-local.js: Removed. |
| * wasm/function-tests/trunc.js: Removed. |
| |
| 2017-06-07 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: test imports and exports with 16-bit characters |
| https://bugs.webkit.org/show_bug.cgi?id=165977 |
| <rdar://problem/29760130> |
| |
| Reviewed by Saam Barati. |
| |
| The output for import failure was improved, so many tests need to |
| be updated here. Only one has new tests as noted below. |
| |
| * wasm/function-tests/memory-import-and-grow.js: |
| * wasm/js-api/Instance.imports.exports.unicode.js: Added. Main new test. |
| (idxModule): |
| * wasm/js-api/global-error.js: |
| (new.Number): |
| (assert.throws): |
| * wasm/js-api/table.js: |
| (assert.throws): |
| (new.WebAssembly.Table): |
| * wasm/js-api/test_memory.js: |
| (test): |
| * wasm/js-api/wasm-to-wasm-bad-signature.js: |
| (BadSignatureDropStartParams.): |
| (BadSignatureDropStartParams): |
| (BadSignatureDropEndParams.): |
| (BadSignatureSwapParam.): |
| (BadSignatureRet.): |
| * wasm/js-api/web-assembly-instantiate.js: |
| (assert.asyncTest.async.test): |
| (assert.asyncTest): |
| * wasm/js-api/wrapper-function.js: |
| (return.new.WebAssembly.Module): |
| |
| 2017-06-07 Mark Lam <mark.lam@apple.com> |
| |
| Restrict the regress-173035.js test to only run on Darwin x86-64. |
| https://bugs.webkit.org/show_bug.cgi?id=173075 |
| |
| Reviewed by Saam Barati. |
| |
| This is because the 32-bit x86 build will fail to mmap the 0x3f900000 bytes that |
| this test will require to succeed. Here's an example of this failure: |
| https://build.webkit.org/builders/Apple%20Sierra%2032-bit%20JSC%20%28BuildAndTest%29/builds/866/steps/webkit-32bit-jsc-test/logs/stdio |
| |
| Since the issue is due to allocation of a very large amount of memory, the test |
| will probably fail on iOS and other platforms as well. Hence, we should just |
| skip this test for any platforms that is not Darwin x86-64. |
| |
| * stress/regress-173035.js: |
| |
| 2017-06-07 Mark Lam <mark.lam@apple.com> |
| |
| ASSERTION failure: !masqueradesAsUndefinedWatchpointIsStillValid() || !isKnownCell(operand.node()) |
| https://bugs.webkit.org/show_bug.cgi?id=168587 |
| |
| Not reviewed. |
| |
| Unskipping the test because the issue has been fixed in https://bugs.webkit.org/show_bug.cgi?id=172673. |
| |
| * stress/test-finally.js: |
| |
| 2017-06-06 Mark Lam <mark.lam@apple.com> |
| |
| Contiguous storage butterfly length should not exceed MAX_STORAGE_VECTOR_LENGTH. |
| https://bugs.webkit.org/show_bug.cgi?id=173035 |
| <rdar://problem/32554593> |
| |
| Reviewed by Geoffrey Garen and Filip Pizlo. |
| |
| * stress/regress-173035.js: Added. |
| |
| 2017-06-06 Saam Barati <sbarati@apple.com> |
| |
| Make sure we restore SP when doing calls that could be to JS |
| https://bugs.webkit.org/show_bug.cgi?id=172946 |
| <rdar://problem/32579026> |
| |
| Reviewed by JF Bastien. |
| |
| * wasm/function-tests/many-args-tail-call-sp-restored.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.f1): |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.end): |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.f2): |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.let.instance.new.WebAssembly.Instance.new.WebAssembly.Module.builder.WebAssembly): |
| |
| 2017-06-06 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Unreviewed rollout r217807. Caused a test to crash. |
| |
| * heapProfiler/class-names.js: Removed. |
| * heapProfiler/driver/driver.js: |
| (CheapHeapSnapshotNode): |
| (CheapHeapSnapshot): |
| (createCheapHeapSnapshot): |
| (HeapSnapshot): |
| (createHeapSnapshot): |
| * typeProfiler/inheritance.js: |
| (wrapper.A): |
| (wrapper.B): |
| (wrapper.C): |
| (wrapper): |
| |
| 2017-06-06 Filip Pizlo <fpizlo@apple.com> |
| |
| index out of bound in bytecodebasicblock |
| https://bugs.webkit.org/show_bug.cgi?id=172963 |
| |
| Reviewed by Saam Barati and Mark Lam. |
| |
| * stress/dfg-call-class-constructor.js: Added. |
| (Foo): |
| (i.catch): |
| |
| 2017-06-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Improve ES6 Class instances in Heap Snapshot instances view |
| https://bugs.webkit.org/show_bug.cgi?id=172848 |
| <rdar://problem/25709212> |
| |
| Reviewed by Saam Barati. |
| |
| * typeProfiler/inheritance.js: |
| Rewrite the test slightly for clarity. The hoisting was confusing. |
| |
| * heapProfiler/class-names.js: Added. |
| (MyES5Class): |
| (MyES6Class): |
| (MyES6Subclass): |
| Test object types and improved class names. |
| |
| * heapProfiler/driver/driver.js: |
| (CheapHeapSnapshotNode): |
| (CheapHeapSnapshot): |
| (createCheapHeapSnapshot): |
| (HeapSnapshot): |
| (createHeapSnapshot): |
| Update snapshot parsing from version 1 to version 2. |
| |
| 2017-06-02 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| ASSERTION FAILED: "We should only declare a function as a lexically scoped variable in scopes where var declarations aren't allowed. ..." for function redeclaration with async function module export |
| https://bugs.webkit.org/show_bug.cgi?id=168844 |
| |
| Reviewed by Saam Barati. |
| |
| * modules/async-function-export.js: Added. |
| (f): |
| (export.async.f): |
| |
| 2017-06-02 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| ES2015 modules - Export default function hoisting |
| https://bugs.webkit.org/show_bug.cgi?id=170174 |
| |
| Reviewed by Saam Barati. |
| |
| This issue itself is solved by fixing function declaration hoisting rules. |
| This patch just adds the specific test to modules tests to ensure the bug |
| is fixed. |
| |
| * modules/export-default-function-hoisting.js: Added. |
| * modules/export-default-function-hoisting/cappuccino.js: Added. |
| (import.drinkCocoa.from.string_appeared_here.export.default.drinkCappuccino): |
| * modules/export-default-function-hoisting/cocoa.js: Added. |
| (export.default.drinkCocoa): |
| |
| 2017-06-01 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| Class Proxy can't be extended |
| https://bugs.webkit.org/show_bug.cgi?id=169040 |
| |
| Reviewed by Saam Barati. |
| |
| Adding tests that check correctness of Proxy to ES6 `class` |
| Bug is already fixed in https://bugs.webkit.org/show_bug.cgi?id=164849 |
| |
| * stress/proxy-class.js: Added. |
| (assert): |
| (throw.new.Error.SuperClass): |
| (throw.new.Error.A): |
| (throw.new.Error): |
| |
| 2017-05-31 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Implement String.prototype.concat in JS builtins |
| https://bugs.webkit.org/show_bug.cgi?id=172798 |
| |
| Reviewed by Sam Weinig. |
| |
| * microbenchmarks/string-concat-convert.js: Added. |
| (test): |
| * microbenchmarks/string-concat-long-convert.js: Added. |
| (test): |
| * microbenchmarks/string-concat-long.js: Added. |
| (test): |
| * microbenchmarks/string-concat.js: Added. |
| (test): |
| |
| 2017-05-31 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| Rolling out: Prevent async methods named 'function' |
| https://bugs.webkit.org/show_bug.cgi?id=172776 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/async-await-syntax.js: |
| (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax): |
| (testTopLevelAsyncAwaitSyntaxSloppyMode): |
| (prototype.testTopLevelAsyncAwaitSyntaxStrictMode.testSyntax): |
| (prototype.testTopLevelAsyncAwaitSyntaxStrictMode): |
| (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError): |
| |
| 2017-05-31 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Skip flaky JSC test stress/test-finally.js |
| https://bugs.webkit.org/show_bug.cgi?id=168587 |
| |
| Unreviewed test gardening. |
| |
| * stress/test-finally.js: |
| |
| 2017-05-30 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| Prevent async methods named 'function' in Object literal |
| https://bugs.webkit.org/show_bug.cgi?id=172660 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/async-await-syntax.js: |
| (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError): |
| |
| 2017-05-30 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| ASSERTION FAILED: generator.isConstructor() || generator.derivedContextType() == DerivedContextType::DerivedConstructorContext |
| https://bugs.webkit.org/show_bug.cgi?id=171274 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/async-arrow-functions-lexical-binding-in-class.js: |
| (shouldBeAsync): |
| (shouldBeAsyncAndStoreBind): |
| (promise.new.Promise): |
| (ChildClass4): |
| (ChildClass4.prototype.classValue): |
| (ChildClass4.prototype.get classProperty): |
| * stress/async-arrow-functions-lexical-super-binding.js: |
| (A): |
| (const.childA1.new.prototype.var.f.async): |
| (const.childA1.new.var): |
| (const.childA1.new): |
| (const.childA2.new.prototype.var.f.async): |
| (const.childA2.new.var): |
| (const.childA2.new): |
| (const.childA3.new.prototype.var.f.async): |
| (const.childA3.new.var): |
| (const.childA3.new): |
| (try.childA4.new.prototype.var.f.async): |
| (try.childA4.new.var): |
| (try.childA4.new): |
| (catch): |
| (const.childA5.new.prototype.var.f.async): |
| (const.childA5.new.var): |
| (const.childA5.new): |
| (checkClass): |
| (checkClass.new.prototype.var.f.async): |
| (checkClass.new.var): |
| (checkClass.new): |
| (checkClass.new.prototype.method): |
| (checkClass.new.prototype.prop): |
| |
| 2017-05-27 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Map and Set constructors should have fast path for cloning |
| https://bugs.webkit.org/show_bug.cgi?id=172413 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/map-clone-instance-iterator-change.js: Added. |
| (shouldBe): |
| (map.Symbol.iterator): |
| * stress/map-clone-iterator-change.js: Added. |
| (shouldBe): |
| (Map.prototype.Symbol.iterator): |
| * stress/map-clone-next-change.js: Added. |
| (shouldBe): |
| (map.Symbol.iterator.__proto__.next): |
| * stress/map-clone.js: Added. |
| (shouldBe): |
| (Map.prototype): |
| * stress/map-inherit-set.js: Added. |
| (shouldBe): |
| (DerivedMap): |
| (set for): |
| * stress/set-clone-instance-iterator-change.js: Added. |
| (shouldBe): |
| (set Symbol.iterator): |
| * stress/set-clone-iterator-change.js: Added. |
| (shouldBe): |
| (set Set.prototype.Symbol.iterator): |
| * stress/set-clone-next-change.js: Added. |
| (shouldBe): |
| (set Symbol.iterator.__proto__.next): |
| * stress/set-clone.js: Added. |
| (shouldBe): |
| (set Set.prototype.add): |
| * stress/set-inherit-add.js: Added. |
| (shouldBe): |
| (DerivedSet.set add): |
| |
| 2017-05-26 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r217458. |
| |
| This change caused 55 JSC test failures. |
| |
| Reverted changeset: |
| |
| "Date should use historical data if it's available." |
| https://bugs.webkit.org/show_bug.cgi?id=172592 |
| http://trac.webkit.org/changeset/217458 |
| |
| 2017-05-26 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Give ModuleProgram the same treatment that we did for ProgramCode in bug#167725 |
| https://bugs.webkit.org/show_bug.cgi?id=167805 |
| |
| Reviewed by Saam Barati. |
| |
| * modules/module-jit-reachability.js: Added. |
| |
| 2017-05-26 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| Prevent async methods named 'function' |
| https://bugs.webkit.org/show_bug.cgi?id=172598 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/async-await-syntax.js: |
| (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax): |
| (testTopLevelAsyncAwaitSyntaxSloppyMode): |
| (prototype.testTopLevelAsyncAwaitSyntaxStrictMode.testSyntax): |
| (prototype.testTopLevelAsyncAwaitSyntaxStrictMode): |
| (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError): |
| |
| 2017-05-25 Keith Miller <keith_miller@apple.com> |
| |
| Date should use historical data if it's available. |
| https://bugs.webkit.org/show_bug.cgi?id=172592 |
| |
| Reviewed by Mark Lam. |
| |
| Remove parts of the date tests that rely on the absence of |
| historical data in Date. |
| |
| * mozilla/ecma/Date/15.9.5.31-1.js: |
| (getTestCases): |
| * mozilla/ecma/Date/15.9.5.35-1.js: |
| (getTestCases): |
| |
| 2017-05-25 Saam Barati <sbarati@apple.com> |
| |
| Our for-in optimization in the bytecode generator does its static analysis incorrectly |
| https://bugs.webkit.org/show_bug.cgi?id=172532 |
| <rdar://problem/32369452> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/for-in-invalidation-for-any-write.js: Added. |
| (assert): |
| (test): |
| (test.i): |
| |
| 2017-05-25 Mark Lam <mark.lam@apple.com> |
| |
| ObjectToStringAdaptiveInferredPropertyValueWatchpoint should not reinstall itself nor handleFire if it's dying shortly. |
| https://bugs.webkit.org/show_bug.cgi?id=172548 |
| <rdar://problem/31458393> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/regress-172548.patch: Added. |
| |
| 2017-05-23 Saam Barati <sbarati@apple.com> |
| |
| We should not mmap zero bytes for a memory in Wasm |
| https://bugs.webkit.org/show_bug.cgi?id=172528 |
| <rdar://problem/32257076> |
| |
| Reviewed by Mark Lam. |
| |
| * wasm/js-api/dont-mmap-zero-byte-memory.js: Added. |
| (testMems): |
| |
| 2017-05-23 Saam Barati <sbarati@apple.com> |
| |
| CFGSimplificationPhase should not merge a block with itself |
| https://bugs.webkit.org/show_bug.cgi?id=172508 |
| <rdar://problem/28424006> |
| |
| Reviewed by Keith Miller. |
| |
| * stress/dont-crash-in-cfg-simplification.js: Added. |
| (bar): |
| (baz): |
| (foo): |
| |
| 2017-05-20 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [FTL] Support GetByVal with ArrayStorage and SlowPutArrayStorage |
| https://bugs.webkit.org/show_bug.cgi?id=172216 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/array-storage-get-by-val.js: Added. |
| (shouldBe): |
| (testOutOfBound): |
| (testInBound): |
| (testSlowPutOutOfBound): |
| (testSlowPutInBound): |
| |
| 2017-05-21 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, fix commented out tests |
| https://bugs.webkit.org/show_bug.cgi?id=172225 |
| |
| * stress/get-by-val-string.js: |
| (object.43): |
| (Hello): |
| (Hello.prototype.get 42): |
| (Hello.prototype.43): |
| (Derived): |
| (shouldBe): |
| (throw.new.Error): Deleted. |
| |
| 2017-05-21 Saam Barati <sbarati@apple.com> |
| |
| We incorrectly throw a syntax error when declaring a top level for-loop iteration variable the same as a parameter |
| https://bugs.webkit.org/show_bug.cgi?id=171041 |
| <rdar://problem/32082516> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/lexical-scoping-for-loop.js: Added. |
| (assert): |
| (test1): |
| (test2): |
| (test3): |
| (test4): |
| (test5): |
| (test6): |
| (let.test7): |
| (let.test8): |
| (let.test9): |
| (let.test10): |
| (let.test11): |
| (let.test12): |
| |
| 2017-05-19 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Make get_by_val & string "499" to number 499 |
| https://bugs.webkit.org/show_bug.cgi?id=172225 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/get-by-val-string.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (object.43): |
| (Hello): |
| (Hello.prototype.get 42): |
| (Hello.prototype.43): |
| (Derived): |
| |
| 2017-05-19 Mark Lam <mark.lam@apple.com> |
| |
| [Re-landing] DFG::SpeculativeJIT::pickCanTrample() is wrongly ignoring result registers. |
| https://bugs.webkit.org/show_bug.cgi?id=172383 |
| <rdar://problem/31418651> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/regress-172383.js: Added. |
| |
| 2017-05-19 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r217156. |
| |
| This change broke the iOS build. |
| |
| Reverted changeset: |
| |
| "DFG::SpeculativeJIT::pickCanTrample() is wrongly ignoring |
| result registers." |
| https://bugs.webkit.org/show_bug.cgi?id=172383 |
| http://trac.webkit.org/changeset/217156 |
| |
| 2017-05-19 Mark Lam <mark.lam@apple.com> |
| |
| Add missing exception check. |
| https://bugs.webkit.org/show_bug.cgi?id=172346 |
| <rdar://problem/32289640> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/regress-172346.js: Added. |
| |
| 2017-05-19 Mark Lam <mark.lam@apple.com> |
| |
| DFG::SpeculativeJIT::pickCanTrample() is wrongly ignoring result registers. |
| https://bugs.webkit.org/show_bug.cgi?id=172383 |
| <rdar://problem/31418651> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/regress-172383.js: Added. |
| |
| 2017-05-19 Filip Pizlo <fpizlo@apple.com> |
| |
| arrayProtoPrivateFuncConcatMemcpy needs to be down with firstArray being undecided |
| https://bugs.webkit.org/show_bug.cgi?id=172369 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/undecided-concat.js: Added. |
| |
| 2017-05-19 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass |
| https://bugs.webkit.org/show_bug.cgi?id=172098 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/check-sub-class.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (calling): |
| (array.forEach): |
| (i.array.forEach): |
| |
| 2017-05-18 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: exports is a getter |
| https://bugs.webkit.org/show_bug.cgi?id=172129 |
| |
| Reviewed by Saam Barati. |
| |
| Update test to reflect new semantics. |
| |
| * wasm/js-api/test_basic_api.js: |
| (const.c.in.constructorProperties.switch): |
| |
| 2017-05-18 Saam Barati <sbarati@apple.com> |
| |
| Proxy's [[Get]] passes incorrect receiver |
| https://bugs.webkit.org/show_bug.cgi?id=164849 |
| <rdar://problem/31767058> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/proxy-get-set-correct-receiver.js: Added. |
| (assert): |
| (test): |
| (test.let.target.set prop): |
| (test.let.target.get prop): |
| (test.get let): |
| * stress/proxy-set.js: |
| (let.target.get x): |
| * stress/reflect-set-proxy-set.js: |
| (let.target.get x): |
| * stress/reflect-set-receiver-proxy-set.js: |
| (let.target.get x): |
| |
| 2017-05-18 Filip Pizlo <fpizlo@apple.com> |
| |
| Constructor calls set this too early |
| https://bugs.webkit.org/show_bug.cgi?id=172302 |
| |
| Reviewed by Saam Barati. |
| |
| This tests all three kinds of constructs in BytecodeGenerator. All three were previously |
| wrong. |
| |
| * stress/construct-overwritten-variable.js: Added. |
| (new.x.x): |
| * stress/construct-spread-overwritten-variable-2.js: Added. |
| (new.x.x): |
| * stress/construct-spread-overwritten-variable.js: Added. |
| (new.x.x): |
| |
| 2017-05-18 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: perform stack checks |
| https://bugs.webkit.org/show_bug.cgi?id=165546 |
| <rdar://problem/29760307> |
| |
| Reviewed by Filip Pizlo. |
| |
| * wasm.yaml: |
| * wasm/function-tests/factorial.js: |
| * wasm/function-tests/float-sub.js: |
| * wasm/function-tests/stack-overflow.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.makeInstance): |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.assertOverflows): |
| (assertOverflows.makeInstance): |
| (assertOverflows.makeInstance2): |
| (assertOverflows.assertThrows): |
| (assertOverflows): |
| (assertThrows.test.makeSignature): |
| (assertThrows.test.makeInstance): |
| (assertThrows.test): |
| (assertThrows): |
| |
| 2017-05-18 Keith Miller <keith_miller@apple.com> |
| |
| WebAssembly API: test with neutered inputs |
| https://bugs.webkit.org/show_bug.cgi?id=163899 |
| |
| Reviewed by JF Bastien. |
| |
| * wasm/js-api/neutered-inputs.js: Added. |
| (const.testFunction): |
| (const.testConstructor): |
| * wasm/js-api/test_basic_api.js: |
| (const.c.in.constructorProperties.switch): |
| |
| 2017-05-18 Filip Pizlo <fpizlo@apple.com> |
| |
| DFG inlining should be hardened for the no-result case |
| https://bugs.webkit.org/show_bug.cgi?id=172290 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/array-constructor-no-result.js: Added. |
| (foo): |
| * stress/pow-no-result.js: Added. |
| (foo): |
| |
| 2017-05-18 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r217031, r217032, and r217037. |
| https://bugs.webkit.org/show_bug.cgi?id=172293 |
| |
| cause linking errors in Windows (Requested by yusukesuzuki on |
| #webkit). |
| |
| Reverted changesets: |
| |
| "[JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass" |
| https://bugs.webkit.org/show_bug.cgi?id=172098 |
| http://trac.webkit.org/changeset/217031 |
| |
| "Unreviewed, rebaseline for newly added ClassInfo" |
| https://bugs.webkit.org/show_bug.cgi?id=172098 |
| http://trac.webkit.org/changeset/217032 |
| |
| "Unreviewed, fix debug and non-JIT build" |
| https://bugs.webkit.org/show_bug.cgi?id=172098 |
| http://trac.webkit.org/changeset/217037 |
| |
| 2017-05-16 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC][DFG][DOMJIT] Extend CheckDOM to CheckSubClass |
| https://bugs.webkit.org/show_bug.cgi?id=172098 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/check-sub-class.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (calling): |
| (array.forEach): |
| (i.array.forEach): |
| |
| 2017-05-17 Filip Pizlo <fpizlo@apple.com> |
| |
| Unreviewed, address mlam's review feedback. |
| |
| * stress/arguments-elimination-varargs-too-many-args-arg-count.js: |
| |
| 2017-05-17 Saam Barati <sbarati@apple.com> |
| |
| We don't do context switches for Wasm->Wasm call indirect |
| https://bugs.webkit.org/show_bug.cgi?id=172188 |
| <rdar://problem/32231828> |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/function-tests/context-switch.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.makeInstance): |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.makeInstance2): |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.const.i2.makeInstance2): |
| (makeInstance): |
| (makeInstance2): |
| (assert.eq.makeInstance): |
| (assert.eq.makeInstance2): |
| (assert.eq): |
| |
| 2017-05-17 Filip Pizlo <fpizlo@apple.com> |
| |
| JSC: Incorrect LoadVarargs handling in ArgumentsEliminationPhase::transform |
| https://bugs.webkit.org/show_bug.cgi?id=172208 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/arguments-elimination-varargs-too-many-args-arg-count.js: Added. |
| (foo): |
| (bar): |
| (baz): |
| |
| 2017-05-16 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Constant Folding Phase should convert MakeRope("", String) => Identity(String) |
| https://bugs.webkit.org/show_bug.cgi?id=172115 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/constant-folding-should-fold-make-rope-with-empty-strings.js: Added. |
| (shouldBe): |
| (unknown): |
| (readWord1): |
| (readWord2): |
| (readWord3): |
| (readWord4): |
| |
| 2017-05-16 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: add memory fuzzer |
| https://bugs.webkit.org/show_bug.cgi?id=169976 |
| <rdar://problem/31965328> |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/fuzz/memory.js: Added. |
| (const.insert): |
| (const.action.string_appeared_here): |
| (const.performAction): |
| (catch): |
| |
| 2017-05-16 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: validate load / store alignment |
| https://bugs.webkit.org/show_bug.cgi?id=168836 |
| <rdar://problem/31965349> |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/WASM.js: fix regular expression greed |
| * wasm/function-tests/memory-alignment.js: Added. |
| (const.op.of.WASM.opcodes): |
| * wasm/wasm.json: fix formatting |
| |
| 2017-05-15 Mark Lam <mark.lam@apple.com> |
| |
| Rolling out r214038 and r213697: Crashes when using computed properties with rest destructuring and object spread. |
| https://bugs.webkit.org/show_bug.cgi?id=172147 |
| |
| Rubber-stamped by Saam Barati. |
| |
| * stress/object-rest-deconstruct.js: Removed. |
| * stress/object-spread.js: Removed. |
| |
| 2017-05-11 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: stop supporting 0xD |
| https://bugs.webkit.org/show_bug.cgi?id=168788 |
| <rdar://problem/31880922> |
| |
| Reviewed by Saam Barati. |
| |
| Test that only version 1 is supported. |
| |
| * wasm/js-api/version.js: Added. |
| |
| 2017-05-10 JF Bastien <jfbastien@apple.com> |
| |
| WebAssemby: builder doesn't do Memory section maximum correctly |
| https://bugs.webkit.org/show_bug.cgi?id=171931 |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/Builder.js: |
| (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section): |
| * wasm/Builder_WebAssemblyBinary.js: |
| (const.emitters.Memory): |
| * wasm/function-tests/memory-grow-invalid.js: Added. |
| |
| 2017-05-10 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: support name section |
| https://bugs.webkit.org/show_bug.cgi?id=171263 |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/function-tests/nameSection.js: Added. |
| (const.compile): |
| * wasm/function-tests/nameSection.wasm: Added. |
| * wasm/function-tests/stack-trace.js: Update format |
| |
| 2017-05-10 Filip Pizlo <fpizlo@apple.com> |
| |
| Null pointer dereference in WTF::RefPtr<WTF::StringImpl>::operator!() under slow_path_get_direct_pname |
| https://bugs.webkit.org/show_bug.cgi?id=171801 |
| |
| Reviewed by Michael Saboff. |
| |
| These tests used to crash. The prefix and postfix tests cover different paths, except |
| postfix-ignored goes down the same path as prefix due to an optimization. |
| |
| * stress/for-in-postfix-ignored-index.js: Added. |
| (foo): |
| * stress/for-in-postfix-index.js: Added. |
| (foo): |
| * stress/for-in-prefix-index.js: Added. |
| (foo): |
| |
| 2017-05-08 Mark Lam <mark.lam@apple.com> |
| |
| op_throw_static_error's use of its first operand should be reflected in DFG BytecodeUseDef as well. |
| https://bugs.webkit.org/show_bug.cgi?id=171786 |
| <rdar://problem/32051023> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/bug-171786.js: Added. |
| |
| 2017-05-06 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| [ES6] Arrow function. Issue in access to this after eval('super()') within constructor |
| https://bugs.webkit.org/show_bug.cgi?id=171543 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/arrowfunction-lexical-bind-supercall-4.js: |
| (J): |
| (K): |
| |
| 2017-05-05 Saam Barati <sbarati@apple.com> |
| |
| putDirectIndex does not properly do defineOwnProperty |
| https://bugs.webkit.org/show_bug.cgi?id=171591 |
| <rdar://problem/31735695> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/array-prototype-splice-making-typed-array.js: |
| (test): |
| * stress/array-species-config-array-constructor.js: |
| (shouldThrow): |
| (test): |
| * stress/put-direct-index-broken-2.js: Added. |
| (assert): |
| (test): |
| (makeLengthWritable): |
| (set get restoreOldDesc): |
| * stress/put-direct-index-broken.js: Added. |
| (whatToTest): |
| (tryRunning): |
| (tryItOut): |
| * stress/put-indexed-getter-setter.js: Added. |
| (foo.X.prototype.set 7): |
| (foo.X.prototype.get 7): |
| (foo.X): |
| (foo): |
| |
| 2017-05-04 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Math unary functions should be handled by DFG |
| https://bugs.webkit.org/show_bug.cgi?id=171269 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/arith-acos-on-various-types.js: Added. |
| (let.validInputTypedTestCases.validInputTestCases.map): |
| (isIdentical): |
| (opaqueACosNoArgument): |
| (testNoArgument): |
| (opaqueAllTypesACos): |
| (testAllTypesCall): |
| (testSingleTypeCall): |
| (testConstant): |
| (opaqueACosForSideEffects): |
| (testSideEffect.let.testObject.valueOf): |
| (testSideEffect): |
| (opaqueACosForCSE): |
| (testCSE.let.testObject.valueOf): |
| (testCSE): |
| (opaqueACosForDCE): |
| (testDCE.let.testObject.valueOf): |
| (testDCE): |
| (testException.opaqueACosWithException): |
| (testException): |
| * stress/arith-acosh-on-various-types.js: Added. |
| (let.validInputTypedTestCases.validInputTestCases.map): |
| (isIdentical): |
| (opaqueACoshNoArgument): |
| (testNoArgument): |
| (opaqueAllTypesACosh): |
| (testAllTypesCall): |
| (testSingleTypeCall): |
| (testConstant): |
| (opaqueACoshForSideEffects): |
| (testSideEffect.let.testObject.valueOf): |
| (testSideEffect): |
| (opaqueACoshForCSE): |
| (testCSE.let.testObject.valueOf): |
| (testCSE): |
| (opaqueACoshForDCE): |
| (testDCE.let.testObject.valueOf): |
| (testDCE): |
| (testException.opaqueACoshWithException): |
| (testException): |
| * stress/arith-asin-on-various-types.js: Added. |
| (let.validInputTypedTestCases.validInputTestCases.map): |
| (isIdentical): |
| (opaqueASinNoArgument): |
| (testNoArgument): |
| (opaqueAllTypesASin): |
| (testAllTypesCall): |
| (testSingleTypeCall): |
| (testConstant): |
| (opaqueASinForSideEffects): |
| (testSideEffect.let.testObject.valueOf): |
| (testSideEffect): |
| (opaqueASinForCSE): |
| (testCSE.let.testObject.valueOf): |
| (testCSE): |
| (opaqueASinForDCE): |
| (testDCE.let.testObject.valueOf): |
| (testDCE): |
| (testException.opaqueASinWithException): |
| (testException): |
| * stress/arith-asinh-on-various-types.js: Added. |
| (let.validInputTypedTestCases.validInputTestCases.map): |
| (isIdentical): |
| (opaqueASinhNoArgument): |
| (testNoArgument): |
| (opaqueAllTypesASinh): |
| (testAllTypesCall): |
| (testSingleTypeCall): |
| (testConstant): |
| (opaqueASinhForSideEffects): |
| (testSideEffect.let.testObject.valueOf): |
| (testSideEffect): |
| (opaqueASinhForCSE): |
| (testCSE.let.testObject.valueOf): |
| (testCSE): |
| (opaqueASinhForDCE): |
| (testDCE.let.testObject.valueOf): |
| (testDCE): |
| (testException.opaqueASinhWithException): |
| (testException): |
| * stress/arith-atan-on-various-types.js: Added. |
| (let.validInputTypedTestCases.validInputTestCases.map): |
| (isIdentical): |
| (opaqueATanNoArgument): |
| (testNoArgument): |
| (opaqueAllTypesATan): |
| (testAllTypesCall): |
| (testSingleTypeCall): |
| (testConstant): |
| (opaqueATanForSideEffects): |
| (testSideEffect.let.testObject.valueOf): |
| (testSideEffect): |
| (opaqueATanForCSE): |
| (testCSE.let.testObject.valueOf): |
| (testCSE): |
| (opaqueATanForDCE): |
| (testDCE.let.testObject.valueOf): |
| (testDCE): |
| (testException.opaqueATanWithException): |
| (testException): |
| * stress/arith-atanh-on-various-types.js: Added. |
| (let.validInputTypedTestCases.validInputTestCases.map): |
| (isIdentical): |
| (opaqueATanhNoArgument): |
| (testNoArgument): |
| (opaqueAllTypesATanh): |
| (testAllTypesCall): |
| (testSingleTypeCall): |
| (testConstant): |
| (opaqueATanhForSideEffects): |
| (testSideEffect.let.testObject.valueOf): |
| (testSideEffect): |
| (opaqueATanhForCSE): |
| (testCSE.let.testObject.valueOf): |
| (testCSE): |
| (opaqueATanhForDCE): |
| (testDCE.let.testObject.valueOf): |
| (testDCE): |
| (testException.opaqueATanhWithException): |
| (testException): |
| * stress/arith-cbrt-on-various-types.js: Added. |
| (let.validInputTypedTestCases.validInputTestCases.map): |
| (isIdentical): |
| (opaqueCbrtNoArgument): |
| (testNoArgument): |
| (opaqueAllTypesCbrt): |
| (testAllTypesCall): |
| (testSingleTypeCall): |
| (testConstant): |
| (opaqueCbrtForSideEffects): |
| (testSideEffect.let.testObject.valueOf): |
| (testSideEffect): |
| (opaqueCbrtForCSE): |
| (testCSE.let.testObject.valueOf): |
| (testCSE): |
| (opaqueCbrtForDCE): |
| (testDCE.let.testObject.valueOf): |
| (testDCE): |
| (testException.opaqueCbrtWithException): |
| (testException): |
| * stress/arith-cosh-on-various-types.js: Added. |
| (let.validInputTypedTestCases.validInputTestCases.map): |
| (isIdentical): |
| (opaqueCoshNoArgument): |
| (testNoArgument): |
| (opaqueAllTypesCosh): |
| (testAllTypesCall): |
| (testSingleTypeCall): |
| (testConstant): |
| (opaqueCoshForSideEffects): |
| (testSideEffect.let.testObject.valueOf): |
| (testSideEffect): |
| (opaqueCoshForCSE): |
| (testCSE.let.testObject.valueOf): |
| (testCSE): |
| (opaqueCoshForDCE): |
| (testDCE.let.testObject.valueOf): |
| (testDCE): |
| (testException.opaqueCoshWithException): |
| (testException): |
| * stress/arith-expm1-on-various-types.js: Added. |
| (let.validInputTypedTestCases.validInputTestCases.map): |
| (isIdentical): |
| (opaqueExpm1NoArgument): |
| (testNoArgument): |
| (opaqueAllTypesExpm1): |
| (testAllTypesCall): |
| (testSingleTypeCall): |
| (testConstant): |
| (opaqueExpm1ForSideEffects): |
| (testSideEffect.let.testObject.valueOf): |
| (testSideEffect): |
| (opaqueExpm1ForCSE): |
| (testCSE.let.testObject.valueOf): |
| (testCSE): |
| (opaqueExpm1ForDCE): |
| (testDCE.let.testObject.valueOf): |
| (testDCE): |
| (testException.opaqueExpm1WithException): |
| (testException): |
| * stress/arith-log10-on-various-types.js: Added. |
| (let.validInputTypedTestCases.validInputTestCases.map): |
| (isIdentical): |
| (opaqueLog10NoArgument): |
| (testNoArgument): |
| (opaqueAllTypesLog10): |
| (testAllTypesCall): |
| (testSingleTypeCall): |
| (testConstant): |
| (opaqueLog10ForSideEffects): |
| (testSideEffect.let.testObject.valueOf): |
| (testSideEffect): |
| (opaqueLog10ForCSE): |
| (testCSE.let.testObject.valueOf): |
| (testCSE): |
| (opaqueLog10ForDCE): |
| (testDCE.let.testObject.valueOf): |
| (testDCE): |
| (testException.opaqueLog10WithException): |
| (testException): |
| * stress/arith-log2-on-various-types.js: Added. |
| (let.validInputTypedTestCases.validInputTestCases.map): |
| (isIdentical): |
| (opaqueLog2NoArgument): |
| (testNoArgument): |
| (opaqueAllTypesLog2): |
| (testAllTypesCall): |
| (testSingleTypeCall): |
| (testConstant): |
| (opaqueLog2ForSideEffects): |
| (testSideEffect.let.testObject.valueOf): |
| (testSideEffect): |
| (opaqueLog2ForCSE): |
| (testCSE.let.testObject.valueOf): |
| (testCSE): |
| (opaqueLog2ForDCE): |
| (testDCE.let.testObject.valueOf): |
| (testDCE): |
| (testException.opaqueLog2WithException): |
| (testException): |
| * stress/arith-sinh-on-various-types.js: Added. |
| (let.validInputTypedTestCases.validInputTestCases.map): |
| (isIdentical): |
| (opaqueSinhNoArgument): |
| (testNoArgument): |
| (opaqueAllTypesSinh): |
| (testAllTypesCall): |
| (testSingleTypeCall): |
| (testConstant): |
| (opaqueSinhForSideEffects): |
| (testSideEffect.let.testObject.valueOf): |
| (testSideEffect): |
| (opaqueSinhForCSE): |
| (testCSE.let.testObject.valueOf): |
| (testCSE): |
| (opaqueSinhForDCE): |
| (testDCE.let.testObject.valueOf): |
| (testDCE): |
| (testException.opaqueSinhWithException): |
| (testException): |
| * stress/arith-tan-on-various-types.js: |
| (isIdentical): |
| * stress/arith-tanh-on-various-types.js: Added. |
| (let.validInputTypedTestCases.validInputTestCases.map): |
| (isIdentical): |
| (opaqueTanhNoArgument): |
| (testNoArgument): |
| (opaqueAllTypesTanh): |
| (testAllTypesCall): |
| (testSingleTypeCall): |
| (testConstant): |
| (opaqueTanhForSideEffects): |
| (testSideEffect.let.testObject.valueOf): |
| (testSideEffect): |
| (opaqueTanhForCSE): |
| (testCSE.let.testObject.valueOf): |
| (testCSE): |
| (opaqueTanhForDCE): |
| (testDCE.let.testObject.valueOf): |
| (testDCE): |
| (testException.opaqueTanhWithException): |
| (testException): |
| |
| 2017-05-03 Keith Miller <keith_miller@apple.com> |
| |
| Array.prototype.sort should also allow a null comparator |
| https://bugs.webkit.org/show_bug.cgi?id=171621 |
| |
| Reviewed by Michael Saboff. |
| |
| Add test to make it less likely we revert to the incompatable behavior. |
| Also, fix now incorrect tests. |
| |
| * ChakraCore/test/Array/array_sort.baseline-jsc: |
| * stress/array-sort-bad-comparator.js: |
| (test): |
| * stress/sort-null-comparator.js: Added. |
| (assertEq): |
| |
| 2017-05-03 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] remove unneeded asyncFunctionTests.yaml |
| https://bugs.webkit.org/show_bug.cgi?id=171611 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Async functions have shipped, and those tests are run as part of |
| JSTests/stress and JSTests/test262.yaml. The file is no longer needed. |
| |
| * asyncFunctionTests.yaml: Removed. |
| * stress/async-await-long-loop.js: |
| * stress/async-await-throw-loop.js: |
| |
| 2017-05-03 Keith Miller <keith_miller@apple.com> |
| |
| Different behaviour with the .sort(callback) method (unlike Firefox & Chrome) |
| https://bugs.webkit.org/show_bug.cgi?id=47825 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/sorting-boolean-result-comparator.js: Added. |
| (checkArray): |
| |
| 2017-05-02 David Kilzer <ddkilzer@apple.com> |
| |
| check-webkit-style should keep JavaScript test functions in sync |
| <https://webkit.org/b/171424> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| This change makes shouldBe(), shouldNotBe(), shouldNotThrow() |
| and shouldThrow() in sync with other copies of these methods. |
| |
| * stress/resources/standalone-pre.js: |
| (shouldBe): Fix whitespace. Prefix 'exception' and 'quiet' |
| variables with underscore. |
| (shouldThrow): Fix whitespace. |
| |
| 2017-04-30 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| We initialize functions too early in an eval |
| https://bugs.webkit.org/show_bug.cgi?id=161099 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/eval-func-decl-with-let-const-class.js: Added. |
| |
| 2017-04-30 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| [ES6]. Implement Annex B.3.3 function hoisting rules for eval |
| https://bugs.webkit.org/show_bug.cgi?id=163208 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/eval-func-decl-block-scoping-reassign.js: Added. |
| (assert): |
| (throw.new.Error.f): |
| (throw.new.Error): |
| * stress/eval-func-decl-block-with-remove.js: Added. |
| (assert): |
| (foo.boo): |
| (foo): |
| * stress/eval-func-decl-block-with-var-and-remove.js: Added. |
| (assert): |
| (assertThrow): |
| (foo): |
| (boo): |
| (joo): |
| (koo): |
| * stress/eval-func-decl-block-with-var-sinthesize.js: Added. |
| (assert): |
| (assertThrow): |
| (foo): |
| (boo): |
| (hoo): |
| (joo): |
| (koo): |
| * stress/eval-func-decl-in-block-scope-and-bind-to-top-eval-scope.js: Added. |
| * stress/eval-func-decl-in-eval-within-block-with-let.js: Added. |
| (assert): |
| (assertThrow): |
| (foo): |
| (boo): |
| (goo): |
| * stress/eval-func-decl-in-eval-within-with-scope.js: Added. |
| (assert): |
| (assertThrow): |
| (foo): |
| (boo): |
| (boo.let.val2): |
| (boo.let.val3): |
| * stress/eval-func-decl-in-frozen-global.js: Added. |
| (assert): |
| (assertThrow): |
| (throw.new.Error): |
| (Object.freeze): |
| * stress/eval-func-decl-in-global-of-eval.js: Added. |
| (assert): |
| (assertThrow): |
| (bar): |
| (baz): |
| (foobar): |
| * stress/eval-func-decl-in-global.js: Added. |
| (assert): |
| (assertThrow): |
| * stress/eval-func-decl-in-if.js: Added. |
| (assert): |
| * stress/eval-func-decl-within-eval-with-reassign-to-var.js: Added. |
| (assert): |
| (assertThrow): |
| (foo): |
| (boo): |
| (foobar): |
| (hoo): |
| (joo): |
| (koo): |
| (loo): |
| * stress/eval-func-decl-within-eval-without-reassign-to-let.js: Added. |
| (assert): |
| (assertThrow): |
| (foo): |
| (boo): |
| (goo): |
| * stress/variable-under-tdz-eval-tricky.js: |
| (assert): |
| * test262.yaml: |
| |
| 2017-04-27 Mark Lam <mark.lam@apple.com> |
| |
| Fix some RELEASE_ASSERT failures caused by OutOfMemoryErrors. |
| https://bugs.webkit.org/show_bug.cgi?id=171404 |
| <rdar://problem/31876178> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/js-fixed-array-out-of-memory.js: Added. |
| |
| 2017-04-27 David Kilzer <ddkilzer@apple.com> |
| |
| Enhance shouldBe()/shouldNotBe() to accept anonymous function arguments |
| <https://webkit.org/b/171362> |
| <rdar://problem/31867686> |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * stress/resources/standalone-pre.js: |
| (shouldBe): |
| (shouldNotThrow): |
| (shouldThrow): |
| - Update shouldBe() to accept anonymous function arguments. |
| (The shouldNotBe() function was never copied over.) |
| - Also fix shouldThrow()/shouldNotThrow() to accept anonymous |
| function arguments (which were missed in r202609 for Bug |
| 159232). |
| |
| 2017-04-27 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Handle PhantomSpread in LoadVarargs as the same to the others |
| https://bugs.webkit.org/show_bug.cgi?id=171262 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/spread-outer-create-rest.js: Added. |
| (assert): |
| (foo): |
| (bar): |
| (baz): |
| |
| 2017-04-26 Saam Barati <sbarati@apple.com> |
| |
| Print Wasm function index in stack trace |
| https://bugs.webkit.org/show_bug.cgi?id=171349 |
| |
| Reviewed by JF Bastien. |
| |
| * wasm/function-tests/stack-trace.js: Added. |
| (import.Builder.from.string_appeared_here.assert): |
| (let.imp): |
| * wasm/function-tests/trap-after-cross-instance-call.js: |
| (wasmFrameCountFromError): |
| * wasm/function-tests/trap-load-2.js: |
| (wasmFrameCountFromError): |
| * wasm/function-tests/trap-load.js: |
| (wasmFrameCountFromError): |
| |
| 2017-04-26 Saam Barati <sbarati@apple.com> |
| |
| ASSERTION FAILED: inIndex != notFound in JSC::invalidParameterInSourceAppender() |
| https://bugs.webkit.org/show_bug.cgi?id=170924 |
| <rdar://problem/31721052> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/error-message-for-function-base-not-found.js: Added. |
| (assert): |
| (throw.new.Error): |
| * stress/error-messages-for-in-operator-should-not-crash.js: Added. |
| (catch): |
| |
| 2017-04-26 Keith Miller <keith_miller@apple.com> |
| |
| WebAssembly: Implement tier up |
| https://bugs.webkit.org/show_bug.cgi?id=170134 |
| |
| Reviewed by Filip Pizlo. |
| |
| * wasm/function-tests/trap-after-cross-instance-call.js: |
| * wasm/tier-up/js-to-wasm.js: Added. |
| (async.test): |
| * wasm/tier-up/wasm-to-wasm.js: Added. |
| (async.test): |
| |
| 2017-04-26 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] Object.keys() must discard property names with no PropertyDescriptor |
| https://bugs.webkit.org/show_bug.cgi?id=171291 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * es6/Proxy_ownKeys_duplicates.js: |
| * stress/proxy-own-keys.js: |
| (let.handler.getOwnPropertyDescriptor): |
| (let.handler.ownKeys): |
| |
| 2017-04-25 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r215476. |
| https://bugs.webkit.org/show_bug.cgi?id=171304 |
| |
| "It broke JSBench" (Requested by saamyjoon on #webkit). |
| |
| Reverted changeset: |
| |
| "[ES6]. Implement Annex B.3.3 function hoisting rules for |
| eval" |
| https://bugs.webkit.org/show_bug.cgi?id=163208 |
| http://trac.webkit.org/changeset/215476 |
| |
| 2017-04-25 Saam Barati <sbarati@apple.com> |
| |
| JSArray::isArrayPrototypeIteratorProtocolFastAndNonObservable is wrong because it does not do the necessary checks on the base object |
| https://bugs.webkit.org/show_bug.cgi?id=171150 |
| <rdar://problem/31771880> |
| |
| Reviewed by Sam Weinig. |
| |
| * stress/spread-optimized-properly.js: Added. |
| (assert): |
| (test): |
| (shallowEq): |
| (makeArrayIterator): |
| (test.bar): |
| (test.callback): |
| (test.arr.__proto__.Symbol.iterator): |
| (test.arr.Symbol.iterator): |
| (test.get bar): |
| (test.hackedNext): |
| (test.test): |
| (test.): |
| |
| 2017-04-25 Mark Lam <mark.lam@apple.com> |
| |
| [Follow up] Array.prototype.slice() should ensure that end >= begin. |
| https://bugs.webkit.org/show_bug.cgi?id=170989 |
| <rdar://problem/31705652> |
| |
| Not reviewed. |
| |
| Follow up to rename a test file that was accidentally named wrongly. |
| |
| * stress/regress-170989.js: Copied from JSTests/stress/regress-170989.patch. |
| * stress/regress-170989.patch: Removed. |
| |
| 2017-04-25 Mark Lam <mark.lam@apple.com> |
| |
| Array.prototype.slice() should ensure that end >= begin. |
| https://bugs.webkit.org/show_bug.cgi?id=170989 |
| <rdar://problem/31705652> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-170989.patch: Added. |
| |
| 2017-04-25 Mark Lam <mark.lam@apple.com> |
| |
| Local CSE wrongly CSEs array accesses with different result types. |
| https://bugs.webkit.org/show_bug.cgi?id=170990 |
| <rdar://problem/31705945> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-170990.js: Added. |
| |
| 2017-04-25 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| WebAssembly: exporting a property with a name that's a number doesn't work |
| https://bugs.webkit.org/show_bug.cgi?id=168857 |
| |
| Reviewed by JF Bastien. |
| |
| r213453 allows Wasm instances to expose indexed properties. We activate the tests. |
| |
| * wasm/js-api/test_Instance.js: |
| (ExportedNumber): |
| |
| 2017-04-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js |
| https://bugs.webkit.org/show_bug.cgi?id=171190 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/async-await-syntax.js: |
| * test262.yaml: |
| |
| 2017-04-24 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Use JSFixedArray directly when using call_varargs |
| https://bugs.webkit.org/show_bug.cgi?id=171057 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/spread-capture-rest.js: Added. |
| (shouldBe): |
| (capture): |
| (a): |
| (b): |
| * stress/spread-multi-layers.js: Added. |
| (shouldBe): |
| (a): |
| (b): |
| (c): |
| (d): |
| * stress/spread-non-varargs.js: Added. |
| (shouldBe): |
| (a): |
| (b): |
| |
| 2017-04-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/language/computed-property-names/class/static/getter-prototype.js |
| https://bugs.webkit.org/show_bug.cgi?id=170897 |
| |
| Reviewed by Saam Barati. |
| |
| * test262.yaml: |
| |
| 2017-04-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Address some FIXMEs in JavaScript tests for bugs that have been fixed |
| https://bugs.webkit.org/show_bug.cgi?id=171191 |
| |
| Reviewed by JF Bastien. |
| |
| * stress/proxy-is-extensible.js: |
| |
| 2017-04-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/language/statements/for-of/dstr-array-elem-init-fn-name-arrow.js |
| https://bugs.webkit.org/show_bug.cgi?id=171160 |
| |
| Reviewed by JF Bastien. |
| |
| * stress/inferred-names.js: |
| * test262.yaml: |
| |
| 2017-04-24 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/language/expressions/generators/yield-as-label.js |
| https://bugs.webkit.org/show_bug.cgi?id=170979 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/async-await-module-reserved-word.js: |
| * stress/async-await-reserved-word.js: |
| Converge on "Cannot" instead of "Can't". |
| |
| * catch-parameter-syntax.js: |
| * yield-named-variable-generator.js: |
| * yield-named-variable.js: |
| * stress/yield-label-generator.js: |
| * stress/yield-label.js: |
| * stress/yield-reserved-word.js: Added. |
| More complete list of when 'yield' is allowed. |
| |
| * ChakraCore/test/strict/23.reservedWords_sm.baseline-jsc: |
| * test262.yaml: |
| |
| 2017-04-23 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r215674. |
| https://bugs.webkit.org/show_bug.cgi?id=171212 |
| |
| Possible unintended commit. This patch was on the wrong bug. |
| (Requested by JoePeck on #webkit). |
| |
| Reverted changeset: |
| |
| "test262: test262/test/language/expressions/generators/yield- |
| as-label.js" |
| https://bugs.webkit.org/show_bug.cgi?id=170979 |
| http://trac.webkit.org/changeset/215674 |
| |
| 2017-04-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/built-ins/Number/prototype/toPrecision/nan.js |
| https://bugs.webkit.org/show_bug.cgi?id=171197 |
| |
| Reviewed by Saam Barati. |
| |
| * test262.yaml: |
| |
| 2017-04-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/language/expressions/generators/yield-as-label.js |
| https://bugs.webkit.org/show_bug.cgi?id=170979 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/async-await-module-reserved-word.js: |
| * stress/async-await-reserved-word.js: |
| Converge on "Cannot" instead of "Can't". |
| |
| * catch-parameter-syntax.js: |
| * yield-named-variable-generator.js: |
| * yield-named-variable.js: |
| * stress/yield-label-generator.js: |
| * stress/yield-label.js: |
| * stress/yield-reserved-word.js: Added. |
| More complete list of when 'yield' is allowed. |
| |
| * ChakraCore/test/strict/23.reservedWords_sm.baseline-jsc: |
| * test262.yaml: |
| |
| 2017-04-23 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/built-ins/Number/parseFloat.js |
| https://bugs.webkit.org/show_bug.cgi?id=171193 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * test262.yaml: |
| |
| 2017-04-22 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: Module.exports, Module.imports, Module.customSections are wrong |
| https://bugs.webkit.org/show_bug.cgi?id=171078 |
| |
| Reviewed by Saam Barati. |
| |
| They're static properties of Module, not instance properties of a module. |
| https://github.com/WebAssembly/design/blob/master/JS.md#webassemblymoduleexports |
| |
| * wasm/js-api/Module.customSection.js: |
| (assert.throws.WebAssembly.Module.customSections): |
| (assert.eq): |
| (assert.throws.WebAssembly.Module.prototype.customSections): Deleted. |
| * wasm/js-api/Module.exports.js: |
| (assert.throws.WebAssembly.Module.exports): |
| (assert.truthy): |
| (assert.throws.WebAssembly.Module.prototype.exports): Deleted. |
| * wasm/js-api/Module.imports.js: |
| (assert.throws.WebAssembly.Module.imports): |
| (assert.truthy): |
| (assert.throws.WebAssembly.Module.prototype.imports): Deleted. |
| |
| 2017-04-21 JF Bastien <jfbastien@apple.com> |
| |
| Silence noisy test |
| |
| Unreviewed, Fil / Michael and I talked about it in the corridor. I |
| just forgot to set verbose to false before commit. |
| |
| * wasm/stress/oom.js: |
| |
| 2017-04-20 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC][FTL] FTL should support Arrayify |
| https://bugs.webkit.org/show_bug.cgi?id=169596 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/arrayify.js: Added. |
| (arrayifyInt32): |
| (arrayifyDouble): |
| (arrayifyContiguous): |
| |
| 2017-04-20 Mark Lam <mark.lam@apple.com> |
| |
| virtualThunkFor() needs to materialize its of tagMaskRegister for tail calls. |
| https://bugs.webkit.org/show_bug.cgi?id=171079 |
| <rdar://problem/31684756> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-171079.js: Added. |
| |
| 2017-04-15 Filip Pizlo <fpizlo@apple.com> |
| |
| Optimize SharedArrayBuffer in the DFG+FTL |
| https://bugs.webkit.org/show_bug.cgi?id=164108 |
| |
| Reviewed by Saam Barati. |
| |
| Added a fairly comprehensive test of the intrinsics. This creates a function for each possible |
| combination of type and operation, and then first uses it nicely and then tries a bunch of |
| erroneous conditions like OOB. |
| |
| * stress/SharedArrayBuffer-opt.js: Added. |
| (string_appeared_here.switch): |
| (string_appeared_here.str): |
| (runAtomic): |
| (shouldFail): |
| (Symbol): |
| (string_appeared_here.a.of.arrays.m.of.atomics): |
| * stress/SharedArrayBuffer.js: |
| |
| 2017-04-19 Mark Lam <mark.lam@apple.com> |
| |
| B3StackmapSpecial should handle when stackmap values are not recoverable from a Def'ed arg. |
| https://bugs.webkit.org/show_bug.cgi?id=170973 |
| <rdar://problem/30318657> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/regress-170973.js: Added. |
| |
| 2017-04-19 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: limit slow memories |
| https://bugs.webkit.org/show_bug.cgi?id=170825 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm.yaml: |
| * wasm/stress/oom.js: Added. |
| (try.true.WebAssemblyMemoryMode): |
| (catch): |
| |
| 2017-04-19 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: don't expose any WebAssembly JS object if JIT is off |
| https://bugs.webkit.org/show_bug.cgi?id=170782 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm.yaml: |
| * wasm/noJIT/noJIT.js: Added. |
| |
| 2017-04-18 Mark Lam <mark.lam@apple.com> |
| |
| r211670 broke double to int conversion. |
| https://bugs.webkit.org/show_bug.cgi?id=170961 |
| <rdar://problem/31687696> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * microbenchmarks/double-to-int32.js: Added. |
| * stress/to-int32-sensible2.js: Added. |
| |
| 2017-04-18 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| [ES6]. Implement Annex B.3.3 function hoisting rules for eval |
| https://bugs.webkit.org/show_bug.cgi?id=163208 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/eval-func-decl-block-scoping-reassign.js: Added. |
| (assert): |
| (throw.new.Error.f): |
| (throw.new.Error): |
| * stress/eval-func-decl-block-with-remove.js: Added. |
| (assert): |
| (foo.boo): |
| (foo): |
| * stress/eval-func-decl-block-with-var-and-remove.js: Added. |
| (assert): |
| (assertThrow): |
| (foo): |
| (boo): |
| (joo): |
| (koo): |
| * stress/eval-func-decl-block-with-var-sinthesize.js: Added. |
| (assert): |
| (assertThrow): |
| (foo): |
| (boo): |
| (hoo): |
| (joo): |
| (koo): |
| * stress/eval-func-decl-in-block-scope-and-bind-to-top-eval-scope.js: Added. |
| * stress/eval-func-decl-in-eval-within-block-with-let.js: Added. |
| (assert): |
| (assertThrow): |
| (foo): |
| (boo): |
| (goo): |
| * stress/eval-func-decl-in-eval-within-with-scope.js: Added. |
| (assert): |
| (assertThrow): |
| (foo): |
| (boo): |
| (boo.let.val2): |
| (boo.let.val3): |
| * stress/eval-func-decl-in-frozen-global.js: Added. |
| (assert): |
| (assertThrow): |
| (throw.new.Error): |
| (Object.freeze): |
| * stress/eval-func-decl-in-global-of-eval.js: Added. |
| (assert): |
| (assertThrow): |
| (bar): |
| (baz): |
| (foobar): |
| * stress/eval-func-decl-in-global.js: Added. |
| (assert): |
| (assertThrow): |
| * stress/eval-func-decl-in-if.js: Added. |
| (assert): |
| * stress/eval-func-decl-within-eval-with-reassign-to-var.js: Added. |
| (assert): |
| (assertThrow): |
| (foo): |
| (boo): |
| (foobar): |
| (hoo): |
| (joo): |
| (koo): |
| (loo): |
| * stress/eval-func-decl-within-eval-without-reassign-to-let.js: Added. |
| (assert): |
| (assertThrow): |
| (foo): |
| (boo): |
| (goo): |
| * stress/variable-under-tdz-eval-tricky.js: |
| (assert): |
| * test262.yaml: |
| |
| 2017-04-18 Filip Pizlo <fpizlo@apple.com> |
| |
| wasm/function-tests/memory-multiagent times out sometimes |
| https://bugs.webkit.org/show_bug.cgi?id=170958 |
| |
| Reviewed by Keith Miller. |
| |
| Add the ability to skip tests easily. Skip the test. |
| |
| * wasm.yaml: |
| * wasm/function-tests/memory-multiagent.js: |
| |
| 2017-04-18 Saam Barati <sbarati@apple.com> |
| |
| Follow up to debug build stack overflow in test after r215453 |
| |
| Rubber stamped by Mark Lam. |
| |
| * stress/call-apply-exponential-bytecode-size.js: Decrease the call |
| size to prevent stack overflow errors on debug builds. |
| |
| 2017-04-18 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Convert ValueAdd(Int32, String) => MakeRope(ToString(Int32), String) |
| https://bugs.webkit.org/show_bug.cgi?id=170943 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * microbenchmarks/number-to-string-with-add-empty.js: Added. |
| (toStringLeft): |
| (toStringRight): |
| * microbenchmarks/number-to-string-with-add-in-loop.js: Added. |
| (toStringLeft): |
| (toStringRight): |
| * microbenchmarks/number-to-string-with-add.js: Added. |
| (toStringLeft): |
| (toStringRight): |
| * stress/number-to-string-with-add.js: Added. |
| (shouldBe): |
| (toStringRight): |
| (toStringLeftEmpty): |
| (toStringRightEmpty): |
| |
| 2017-04-18 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Drop unknown use of CheckCell's child2 to work ObjectAllocationSinking for Array iterator object |
| https://bugs.webkit.org/show_bug.cgi?id=170940 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/for-of-array.js: Added. |
| (fn): |
| |
| 2017-04-17 Saam Barati <sbarati@apple.com> |
| |
| BytecodeGenerator ".call" and ".apply" is exponential in nesting depth |
| https://bugs.webkit.org/show_bug.cgi?id=139847 |
| <rdar://problem/19321122> |
| |
| Reviewed by Oliver Hunt. |
| |
| * stress/call-apply-exponential-bytecode-size.js: Added. |
| (assert): |
| (const.inc): |
| (const.inc2): |
| (bar): |
| (randomApplyOrCall): |
| (baz): |
| (jaz): |
| (haz): |
| (foo): |
| |
| 2017-04-17 Mark Lam <mark.lam@apple.com> |
| |
| JSArray::appendMemcpy() needs to handle copying from Undecided indexing type too. |
| https://bugs.webkit.org/show_bug.cgi?id=170896 |
| <rdar://problem/31651319> |
| |
| Reviewed by JF Bastien and Keith Miller. |
| |
| * stress/regress-170896.js: Added. |
| |
| 2017-04-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/built-ins/Object/prototype/toLocaleString/primitive_this_value.js |
| https://bugs.webkit.org/show_bug.cgi?id=170882 |
| |
| Reviewed by Saam Barati. |
| |
| * test262.yaml: |
| |
| 2017-04-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/built-ins/isNaN/toprimitive-not-callable-throws.js |
| https://bugs.webkit.org/show_bug.cgi?id=170888 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/computed-accessor.js: |
| * stress/eval-in-arrow-function.js: |
| * stress/rest-elements.js: |
| * stress/string-object-define-own-property.js: |
| Remove unused shouldThrow. |
| |
| * stress/symbol-toprimitive-errors.js: Added. |
| Check for ToPrimitive TypeErrors. |
| |
| * test262.yaml: |
| |
| 2017-04-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/language/expressions/tagged-template/template-object.js |
| https://bugs.webkit.org/show_bug.cgi?id=170878 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/array-length-not-writable.js: Added. |
| (assert): |
| * test262.yaml: |
| |
| 2017-04-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/built-ins/Object/getOwnPropertyNames/15.2.3.4-4-44.js |
| https://bugs.webkit.org/show_bug.cgi?id=170879 |
| |
| Reviewed by Saam Barati. |
| |
| * ChakraCore/test/es5/enumerable.baseline-jsc: |
| * test262.yaml: |
| |
| 2017-04-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/built-ins/Date/prototype/Symbol.toPrimitive/name.js |
| https://bugs.webkit.org/show_bug.cgi?id=170884 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * test262.yaml: |
| |
| 2017-04-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/language/global-code/new.target-arrow.js |
| https://bugs.webkit.org/show_bug.cgi?id=170872 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/async-arrow-functions-lexical-new.target-binding.js: |
| (shouldThrowAsync): Deleted. |
| (shouldThrowAsync.async): Deleted. |
| This code should have thrown a SyntaxError. Instead it was throwing |
| a ReferenceError for the internal @newTargetLocal variable. |
| |
| * stress/new-target-syntax-errors.js: |
| Cover the arrow function in global code cases. |
| |
| * ChakraCore.yaml: |
| * ChakraCore/test/es6/globalLambdaNewTargetSyntaxError.baseline-jsc: |
| We now pass with an expected SyntaxError. Our error message is different. |
| |
| * test262.yaml: |
| |
| 2017-04-14 Saam Barati <sbarati@apple.com> |
| |
| ParseInt intrinsic in DFG backend doesn't properly flush its operands |
| https://bugs.webkit.org/show_bug.cgi?id=170865 |
| |
| Reviewed by Mark Lam and Geoffrey Garen. |
| |
| * stress/parse-int-intrinsic-dfg-backend-flush.js: Added. |
| (assert): |
| (foo): |
| |
| 2017-04-14 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] use ExpressionErrorClassifier for AwaitExpression operand |
| https://bugs.webkit.org/show_bug.cgi?id=170844 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-170732.js: Added. |
| |
| 2017-04-14 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| Safari 10.1 JSON.parse returns incorrect object for numeric keys with decimal values |
| https://bugs.webkit.org/show_bug.cgi?id=170442 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/object-number-properties.js: |
| |
| 2017-04-13 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Date.parse should accept wider range of representation |
| https://bugs.webkit.org/show_bug.cgi?id=170720 |
| |
| Reviewed by Darin Adler. |
| |
| * stress/date-relaxed.js: Added. |
| (shouldBe): |
| (throw.new.Error): |
| |
| 2017-04-13 Mark Lam <mark.lam@apple.com> |
| |
| Should use flushDirect() when flushing the scopeRegister due to needsScopeRegister(). |
| https://bugs.webkit.org/show_bug.cgi?id=170661 |
| <rdar://problem/31579046> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/regress-170661.js: Added. |
| |
| 2017-04-13 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: manage memory better |
| https://bugs.webkit.org/show_bug.cgi?id=170628 |
| |
| Reviewed by Keith Miller, Michael Saboff. |
| |
| * wasm/Builder.js: move a helper out so tests can use it |
| (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section): |
| * wasm/WASM.js: add utilities to classify opcodes |
| (export.opcodes): |
| (export.const.memoryAccessInfo.op.const.sign): |
| * wasm/function-tests/memory-access-past-4gib.js: Added. This test |
| fails before this patch. |
| (const.op.of.WASM.opcodes): |
| * wasm/function-tests/memory-many.js: Added. This simple tests |
| just shouldn't crash. In verbose mode it's useful at determining |
| if the GC falls behind or not. |
| * wasm/function-tests/memory-multiagent.js: Added. Emulate postMessage. |
| (const.startAgents.numAgentsToStart.a.agent.receiveBroadcast): |
| (const.startAgents.numAgentsToStart.a.write.const.idx.Math.random): |
| (const.broadcastToAgents): |
| * wasm/js-api/extension-MemoryMode.js: verbose logging. |
| (testMemoryNoMax): |
| (testMemory): |
| (testInstanceNoMemory): |
| (testInstanceNoMax): |
| (testInstance): |
| * wasm/utilities.js: move a utility here. |
| |
| 2017-04-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/built-ins/NativeErrors/EvalError/proto.js |
| https://bugs.webkit.org/show_bug.cgi?id=170668 |
| |
| Reviewed by Keith Miller. |
| |
| * ChakraCore.yaml: |
| * ChakraCore/test/Lib/error.baseline-jsc: Added. |
| This test does not match the spec. |
| |
| * test262.yaml: |
| |
| 2017-04-12 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/language/literals/regexp/u-dec-esc.js |
| https://bugs.webkit.org/show_bug.cgi?id=170687 |
| |
| Reviewed by Michael Saboff. |
| |
| * test262.yaml: |
| |
| 2017-04-11 Michael Saboff <msaboff@apple.com> |
| |
| Implement Object.isFrozen() and Object.isSealed() per ECMA spec |
| https://bugs.webkit.org/show_bug.cgi?id=170753 |
| |
| Reviewed by Mark Lam. |
| |
| Added JSC baseline and enabled defineIndexProperty test. |
| |
| Note that JSC differs from Chakra in that a JSC doesn't use indexed |
| properties placed on the Array prototype when sorting the indexed |
| properties of an Object. This is behavior is considered undefined |
| in the standard. |
| |
| * ChakraCore.yaml: |
| * ChakraCore/test/es5/defineIndexProperty.baseline-jsc: Added. |
| |
| 2017-04-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/annexB/language/comments/multi-line-html-close.js |
| https://bugs.webkit.org/show_bug.cgi?id=170648 |
| |
| Reviewed by Keith Miller. |
| |
| * test262.yaml: |
| |
| 2017-04-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/built-ins/Array/S15.4.3_A2.2.js |
| https://bugs.webkit.org/show_bug.cgi?id=170652 |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/native-constructors-length.js: Added. |
| (assertLengthDescriptorAttributes): |
| Add a quick test for the length properties of all native constructors. |
| |
| * ChakraCore/test/es5/enumerable.baseline-jsc: |
| Rebaseline expectations for this test. |
| |
| * test262.yaml: |
| |
| 2017-04-10 Keith Miller <keith_miller@apple.com> |
| |
| WebAssembly: Update spec tests |
| https://bugs.webkit.org/show_bug.cgi?id=170683 |
| |
| Rubber-stamped by JF Bastien. |
| |
| * wasm.yaml: |
| * wasm/spec-tests/br_table.wast.js: |
| * wasm/spec-tests/conversions.wast.js: Removed. |
| * wasm/spec-tests/f32_bitwise.wast.js: Added. |
| * wasm/spec-tests/f32_cmp.wast.js: |
| * wasm/spec-tests/f64_bitwise.wast.js: Added. |
| * wasm/spec-tests/f64_cmp.wast.js: |
| * wasm/spec-tests/i32.wast.js: |
| * wasm/spec-tests/i64.wast.js: |
| * wasm/spec-tests/int_exprs.wast.js: |
| * wasm/spec-tests/memory.wast.js: |
| |
| 2017-04-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/annexB/language/expressions/object/__proto__-fn-name.js |
| https://bugs.webkit.org/show_bug.cgi?id=170650 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/inferred-names.js: |
| * test262.yaml: |
| |
| 2017-04-09 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: test262/test/annexB/language/literals/regexp/identity-escape.js |
| https://bugs.webkit.org/show_bug.cgi?id=170651 |
| |
| Reviewed by Saam Barati. |
| |
| * test262.yaml: |
| |
| 2017-04-07 Michael Saboff <msaboff@apple.com> |
| |
| Fix and enable ChakraCore/test/es6/ES6Function_bugs.js after r215072 |
| https://bugs.webkit.org/show_bug.cgi?id=170580 |
| |
| Reviewed by JF Bastien. |
| |
| Commented out subtest that expects defineProperty("length") to a getter on a |
| sealed function shouldn't throw. |
| |
| * ChakraCore.yaml: |
| * ChakraCore/test/es6/ES6Function_bugs.js: |
| |
| 2017-04-06 Michael Saboff <msaboff@apple.com> |
| |
| Cannot Object.seal() or Object.freeze() global "this" |
| https://bugs.webkit.org/show_bug.cgi?id=170549 |
| |
| Reviewed by Mark Lam. |
| |
| Enabled failing tests fixed by the corresponding code change: |
| ChakraCore/test/LetConst/delete.js |
| ChakraCore/test/LetConst/dop.js |
| ChakraCore/test/LetConst/dop1.js |
| |
| * ChakraCore.yaml: |
| * ChakraCore/test/LetConst/dop.baseline-jsc: Added JSC specific expected output. |
| * ChakraCore/test/LetConst/dop1.baseline-jsc: Added JSC specific expected output. |
| |
| 2017-04-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: ES2017 test progressions need updated expectations (arguments.caller removed) |
| https://bugs.webkit.org/show_bug.cgi?id=170536 |
| |
| Reviewed by Mark Lam. |
| |
| * test262.yaml: |
| After r208867 the tests are out of date and are now expected to fail. |
| |
| 2017-04-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: Final rebaseline of existing tests, a few tests have started failing |
| https://bugs.webkit.org/show_bug.cgi?id=170538 |
| |
| Reviewed by Mark Lam. |
| |
| * test262.yaml: |
| These tests started failing a while ago. Mark them as legitmate failures. |
| |
| 2017-04-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: Rebaseline expectations for now passing tests |
| https://bugs.webkit.org/show_bug.cgi?id=170532 |
| |
| Reviewed by Ryosuke Niwa. |
| |
| * test262.yaml: |
| Update expectations for tests we are now passing. |
| |
| 2017-04-05 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: module test progressions need updated expectations (@@iterator changes) |
| https://bugs.webkit.org/show_bug.cgi?id=170535 |
| |
| Reviewed by Saam Barati. |
| |
| * test262.yaml: |
| After r212430 the tests are out of date and are now expected to fail. |
| |
| 2017-04-05 Michael Saboff <msaboff@apple.com> |
| |
| Unreviewed rollout of r214642 as the test still intermittently fails. |
| |
| Disabled ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js. |
| |
| * ChakraCore.yaml: |
| |
| 2017-04-05 Michael Saboff <msaboff@apple.com> |
| |
| REGRESSION (Safari 10.1): Inserting elements into arrays fails when array contains very large numbers |
| https://bugs.webkit.org/show_bug.cgi?id=170264 |
| <rdar://problem/31375593> |
| |
| Rubber-stamped by Saam Barati. |
| |
| The original bug was fixed in: https://trac.webkit.org/changeset/214714 |
| I'm just adding another test for good measure. |
| |
| * stress/double-array-to-array-storage.js: Added. |
| (assert): |
| |
| 2017-04-05 Keith Miller <keith_miller@apple.com> |
| |
| WebAssembly: We shouldn't need to pin size registers if we have a fast memory. |
| https://bugs.webkit.org/show_bug.cgi?id=170504 |
| |
| Reviewed by Mark Lam. |
| |
| * wasm/function-tests/trap-after-cross-instance-call.js: Added. |
| (b.new.WebAssembly.Memory): |
| (importObject.foo.bar): |
| (wasmFrameCountFromError): |
| |
| 2017-03-16 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Generate TemplateObjects at linking time |
| https://bugs.webkit.org/show_bug.cgi?id=169743 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/template-string-tags-eval.js: Added. |
| (shouldBe): |
| (tag): |
| |
| 2017-04-04 Mark Lam <mark.lam@apple.com> |
| |
| On ARM64, DFG::SpeculativeJIT::compileArithMod() failed to ensure result is of DataFormatInt32. |
| https://bugs.webkit.org/show_bug.cgi?id=170473 |
| <rdar://problem/29912391> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-170473.js: Added. |
| |
| 2017-04-03 Mark Lam <mark.lam@apple.com> |
| |
| Fix incorrect capacity delta calculation reported in SparseArrayValueMap::add(). |
| https://bugs.webkit.org/show_bug.cgi?id=170412 |
| <rdar://problem/29697336> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/regress-170412.js: Added. |
| |
| 2017-04-03 Keith Miller <keith_miller@apple.com> |
| |
| WebAssembly: Update spec tests |
| https://bugs.webkit.org/show_bug.cgi?id=170361 |
| |
| Rubber-stamped by Saam Barati. |
| |
| Update the spec tests to run tests generated by the newer spec |
| test builder wasm-spec/test/builder.py. This patch also adds the |
| necessary harness code in spec-harness.js so we can run the tests. |
| |
| * wasm.yaml: |
| * wasm/import-spec-tests.rb: |
| * wasm/spec-harness.js: Added. |
| (import.string_appeared_here.then): |
| (test): |
| (promise_test): |
| (let.assert_unreached): |
| * wasm/spec-harness/index.js: Added. |
| (let.testNum): |
| (assertThrows): |
| (_assert): |
| (ValueResult): |
| (ErrorResult): |
| (Result.prototype.isError): |
| (binary): |
| (module): |
| (uniqueTest): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (register): |
| (call): |
| (get instance): |
| (exports): |
| (run): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (try.f): |
| (catch): |
| (assert_exhaustion): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-harness/testharness.css: Added. |
| (html): |
| (#log .warning,): |
| (#log .error,): |
| (section#summary): |
| (table#results): |
| (table#results th:first-child,): |
| (table#results th:last-child,): |
| (table#results.assertions th:last-child,): |
| (table#results th): |
| (table#results td): |
| (tr.pass > td:first-child): |
| (tr.fail > td:first-child): |
| (tr.timeout > td:first-child): |
| (tr.notrun > td:first-child): |
| (.pass > td:first-child, .fail > td:first-child, .timeout > td:first-child, .notrun > td:first-child): |
| (table#results span): |
| (table#results span.expected): |
| (table#results span.actual): |
| (span.ok): |
| (tr.error): |
| (span.timeout): |
| (span.ok, span.timeout, span.error): |
| * wasm/spec-harness/testharness.js: Added. |
| (WindowTestEnvironment): |
| (WindowTestEnvironment.prototype._dispatch): |
| (WindowTestEnvironment.prototype._forEach_windows): |
| (WindowTestEnvironment.prototype.on_tests_ready): |
| (WindowTestEnvironment.prototype.setup_messages): |
| (WindowTestEnvironment.prototype.next_default_test_name): |
| (WindowTestEnvironment.prototype.on_new_harness_properties): |
| (WindowTestEnvironment.prototype.add_on_loaded_callback): |
| (WindowTestEnvironment.prototype.test_timeout): |
| (WindowTestEnvironment.prototype.global_scope): |
| (WorkerTestEnvironment): |
| (WorkerTestEnvironment.prototype._dispatch): |
| (WorkerTestEnvironment.prototype._add_message_port): |
| (WorkerTestEnvironment.prototype.next_default_test_name): |
| (WorkerTestEnvironment.prototype.on_new_harness_properties): |
| (WorkerTestEnvironment.prototype.on_tests_ready): |
| (WorkerTestEnvironment.prototype.add_on_loaded_callback): |
| (WorkerTestEnvironment.prototype.test_timeout): |
| (WorkerTestEnvironment.prototype.global_scope): |
| (DedicatedWorkerTestEnvironment): |
| (DedicatedWorkerTestEnvironment.prototype.on_tests_ready): |
| (SharedWorkerTestEnvironment): |
| (SharedWorkerTestEnvironment.prototype.on_tests_ready): |
| (ServiceWorkerTestEnvironment): |
| (ServiceWorkerTestEnvironment.prototype.add_on_loaded_callback): |
| (create_test_environment): |
| (is_shared_worker): |
| (is_service_worker): |
| (test): |
| (async_test): |
| (promise_test): |
| (this.wait_for): |
| (EventWatcher): |
| (setup): |
| (done): |
| (generate_tests): |
| (step_timeout): |
| (truncate): |
| (is_node): |
| (format_value): |
| * wasm/spec-harness/testharnessreport.js: Added. |
| * wasm/spec-harness/wasm-constants.js: Added. |
| (bytes): |
| (bytesWithHeader): |
| (makeSig): |
| (makeSig_v_x): |
| (makeSig_v_xx): |
| (makeSig_r_v): |
| (makeSig_r_x): |
| (makeSig_r_xx): |
| (assertTraps): |
| (assertWasmThrows): |
| * wasm/spec-harness/wasm-module-builder.js: Added. |
| (Binary.prototype.emit_u8): |
| (Binary.prototype.emit_u16): |
| (Binary.prototype.emit_u32): |
| (Binary.prototype.emit_u32v): |
| (Binary.prototype.emit_bytes): |
| (Binary.prototype.emit_string): |
| (Binary.prototype.emit_header): |
| (Binary.prototype.emit_section): |
| (Binary): |
| (WasmFunctionBuilder): |
| (WasmFunctionBuilder.prototype.exportAs): |
| (WasmFunctionBuilder.prototype.exportFunc): |
| (WasmFunctionBuilder.prototype.addBody): |
| (WasmFunctionBuilder.prototype.addLocals): |
| (WasmFunctionBuilder.prototype.end): |
| (WasmGlobalBuilder): |
| (WasmGlobalBuilder.prototype.exportAs): |
| (WasmModuleBuilder): |
| (WasmModuleBuilder.prototype.addStart): |
| (WasmModuleBuilder.prototype.addMemory): |
| (WasmModuleBuilder.prototype.addExplicitSection): |
| (WasmModuleBuilder.prototype.addType): |
| (WasmModuleBuilder.prototype.addGlobal): |
| (WasmModuleBuilder.prototype.addFunction): |
| (WasmModuleBuilder.prototype.addImport): |
| (WasmModuleBuilder.prototype.addImportedGlobal): |
| (WasmModuleBuilder.prototype.addImportedMemory): |
| (WasmModuleBuilder.prototype.addImportedTable): |
| (WasmModuleBuilder.prototype.addExport): |
| (WasmModuleBuilder.prototype.addExportOfKind): |
| (WasmModuleBuilder.prototype.addDataSegment): |
| (WasmModuleBuilder.prototype.exportMemoryAs): |
| (WasmModuleBuilder.prototype.addFunctionTableInit): |
| (WasmModuleBuilder.prototype.appendToTable): |
| (WasmModuleBuilder.prototype.setFunctionTableLength): |
| (WasmModuleBuilder.prototype.toArray): |
| (WasmModuleBuilder.prototype.toBuffer): |
| (WasmModuleBuilder.prototype.instantiate): |
| * wasm/spec-harness/wast.js: Added. |
| (normalize): |
| (require.else._registry.name): |
| (require): |
| (add_hex_char): |
| (add_char): |
| (string_with): |
| (list_of_opt): |
| (break_bytes.f): |
| (break_bytes): |
| (f): |
| (decls): |
| (func_type): |
| (limits): |
| (global_type): |
| (testop): |
| (relop): |
| (unop): |
| (binop): |
| (cvtop): |
| (oper): |
| (mem_size): |
| (extension): |
| (memop): |
| (storeop): |
| (var): |
| (constop): |
| (instr.else.switch.case.0.f): |
| (instr.else.switch.case.1.f.1): |
| (instr.else.switch.case.2.f.2): |
| (instr): |
| (func_with_name): |
| (func): |
| (start): |
| (table): |
| (memory): |
| (segment): |
| (elems): |
| (data): |
| (typedef): |
| (import_kind): |
| (import): |
| (export_kind): |
| (export): |
| (var_opt): |
| (is_func_import): |
| (is_table_import): |
| (is_memory_import): |
| (is_global_import): |
| (f.1): |
| (f.2): |
| (f.3): |
| (module_with_var_opt): |
| (module_): |
| (literal): |
| (definition): |
| (access): |
| (action): |
| (script): |
| (_registry.string_appeared_here): |
| (init): |
| (make_matrix): |
| (copy): |
| (append): |
| (sub): |
| (fill): |
| (blit): |
| (iter): |
| (map): |
| (iteri): |
| (mapi): |
| (to_list): |
| (list_length): |
| (of_list): |
| (fold_left): |
| (fold_right): |
| (maxson): |
| (trickle): |
| (bubble): |
| (trickleup): |
| (sort): |
| (merge): |
| (isortto): |
| (sortto): |
| (stable_sort): |
| (import_type): |
| (export_type): |
| (dims.n): |
| (dims.d.i): |
| (dims): |
| (map_file): |
| (create): |
| (of_array): |
| (slice_left): |
| (slice_right): |
| (slice_left_1): |
| (slice_right_1): |
| (slice_left_2): |
| (slice_right_2): |
| (array1_of_genarray): |
| (array2_of_genarray): |
| (array3_of_genarray): |
| (reshape_1): |
| (reshape_2): |
| (reshape_3): |
| (reshape): |
| (__): |
| (contents): |
| (to_bytes): |
| (nth): |
| (length): |
| (clear): |
| (reset): |
| (resize): |
| (add_substring): |
| (add_subbytes): |
| (add_string): |
| (add_bytes): |
| (add_buffer): |
| (add_channel): |
| (output_buffer): |
| (closing): |
| (advance_to_closing): |
| (advance_to_non_alpha): |
| (find_ident): |
| (add_substitute): |
| (make): |
| (to_string): |
| (of_string): |
| (sub_string): |
| (extend): |
| (blit_string): |
| (concat): |
| (cat): |
| (is_space): |
| (trim): |
| (escaped): |
| (uppercase): |
| (lowercase): |
| (apply1): |
| (capitalize): |
| (uncapitalize): |
| (index_rec): |
| (index): |
| (index_from): |
| (rindex_rec): |
| (rindex): |
| (rindex_from): |
| (contains_from): |
| (contains): |
| (rcontains_from): |
| (caml_array_sub): |
| (len): |
| (caml_array_concat): |
| (caml_make_vect): |
| (caml_array_blit): |
| (get if): |
| (caml_set_oo_id): |
| (get_id): |
| (caml_int32_float_of_bits): |
| (caml_int32_bits_of_float): |
| (caml_classify_float): |
| (caml_modf_float): |
| (caml_ldexp_float): |
| (caml_frexp_float): |
| (caml_copysign_float): |
| (caml_expm1_float): |
| (caml_hypot_float): |
| (caml_log10_float): |
| (caml_failwith): |
| (parse_digit): |
| (int_of_string_base): |
| (parse_sign_and_base): |
| (caml_int_of_string.aux): |
| (caml_int_of_string): |
| (caml_int64_of_string.aux): |
| (caml_int64_of_string): |
| (int_of_base): |
| (parse_format): |
| (finish_formatting): |
| (caml_format_int): |
| (caml_int64_format): |
| (caml_format_float): |
| (float_of_string): |
| (div): |
| (mod_): |
| (caml_bswap16): |
| (caml_int32_bswap): |
| (imul): |
| (neg_signed): |
| (not): |
| (eq): |
| (neg): |
| (lsl_): |
| (lsr_): |
| (asr_): |
| (is_zero): |
| (mul): |
| (swap): |
| (xor): |
| (or_): |
| (and_): |
| (ge): |
| (lt): |
| (gt): |
| (le): |
| (to_float): |
| (of_float): |
| (div_mod): |
| (compare): |
| (of_int32): |
| (to_int32): |
| (to_hex.aux): |
| (to_hex): |
| (discard_sign): |
| (float_of_bits): |
| (bits_of_float.to_nat): |
| (bits_of_float): |
| (get64): |
| (erase_rel): |
| (concat_fmtty): |
| (concat_fmt): |
| (create_char_set): |
| (add_in_char_set): |
| (rev_char_set): |
| (is_in_char_set): |
| (prec_of_prec_opt): |
| (param_format_of_ignored_format): |
| (buffer_check_size): |
| (buffer_add_char): |
| (buffer_add_string): |
| (buffer_contents): |
| (char_of_iconv): |
| (char_of_fconv): |
| (char_of_counter): |
| (print_char): |
| (set while.set var): |
| (set while.set else): |
| (set var): |
| (set else): |
| (set print_char): |
| (set if): |
| (bprint_padty): |
| (bprint_ignored_flag): |
| (bprint_pad_opt): |
| (bprint_padding): |
| (bprint_precision): |
| (bprint_iconv_flag): |
| (bprint_int_fmt): |
| (bprint_altint_fmt): |
| (bprint_fconv_flag): |
| (bprint_float_fmt): |
| (string_of_formatting_lit): |
| (string_of_formatting_gen): |
| (bprint_char_literal): |
| (bprint_string_literal): |
| (bprint_fmtty): |
| (int_of_custom_arity): |
| (bprint_fmt): |
| (string_of_fmt): |
| (symm): |
| (fmtty_rel_det): |
| (trans): |
| (fmtty_of_formatting_gen): |
| (fmtty_of_fmt): |
| (fmtty_of_custom): |
| (fmtty_of_padding_fmtty): |
| (fmtty_of_precision_fmtty): |
| (type_padding): |
| (type_padprec): |
| (type_ignored_param_one): |
| (type_format_gen): |
| (type_ignored_format_substitution): |
| (type_format): |
| (recast): |
| (fix_padding): |
| (fix_int_precision): |
| (string_to_caml_string): |
| (format_of_iconv): |
| (format_of_aconv): |
| (format_of_fconv): |
| (convert_int): |
| (convert_int32): |
| (convert_nativeint): |
| (convert_int64): |
| (else.is_valid): |
| (convert_float): |
| (format_caml_char): |
| (string_of_fmtty): |
| (else.switch.): |
| (else.switch.k.prime): |
| (else.switch.else.): |
| (else.switch.else.k.prime.1): |
| (make_printf): |
| (make_from_fmtty): |
| (make_invalid_arg): |
| (make_string_padding): |
| (make_int_padding_precision): |
| (make_custom): |
| (output_acc): |
| (bufput_acc): |
| (strput_acc): |
| (failwith_message.k): |
| (failwith_message): |
| (open_box_of_string.else.invalid_box): |
| (open_box_of_string.else.parse_spaces): |
| (open_box_of_string.else.parse_lword): |
| (open_box_of_string.else.parse_int): |
| (open_box_of_string): |
| (make_padding_fmt_ebb): |
| (make_precision_fmt_ebb): |
| (make_padprec_fmt_ebb): |
| (invalid_format_message): |
| (invalid_format_without): |
| (expected_character): |
| (compute_int_conv): |
| (incompatible_flag): |
| (parse_positive): |
| (parse_conv): |
| (parse_after_precision): |
| (else.parse_literal): |
| (parse_after_padding): |
| (parse_literal): |
| (parse_after_at): |
| (add_literal): |
| (parse_spaces): |
| (parse_integer): |
| (compute_float_conv): |
| (search_subformat_end): |
| (check_no_0): |
| (opt_of_pad): |
| (get_prec_opt): |
| (else.switch.case.99.char_format): |
| (else.switch.scan_format): |
| (parse_conversion): |
| (set_flag): |
| (parse_flags): |
| (is_int_base): |
| (counter_of_char): |
| (add_range): |
| (fail_single_percent): |
| (parse_char_set_after_char): |
| (parse_char_set_content): |
| (parse_char_set_start): |
| (parse_char_set): |
| (check_open_box): |
| (parse_tag): |
| (fmt_ebb_of_string): |
| (format_of_string_fmtty): |
| (format_of_string_format): |
| (caret): |
| (caml_ml_open_descriptor_in): |
| (caml_ml_open_descriptor_out): |
| (caml_ml_flush): |
| (node_std_output): |
| (caml_ml_output_char): |
| (caml_ml_input): |
| (caml_ml_input_char): |
| (caml_ml_out_channels_list): |
| (fail): |
| (caml_lex_array): |
| (caml_lex_engine): |
| (caml_lex_run_mem): |
| (caml_lex_run_tag): |
| (caml_new_lex_engine): |
| (caml_obj_dup): |
| (caml_obj_truncate): |
| (caml_lazy_make_forward): |
| (caml_update_dummy): |
| (caml_int_compare): |
| (caml_compare): |
| (caml_equal): |
| (caml_notequal): |
| (caml_greaterequal): |
| (caml_lessequal): |
| (else.aux): |
| (caml_get_public_method): |
| (caml_parse_engine): |
| (caml_set_parser_trace): |
| (js_string_of_char): |
| (caml_string_get): |
| (caml_create_string): |
| (caml_string_compare): |
| (caml_fill_string): |
| (caml_blit_string): |
| (caml_blit_bytes): |
| (bytes_of_string): |
| (bytes_to_string): |
| (caml_string_of_char_array): |
| (caml_is_printable): |
| (caml_string_get16): |
| (caml_string_get32): |
| (repeat): |
| (chr): |
| (app): |
| (js): |
| (curry_1): |
| (_1): |
| (js1): |
| (__1): |
| (curry_2): |
| (_2): |
| (js2): |
| (__2): |
| (curry_3): |
| (_3): |
| (js3): |
| (__3): |
| (curry_4): |
| (_4): |
| (js4): |
| (__4): |
| (curry_5): |
| (_5): |
| (js5): |
| (__5): |
| (curry_6): |
| (_6): |
| (js6): |
| (__6): |
| (curry_7): |
| (_7): |
| (js7): |
| (__7): |
| (curry_8): |
| (_8): |
| (js8): |
| (__8): |
| (stream): |
| (eos): |
| (skip): |
| (read): |
| (peek): |
| (string_of_byte): |
| (position): |
| (region): |
| (error): |
| (guard): |
| (get 1): |
| (get expect): |
| (get illegal): |
| (at): |
| (u32): |
| (u64): |
| (get require): |
| (vuN): |
| (get var): |
| (vsN): |
| (vu32): |
| (vs32): |
| (vs64): |
| (f32): |
| (f64): |
| (len32): |
| (string): |
| (opt): |
| (vec): |
| (sized): |
| (value_type): |
| (elem_type): |
| (stack_type): |
| (table_type): |
| (memory_type): |
| (mutability.get if): |
| (mutability): |
| (instr.get if): |
| (instr_block): |
| (const): |
| (id): |
| (section): |
| (type_section): |
| (import_kind.get if): |
| (import_section): |
| (func_section): |
| (table_section): |
| (memory_section): |
| (global): |
| (global_section): |
| (export_kind.get if): |
| (export_section): |
| (start_section): |
| (local): |
| (code): |
| (code_section): |
| (table_segment): |
| (elem_section): |
| (memory_segment): |
| (data_section): |
| (partial_arg.1): |
| (custom): |
| (custom_section): |
| (iterate): |
| (decode): |
| (patch): |
| (encode.u8): |
| (encode.u16): |
| (encode.u32): |
| (encode.vu64): |
| (encode.vs64): |
| (encode.vu32): |
| (encode.len): |
| (encode.bool): |
| (encode.string): |
| (encode.vec): |
| (encode.gap32): |
| (encode.patch_gap32): |
| (encode.value_type): |
| (encode.stack_type): |
| (encode.func_type): |
| (encode.limits): |
| (encode.table_type): |
| (encode.memory_type): |
| (encode.global_type): |
| (encode.memop): |
| (encode): |
| (encode.instr): |
| (encode.const): |
| (encode.section): |
| (encode.type_section): |
| (encode.import): |
| (encode.import_section): |
| (encode.func): |
| (encode.func_section): |
| (encode.table): |
| (encode.table_section): |
| (encode.memory): |
| (encode.memory_section): |
| (encode.global): |
| (encode.global_section): |
| (encode.export_kind): |
| (encode.export): |
| (encode.export_section): |
| (encode.start_section): |
| (encode.combine): |
| (encode.compress): |
| (encode.local): |
| (encode.code): |
| (encode.code_section): |
| (encode.segment): |
| (encode.table_segment): |
| (encode.elem_section): |
| (encode.memory_segment): |
| (encode.module_): |
| (Make.warn): |
| (Make.error): |
| (Make): |
| (print_nan_significand_digits): |
| (Make.of_bits): |
| (Make.to_bits): |
| (Make.is_nan): |
| (Make.canonicalize_nan): |
| (Make.determine_binary_nan): |
| (Make.determine_unary_nan): |
| (Make.binary): |
| (Make.unary): |
| (Make.add): |
| (Make.sub): |
| (Make.mul): |
| (Make.div): |
| (Make.sqrt): |
| (Make.ceil): |
| (Make.floor): |
| (Make.trunc): |
| (Make.nearest): |
| (Make.min): |
| (Make.max): |
| (Make.abs): |
| (Make.neg): |
| (Make.copysign): |
| (Make.eq): |
| (Make.ne): |
| (Make.lt): |
| (Make.gt): |
| (Make.le): |
| (Make.ge): |
| (Make.of_signless_string): |
| (Make.of_string): |
| (Make.to_string): |
| (add_queue): |
| (peek_queue): |
| (take_queue): |
| (pp_enqueue): |
| (pp_clear_queue): |
| (pp_output_string): |
| (break_new_line): |
| (break_same_line): |
| (pp_force_break_line): |
| (switch.add_tab): |
| (else.switch.find): |
| (format_pp_token): |
| (advance_left): |
| (enqueue_advance): |
| (enqueue_string_as): |
| (set_size): |
| (scan_push): |
| (pp_open_box_gen): |
| (pp_close_box): |
| (pp_open_tag): |
| (pp_close_tag): |
| (pp_set_print_tags): |
| (pp_set_mark_tags): |
| (pp_get_print_tags): |
| (pp_get_mark_tags): |
| (pp_set_tags): |
| (pp_get_formatter_tag_functions): |
| (pp_set_formatter_tag_functions): |
| (pp_rinit): |
| (pp_flush_queue): |
| (pp_print_as_size): |
| (pp_print_string): |
| (pp_print_int): |
| (pp_print_float): |
| (pp_print_bool): |
| (pp_open_hbox): |
| (pp_open_vbox): |
| (pp_open_hvbox): |
| (pp_open_hovbox): |
| (pp_open_box): |
| (pp_print_newline): |
| (pp_print_flush): |
| (pp_force_newline): |
| (pp_print_if_newline): |
| (pp_print_break): |
| (pp_print_space): |
| (pp_print_cut): |
| (pp_open_tbox): |
| (pp_close_tbox): |
| (pp_print_tbreak): |
| (pp_print_tab): |
| (pp_set_tab): |
| (pp_print_list): |
| (flush): |
| (pp_print_text): |
| (pp_set_max_boxes): |
| (pp_get_max_boxes): |
| (pp_over_max_boxes): |
| (pp_get_ellipsis_text): |
| (pp_limit): |
| (pp_set_max_indent): |
| (pp_get_max_indent): |
| (pp_set_margin): |
| (pp_get_margin): |
| (pp_set_formatter_out_functions): |
| (pp_get_formatter_out_functions): |
| (pp_set_formatter_output_functions): |
| (pp_get_formatter_output_functions): |
| (pp_set_all_formatter_output_functions): |
| (pp_get_all_formatter_output_functions): |
| (display_newline): |
| (display_blanks): |
| (state.16): |
| (state.17): |
| (state.18): |
| (state.19): |
| (pp_set_formatter_out_channel): |
| (default_pp_mark_open_tag): |
| (default_pp_mark_close_tag): |
| (default_pp_print_open_tag): |
| (default_pp_print_close_tag): |
| (pp_make_formatter): |
| (ppf.18): |
| (ppf.19): |
| (make_formatter): |
| (formatter_of_out_channel): |
| (formatter_of_buffer): |
| (flush_str_formatter): |
| (flush_buf_formatter): |
| (open_hbox): |
| (open_vbox): |
| (open_hvbox): |
| (open_hovbox): |
| (open_box): |
| (close_box): |
| (open_tag): |
| (close_tag): |
| (print_as): |
| (print_string): |
| (print_int): |
| (print_float): |
| (print_bool): |
| (print_cut): |
| (print_space): |
| (force_newline): |
| (print_flush): |
| (print_newline): |
| (print_if_newline): |
| (open_tbox): |
| (close_tbox): |
| (print_tbreak): |
| (set_tab): |
| (print_tab): |
| (set_margin): |
| (get_margin): |
| (set_max_indent): |
| (get_max_indent): |
| (set_max_boxes): |
| (get_max_boxes): |
| (over_max_boxes): |
| (set_ellipsis_text): |
| (get_ellipsis_text): |
| (set_formatter_out_channel): |
| (set_formatter_out_functions): |
| (get_formatter_out_functions): |
| (set_formatter_output_functions): |
| (get_formatter_output_functions): |
| (set_all_formatter_output_functions): |
| (get_all_formatter_output_functions): |
| (set_formatter_tag_functions): |
| (get_formatter_tag_functions): |
| (set_print_tags): |
| (get_print_tags): |
| (set_mark_tags): |
| (get_mark_tags): |
| (set_tags): |
| (compute_tag): |
| (output_formatting_lit): |
| (kfprintf): |
| (ikfprintf): |
| (fprintf): |
| (ifprintf): |
| (printf): |
| (eprintf): |
| (k.prime): |
| (ksprintf): |
| (sprintf): |
| (asprintf.k.prime): |
| (asprintf): |
| (k): |
| (bprintf): |
| (succ): |
| (pred): |
| (abs): |
| (lognot): |
| (Make.cmp_u): |
| (Make.divrem_u): |
| (Make.div_s): |
| (Make.div_u): |
| (Make.rem_s): |
| (Make.rem_u): |
| (Make.shift): |
| (Make.shl): |
| (Make.shr_s): |
| (Make.shr_u): |
| (Make.clamp_rotate_count): |
| (Make.rotl): |
| (Make.rotr): |
| (Make.loop): |
| (Make.clz): |
| (Make.ctz): |
| (Make.popcnt): |
| (Make.eqz): |
| (Make.lt_u): |
| (Make.le_u): |
| (Make.gt_u): |
| (Make.ge_u): |
| (Make.of_int_u): |
| (Make.to_string_u): |
| (Make.require): |
| (Make.dec_digit): |
| (Make.hex_digit): |
| (Make.parse_int): |
| (Make.of_string_s): |
| (Make.of_string_u): |
| (convert_pos): |
| (error_nest): |
| (text): |
| (intop): |
| (floatop): |
| (numop): |
| (memsz): |
| (ext): |
| (token.else.switch): |
| (token.else.switch.): |
| (token): |
| (__ocaml_lex_comment_rec): |
| (engine): |
| (new_engine): |
| (from_function): |
| (from_channel): |
| (from_string): |
| (lexeme): |
| (sub_lexeme): |
| (sub_lexeme_opt): |
| (sub_lexeme_char): |
| (sub_lexeme_char_opt): |
| (lexeme_char): |
| (lexeme_start): |
| (lexeme_end): |
| (lexeme_start_p): |
| (lexeme_end_p): |
| (new_line): |
| (flush_input): |
| (take): |
| (drop): |
| (last): |
| (split_last): |
| (index_of): |
| (index_of_int32): |
| (dim): |
| (set 1): |
| (get 2): |
| (log2): |
| (is_power_of_two): |
| (loop): |
| (breakup): |
| (hd): |
| (tl): |
| (rev_append): |
| (rev): |
| (flatten): |
| (rev_map): |
| (map2): |
| (rev_map2): |
| (iter2): |
| (fold_left2): |
| (fold_right2): |
| (for_all): |
| (exists): |
| (for_all2): |
| (exists2): |
| (mem): |
| (memq): |
| (assoc): |
| (assq): |
| (mem_assoc): |
| (mem_assq): |
| (remove_assoc): |
| (remove_assq): |
| (find): |
| (find_all): |
| (partition): |
| (split): |
| (combine): |
| (chop): |
| (rev_sort): |
| (sort_uniq): |
| (Make.height): |
| (Make.create): |
| (Make.singleton): |
| (Make.bal): |
| (Make.is_empty): |
| (Make.find): |
| (Make.mem): |
| (Make.min_binding): |
| (Make.max_binding): |
| (Make.remove_min_binding): |
| (Make.remove): |
| (Make.iter): |
| (Make.map): |
| (Make.mapi): |
| (Make.fold): |
| (Make.for_all): |
| (Make.exists): |
| (Make.add_min_binding): |
| (Make.add_max_binding): |
| (Make.join): |
| (Make.concat): |
| (Make.concat_or_join): |
| (Make.split): |
| (Make.merge): |
| (Make.filter): |
| (Make.partition): |
| (Make.cons_enum): |
| (Make.compare): |
| (Make.equal): |
| (Make.cardinal): |
| (Make.bindings_aux): |
| (Make.bindings): |
| (double_field): |
| (set_double_field): |
| (marshal): |
| (unmarshal): |
| (extension_slot): |
| (extension_name): |
| (extension_id): |
| (i32_const): |
| (i64_const): |
| (f32_const): |
| (f64_const): |
| (block): |
| (br): |
| (br_if): |
| (br_table): |
| (if_): |
| (call): |
| (call_indirect): |
| (get_local): |
| (set_local): |
| (tee_local): |
| (get_global): |
| (set_global): |
| (i32_load): |
| (i64_load): |
| (f32_load): |
| (f64_load): |
| (i32_load8_s): |
| (i32_load8_u): |
| (i32_load16_s): |
| (i32_load16_u): |
| (i64_load8_s): |
| (i64_load8_u): |
| (i64_load16_s): |
| (i64_load16_u): |
| (i64_load32_s): |
| (i64_load32_u): |
| (i32_store): |
| (i64_store): |
| (f32_store): |
| (f64_store): |
| (i32_store8): |
| (i32_store16): |
| (i64_store8): |
| (i64_store16): |
| (i64_store32): |
| (parse): |
| (string_to): |
| (string_to_script): |
| (string_to_module): |
| (parse_error): |
| (position_to_pos): |
| (positions_to_region): |
| (ati): |
| (nat): |
| (nat32): |
| (empty_context): |
| (enter_func): |
| (type_): |
| (lookup): |
| (label): |
| (anon_type): |
| (bind): |
| (bind_func): |
| (bind_local): |
| (bind_global): |
| (bind_table): |
| (bind_memory): |
| (anon): |
| (anon_func): |
| (anon_locals): |
| (anon_global): |
| (anon_table): |
| (anon_memory): |
| (anon_label): |
| (explicit_sig): |
| (inline_type): |
| (yyact): |
| (script1): |
| (module1): |
| (grow_stacks): |
| (clear_parser): |
| (current_lookahead_fun): |
| (catch.else.current_lookahead_fun.0): |
| (yyparse): |
| (peek_val): |
| (symbol_start_pos): |
| (symbol_end_pos): |
| (rhs_start_pos): |
| (rhs_end_pos): |
| (symbol_start): |
| (symbol_end): |
| (rhs_start): |
| (rhs_end): |
| (is_current_lookahead): |
| (failwith): |
| (invalid_arg): |
| (min): |
| (max): |
| (lnot): |
| (char_of_int): |
| (string_of_bool): |
| (bool_of_string): |
| (string_of_int): |
| (valid_float_lexem): |
| (string_of_float): |
| (open_out_gen): |
| (open_out): |
| (open_out_bin): |
| (flush_all): |
| (output_bytes): |
| (output_string): |
| (output): |
| (output_substring): |
| (output_value): |
| (close_out): |
| (close_out_noerr): |
| (open_in_gen): |
| (open_in): |
| (open_in_bin): |
| (input): |
| (else.r): |
| (unsafe_really_input): |
| (really_input): |
| (really_input_string): |
| (input_line.build_result): |
| (input_line.n): |
| (input_line.scan): |
| (input_line): |
| (close_in_noerr): |
| (print_bytes): |
| (print_endline): |
| (prerr_char): |
| (prerr_string): |
| (prerr_bytes): |
| (prerr_int): |
| (prerr_float): |
| (prerr_endline): |
| (prerr_newline): |
| (read_line): |
| (read_int): |
| (read_float): |
| (string_of_format): |
| (at_exit.exit_function.0): |
| (at_exit): |
| (do_at_exit): |
| (exit): |
| (output_binary_int): |
| (seek_out): |
| (pos_out): |
| (out_channel_length): |
| (set_binary_mode_out): |
| (input_binary_int): |
| (input_value): |
| (seek_in): |
| (pos_in): |
| (in_channel_length): |
| (close_in): |
| (set_binary_mode_in): |
| (LargeFile_000): |
| (LargeFile_001): |
| (LargeFile_002): |
| (LargeFile_003): |
| (LargeFile_004): |
| (LargeFile_005): |
| (kbprintf): |
| (plus): |
| (pp): |
| (print): |
| (string_of_pos): |
| (string_of_region): |
| (escaped.needs_escape): |
| (set_signal): |
| (catch_break): |
| (size): |
| (string_of_value_type): |
| (string_of_value_types): |
| (string_of_elem_type): |
| (string_of_limits): |
| (string_of_table_type): |
| (string_of_global_type): |
| (string_of_stack_type): |
| (string_of_func_type): |
| (type_of): |
| (default_value): |
| (value_of_bool): |
| (string_of_values): |
| (to_value): |
| (of_value): |
| (g): |
| (binary): |
| (bytes): |
| * wasm/spec-tests/address.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/binary.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/block.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/br.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/br_if.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/br_table.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/break-drop.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/call.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/call_indirect.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/comments.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/conversions.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/custom_section.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/endianness.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/exports.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/f32.wast.js: Removed. |
| * wasm/spec-tests/f32_cmp.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/f64.wast.js: Removed. |
| * wasm/spec-tests/f64_cmp.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/fac.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/float_exprs.wast.js: Removed. |
| * wasm/spec-tests/float_literals.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/float_memory.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/float_misc.wast.js: Removed. |
| * wasm/spec-tests/forward.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/func.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/func_ptrs.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/get_local.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/globals.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/i32.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/i64.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/if.wast.js: Added. |
| * wasm/spec-tests/imports.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/int_exprs.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/int_literals.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/jsapi.js: Added. |
| (testJSAPI.get test): |
| (testJSAPI.test): |
| (testJSAPI.set test): |
| (testJSAPI.assertCompileError): |
| (testJSAPI.assertCompileSuccess): |
| (testJSAPI): |
| * wasm/spec-tests/labels.wast.js: Added. |
| * wasm/spec-tests/left-to-right.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/linking.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/loop.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/memory.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/memory_redundancy.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/memory_trap.wast.js: Removed. |
| * wasm/spec-tests/names.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/nop.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/resizing.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/return.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/select.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/set_local.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/skip-stack-guard-page.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/stack.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/start.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/store_retval.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/switch.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/tee_local.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/traps.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/typecheck.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/unreachable.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| * wasm/spec-tests/unreached-invalid.wast.js: Added. |
| * wasm/spec-tests/unwind.wast.js: |
| (register): Deleted. |
| (module): Deleted. |
| (instance): Deleted. |
| (assert_malformed): Deleted. |
| (assert_invalid): Deleted. |
| (assert_soft_invalid): Deleted. |
| (assert_unlinkable): Deleted. |
| (assert_uninstantiable): Deleted. |
| (assert_trap): Deleted. |
| (assert_return): Deleted. |
| (assert_return_nan): Deleted. |
| |
| 2017-04-01 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| Object with numerical keys with gaps gets filled by NaN values |
| https://bugs.webkit.org/show_bug.cgi?id=164412 |
| |
| Reviewed by Merk Lam. |
| |
| * stress/object-number-properties.js: Added. |
| (assert): |
| (boo): |
| |
| 2017-03-30 Michael Saboff <msaboff@apple.com> |
| |
| Turning ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js back as it appears to always work |
| https://bugs.webkit.org/show_bug.cgi?id=170313 |
| |
| Reviewed by Saam Barati. |
| |
| Enable ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js as it seems solid. |
| |
| * ChakraCore.yaml: |
| |
| 2017-03-30 Michael Saboff <msaboff@apple.com> |
| |
| Enable ChakraCore/Function/FuncBody.js test as it now works |
| https://bugs.webkit.org/show_bug.cgi?id=170301 |
| |
| Reviewed by Mark Lam. |
| |
| This test no longer crashes, so enable it and create a JSC specific |
| expected file. |
| |
| * ChakraCore.yaml: |
| * ChakraCore/test/Function/FuncBodyES5.baseline-jsc: Added. |
| |
| 2017-03-30 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: fix misc JS API implementation inconsistencies |
| https://bugs.webkit.org/show_bug.cgi?id=170187 |
| |
| Reviewed by Keith Miller. |
| |
| Verify that WebAssembly function are on the object's __proto__. |
| |
| * wasm/js-api/Module-compile.js: |
| * wasm/js-api/validate.js: |
| * wasm/js-api/web-assembly-instantiate.js: |
| |
| 2017-03-29 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: add shell-only Memory mode helper |
| https://bugs.webkit.org/show_bug.cgi?id=170227 |
| |
| Reviewed by Mark Lam. |
| |
| * wasm/assert.js: fix a prior debug thing I forgot to remove |
| * wasm/function-tests/memory-section-and-import.js: the assert |
| issue was hiding a failure in error message here |
| * wasm/js-api/element.js: the assert issue was hiding a failure in |
| error message here |
| (badInstantiation.test): |
| (badInstantiation): |
| * wasm/js-api/extension-MemoryMode.js: Added. |
| (const.validateMode.what.switch): |
| (testMemoryNoMax): |
| (testMemory): |
| (testInstanceNoMemory): |
| (testInstanceNoMax): |
| (testInstance): |
| * wasm/js-api/test_memory.js: the assert issue was hiding a |
| failure in error message here |
| (test): |
| |
| 2017-03-28 Keith Miller <keith_miller@apple.com> |
| |
| WebAssembly: Make WebAssembly.instantiate/compile truly asynchronous |
| https://bugs.webkit.org/show_bug.cgi?id=169187 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/assert.js: |
| * wasm/js-api/Module-compile.js: |
| (async.testPromiseAPI): |
| * wasm/js-api/web-assembly-compile-parallel.js: Added. |
| (async.throwExn): |
| (async.test): |
| * wasm/js-api/web-assembly-instantiate-parallel.js: Added. |
| (async.test): |
| * wasm/js-api/web-assembly-instantiate.js: |
| (assert.eq.async.test): |
| (assert.eq): |
| (assert.asyncTest.async.test): |
| (assert.asyncTest): |
| (assert.truthy.async.test): Deleted. |
| (assert.truthy): Deleted. |
| |
| 2017-03-28 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: implement Module imports/exports |
| https://bugs.webkit.org/show_bug.cgi?id=166982 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/js-api/Module.exports.js: Added. |
| (assert.throws.WebAssembly.Module.prototype.exports): |
| (assert.eq): |
| * wasm/js-api/Module.imports.js: Added. |
| (assert.throws.WebAssembly.Module.prototype.imports): |
| (assert.eq): |
| |
| 2017-03-27 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: misc memory testing |
| https://bugs.webkit.org/show_bug.cgi?id=170137 |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/assert.js: handle newlines in code we print out, avoid regex |
| * wasm/function-tests/memory-import-and-grow.js: Added. |
| (const.instantiate): |
| (const.test): |
| * wasm/function-tests/memory-section-and-import.js: Added. |
| (const.instantiate): |
| |
| 2017-03-23 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Use jsNontrivialString agressively for ToString(Int52) |
| https://bugs.webkit.org/show_bug.cgi?id=170002 |
| |
| Reviewed by Sam Weinig. |
| |
| * stress/to-string-int52.js: Added. |
| (shouldBe): |
| (toString10): |
| (expected): |
| |
| 2017-03-23 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC][DFG] Make addShouldSpeculateAnyInt more conservative to avoid regression caused by Double <-> Int52 conversions |
| https://bugs.webkit.org/show_bug.cgi?id=169998 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/int52-back-and-forth.js: Added. |
| (shouldBe): |
| (num): |
| |
| 2017-03-23 Mark Lam <mark.lam@apple.com> |
| |
| Clients of JSArray::tryCreateForInitializationPrivate() should do their own null checks. |
| https://bugs.webkit.org/show_bug.cgi?id=169783 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-169783.js: Added. |
| |
| 2017-03-22 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC][DFG] Propagate AnyIntAsDouble information carefully to utilize it in fixup |
| https://bugs.webkit.org/show_bug.cgi?id=169914 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/any-int-as-double-add.js: Added. |
| (shouldBe): |
| (test): |
| * stress/to-this-numbers.js: Added. |
| (shouldBe): |
| (Number.prototype.toThis): |
| |
| 2017-03-22 Mark Lam <mark.lam@apple.com> |
| |
| Add support for Error.stackTraceLimit. |
| https://bugs.webkit.org/show_bug.cgi?id=169904 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/error-stack-trace-limit.js: Added. |
| |
| 2017-03-22 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Use jsNontrivialString for Number toString operations |
| https://bugs.webkit.org/show_bug.cgi?id=169965 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/to-string-int32.js: Added. |
| (shouldBe): |
| (toString10): |
| (expected): |
| |
| 2017-03-22 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: test module namespace object for WebAssembly.Instance |
| https://bugs.webkit.org/show_bug.cgi?id=169951 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/js-api/test_basic_api.js: |
| (const.c.in.constructorProperties.switch): |
| |
| 2017-03-22 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: constructors without new don't throw |
| https://bugs.webkit.org/show_bug.cgi?id=165995 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/js-api/test_basic_api.js: |
| (const.c.in.constructorProperties.switch): |
| |
| 2017-03-21 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Optimize Number.prototype.toString on Int32 / Int52 / Double |
| https://bugs.webkit.org/show_bug.cgi?id=167454 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/number-to-string-abstract-operation.js: Added. |
| (shouldBe): |
| (int32ToString): |
| (shouldBe.int32ToString.new.Number.int52ToString): |
| (shouldBe.int32ToString.new.Number): |
| (shouldBe.doubleToString): |
| * stress/number-to-string-radix.js: Added. |
| (shouldBe): |
| (int32ToString): |
| (shouldBe.int32ToString.new.Number.int52ToString): |
| (shouldBe.int32ToString.new.Number): |
| (shouldBe.doubleToString): |
| * stress/number-to-string.js: Added. |
| (shouldBe): |
| (int32ToString): |
| (shouldBe.int32ToString.new.Number.int52ToString): |
| (shouldBe.int32ToString.new.Number): |
| (shouldBe.doubleToString): |
| |
| 2017-03-19 Chris Dumez <cdumez@apple.com> |
| |
| `const location = "foo"` throws in a worker |
| https://bugs.webkit.org/show_bug.cgi?id=169839 |
| |
| Reviewed by Mark Lam. |
| |
| * ChakraCore/test/es6/letconst_global_shadow_builtins_nonconfigurable.baseline-jsc: |
| Update expected jsc result now that we throw a SyntaxError when trying to shadow undefined |
| with a let variable. We used not to throw because the value is undefined but this was not |
| as per EcmaScript. Both Firefox and Chrome throw in this case. |
| |
| * stress/global-lexical-redeclare-variable.js: |
| (catch): |
| Update test that defines a non-configurable 'zoo' property on the global object and then |
| expected shadowing it with a 'let zoo' variable to work because its value was undefined. |
| This was not as per EcmaScript spec and both Firefox and Chrome throw in this case. |
| |
| 2017-03-19 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| import(arg) crashes when ToString(arg) throws |
| https://bugs.webkit.org/show_bug.cgi?id=169778 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/import-reject-with-exception.js: Added. |
| (shouldBe): |
| (let.x.get toString): |
| |
| 2017-03-16 Filip Pizlo <fpizlo@apple.com> |
| |
| FTL should support global and eval code |
| https://bugs.webkit.org/show_bug.cgi?id=169656 |
| |
| Reviewed by Geoffrey Garen and Saam Barati. |
| |
| Added basic performance tests of global and eval code. These tests will run a lot faster in with |
| the FTL because of the object allocation. |
| |
| * microbenchmarks/eval-code-ftl-reentry.js: Added. |
| * microbenchmarks/eval-code-ftl.js: Added. |
| * microbenchmarks/global-code-ftl.js: Added. |
| * stress/arith-log-on-various-types.js: This was a flaky fail with concurrent JIT, so I stopped running it with concurrent JIT. The failure was its assertion about how many times something gets compiled. |
| |
| 2017-03-16 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESnext] Implement Object Spread |
| https://bugs.webkit.org/show_bug.cgi?id=167963 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/object-spread.js: Added. |
| (let.assert): |
| (assert.sameValue): |
| (let.o.get a): |
| (let.obj.get c): |
| (cthulhu.get x): |
| (let.obj.set c): |
| (calls.o.get z): |
| (calls.o.get a): |
| (try.let.obj.get foo): |
| (get calls): |
| |
| 2017-03-15 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Default parameter part should be retrieved by op_get_argument opcode instead of changing arity |
| https://bugs.webkit.org/show_bug.cgi?id=164582 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/function-with-defaults-inlining.js: Added. |
| (shouldBe): |
| (ok): |
| (a): |
| * stress/function-with-defaults-non-inlining.js: Added. |
| (shouldBe): |
| (ok): |
| (a): |
| |
| 2017-03-15 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] ToString operation should have fixup for primitives to say this node does not have side effects |
| https://bugs.webkit.org/show_bug.cgi?id=169544 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/template-string-array.js: Added. |
| (test): |
| * stress/to-string-non-cell-use.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| |
| 2017-03-13 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r213856. |
| https://bugs.webkit.org/show_bug.cgi?id=169562 |
| |
| Breaks JSC stress test stress/super-property-access.js.ftl- |
| eager failing (Requested by mlam|g on #webkit). |
| |
| Reverted changeset: |
| |
| "FTL should not flush strict arguments unless it really needs |
| to" |
| https://bugs.webkit.org/show_bug.cgi?id=169519 |
| http://trac.webkit.org/changeset/213856 |
| |
| 2017-03-11 Filip Pizlo <fpizlo@apple.com> |
| |
| FTL should not flush strict arguments unless it really needs to |
| https://bugs.webkit.org/show_bug.cgi?id=169519 |
| |
| Reviewed by Mark Lam. |
| |
| This benchmark runs 3.5x faster thanks to this patch. |
| |
| * microbenchmarks/strict-arguments-no-escape.js: Added. |
| (foo): |
| (bar): |
| (baz): |
| |
| 2017-03-13 Caio Lima <ticaiolima@gmail.com> |
| |
| [JSC] It should be possible create a label named let when parsing Statement in non strict mode |
| https://bugs.webkit.org/show_bug.cgi?id=168684 |
| |
| Reviewed by Saam Barati. |
| |
| * ChakraCore/test/LetConst/DeclOutofBlock.baseline-jsc: |
| |
| 2017-03-10 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: Make more demos run |
| https://bugs.webkit.org/show_bug.cgi?id=165510 |
| <rdar://problem/29760310> |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/Builder.js: |
| (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section): |
| * wasm/js-api/wrapper-function.js: Added. |
| (exportImport): |
| (return.new.WebAssembly.Module): |
| (assert.throws.makeInstance): |
| (assert.throws.Bar): |
| (assert.throws): |
| |
| 2017-03-10 Mark Lam <mark.lam@apple.com> |
| |
| JSC: BindingNode::bindValue doesn't increase the scope's reference count. |
| https://bugs.webkit.org/show_bug.cgi?id=168546 |
| <rdar://problem/30589551> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-168546.js: Added. |
| |
| 2017-03-09 Caio Lima <ticaiolima@gmail.com> |
| |
| [ESnext] Implement Object Rest - Implementing Object Rest Destructuring |
| https://bugs.webkit.org/show_bug.cgi?id=167962 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/object-rest-deconstruct.js: Added. |
| (let.assert): |
| (let.assertPropDescriptor): |
| (catch): |
| (get 3): |
| (foo): |
| (let.src.get y): |
| (let.src.set y): |
| (let.gen): |
| |
| 2017-03-09 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: Make the Unity AngryBots demo run |
| https://bugs.webkit.org/show_bug.cgi?id=169268 |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/function-tests/many-arguments-to-function.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.I32Const.0.I32Const.1.I32Const.2.I32Const.3.I32Const.4.I32Const.5.I32Const.6.I32Const.7.I32Const.8.I32Const.9.I32Const.10.I32Const.11.I32Const.12.I32Const.13.I32Const.14.I32Const.15.I32Const.16.I32Const.17.Call.0.Return.End.End.foo): |
| (i.instance.exports.f0.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.F32Const.Call.Return.End.End.foo): |
| (i.instance.exports.f0): |
| (instance.exports.f0.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.GetLocal.Call.Return.End.End.foo): |
| (instance.exports.f0): |
| |
| 2017-03-08 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [GTK] JSC test stress/arity-check-ftl-throw.js.ftl-no-cjit-validate-sampling-profiler crashing on GTK bot |
| https://bugs.webkit.org/show_bug.cgi?id=160124 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/spread-forward-call-varargs-stack-overflow.js: |
| |
| 2017-03-06 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: Implement the WebAssembly.instantiate API |
| https://bugs.webkit.org/show_bug.cgi?id=165982 |
| <rdar://problem/29760110> |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/js-api/web-assembly-instantiate.js: Added. |
| (assert.eq.async.test): |
| (assert.eq): |
| (assert.truthy.async.test): |
| (assert.truthy): |
| |
| 2017-03-06 Saam Barati <sbarati@apple.com> |
| |
| Unreviewed. Fix test expected error message. |
| |
| * wasm/js-api/element.js: |
| (assert.throws): |
| |
| 2017-03-06 Caio Lima <ticaiolima@gmail.com> |
| |
| op_get_by_id_with_this should use inline caching |
| https://bugs.webkit.org/show_bug.cgi?id=162124 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/super-getter.js: Added. |
| (A.prototype.get f): |
| (A): |
| (B.prototype.get f): |
| (B): |
| * stress/super-force-ic-fail.js: Added. |
| (let.assert): |
| (let.aObj.get foo): |
| (let.obj.jaz): |
| (let.bObj.get foo): |
| (let.obj2.foo): |
| * stress/super-get-by-id.js: Added. |
| (assert): |
| (Base): |
| (Base.prototype.get name): |
| (Base.prototype.set name): |
| (Subclass.prototype.get name): |
| (Subclass): |
| (getterName): |
| (getterValue): |
| (PolymorphicSubclass.prototype.get value): |
| (PolymorphicSubclass): |
| (i.let.BaseCode): |
| (i.get value): |
| (MegamorphicSubclass.prototype.get value): |
| (MegamorphicSubclass): |
| (let.subObj.get value): |
| (i.catch): |
| (subObj.get value): |
| (BaseException): |
| (BaseException.prototype.get name): |
| (SubclassException.prototype.get name): |
| (SubclassException): |
| (prototype.foo): |
| (prototype.get name): |
| (SubclassExceptionComplex.prototype.get name): |
| (SubclassExceptionComplex): |
| * stress/super-getter-reset-ic.js: Added. |
| (let.assert): |
| (let.B.f): |
| |
| 2017-03-06 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: implement init_expr for Element |
| https://bugs.webkit.org/show_bug.cgi?id=165888 |
| <rdar://problem/29760199> |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/Builder_WebAssemblyBinary.js: |
| (const.emitters.Element): |
| * wasm/assert.js: |
| * wasm/js-api/element.js: |
| (assert.throws): |
| (badInstantiation.makeModule): |
| (badInstantiation.test): |
| (badInstantiation): |
| * wasm/js-api/global-error.js: |
| |
| 2017-03-06 Carlos Alberto Lopez Perez <clopez@igalia.com> |
| |
| [JSC] [Linux] Test stress/spread-forward-call-varargs-stack-overflow.js fails |
| https://bugs.webkit.org/show_bug.cgi?id=169206 |
| |
| Unreviewed test gardening. |
| |
| * stress/spread-forward-call-varargs-stack-overflow.js: Skip on Linux platforms. |
| |
| 2017-03-06 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Allow indexed module namespace object fields |
| https://bugs.webkit.org/show_bug.cgi?id=168870 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/spec-tests/names.wast.js: |
| |
| 2017-03-06 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Null pointer crash when loading module with unresolved import also as a script file |
| https://bugs.webkit.org/show_bug.cgi?id=168971 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/re-execute-error-module.js: Added. |
| (shouldBe): |
| (async): |
| * stress/resources/error-module.js: Added. |
| |
| 2017-03-02 Keith Miller <keith_miller@apple.com> |
| |
| WebAssemblyFunction should have Function.prototype as its prototype |
| https://bugs.webkit.org/show_bug.cgi?id=169101 |
| |
| Reviewed by Filip Pizlo. |
| |
| * wasm/js-api/web-assembly-function.js: Added. |
| |
| 2017-02-28 Oleksandr Skachkov <gskachkov@gmail.com> |
| |
| Use of arguments in arrow function is slow |
| https://bugs.webkit.org/show_bug.cgi?id=168829 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/arrowfunciton-direct-arguments.js: Added. |
| (fn): |
| * microbenchmarks/arrowfunciton-reference-arguments.js: Added. |
| (fn): |
| |
| 2017-02-27 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r213019. |
| https://bugs.webkit.org/show_bug.cgi?id=168925 |
| |
| "It broke 32-bit jsc tests in debug builds" (Requested by |
| saamyjoon on #webkit). |
| |
| Reverted changeset: |
| |
| "op_get_by_id_with_this should use inline caching" |
| https://bugs.webkit.org/show_bug.cgi?id=162124 |
| http://trac.webkit.org/changeset/213019 |
| |
| 2017-02-27 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: miscellaneous spec fixes part deux |
| https://bugs.webkit.org/show_bug.cgi?id=168861 |
| |
| Reviewed by Keith Miller. |
| |
| * wasm.yaml: more passing tests |
| * wasm/Builder.js: use a Map instead of an Object for the function |
| index space, because Number entries such as 0 were colliding with |
| string entries such as "0". This in turn requires some hashing of |
| objects which are inserted, because Map uses Object's insertion |
| order when comparing. |
| (export.default.Builder): |
| (export.default.Builder.prototype._functionIndexSpaceKeyHash): |
| (export.default.Builder.prototype._registerFunctionToIndexSpace): |
| (export.default.Builder.prototype._getFunctionFromIndexSpace): |
| * wasm/js-api/test_Instance.js: add a FIXME test |
| * wasm/spec-tests/memory.wast.js: |
| (assert_unlinkable): |
| * wasm/spec-tests/names.wast.js: |
| |
| 2017-02-26 Caio Lima <ticaiolima@gmail.com> |
| |
| op_get_by_id_with_this should use inline caching |
| https://bugs.webkit.org/show_bug.cgi?id=162124 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/super-getter.js: Added. |
| (A.prototype.get f): |
| (A): |
| (B.prototype.get f): |
| (B): |
| * stress/super-force-ic-fail.js: Added. |
| (let.assert): |
| (let.aObj.get foo): |
| (let.obj.jaz): |
| (let.bObj.get foo): |
| (let.obj2.foo): |
| * stress/super-get-by-id.js: Added. |
| (assert): |
| (Base): |
| (Base.prototype.get name): |
| (Base.prototype.set name): |
| (Subclass.prototype.get name): |
| (Subclass): |
| (getterName): |
| (getterValue): |
| (PolymorphicSubclass.prototype.get value): |
| (PolymorphicSubclass): |
| (i.let.BaseCode): |
| (i.get value): |
| (MegamorphicSubclass.prototype.get value): |
| (MegamorphicSubclass): |
| (let.subObj.get value): |
| (i.catch): |
| (subObj.get value): |
| (BaseException): |
| (BaseException.prototype.get name): |
| (SubclassException.prototype.get name): |
| (SubclassException): |
| (prototype.foo): |
| (prototype.get name): |
| (SubclassExceptionComplex.prototype.get name): |
| (SubclassExceptionComplex): |
| * stress/super-getter-reset-ic.js: Added. |
| (let.assert): |
| (let.B.f): |
| |
| 2017-02-24 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: miscellaneous spec fixes |
| https://bugs.webkit.org/show_bug.cgi?id=168822 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm.yaml: mark some skip tests as normal, now that they pass |
| * wasm/Builder.js: error message was wrong, causing extra error if hit |
| * wasm/js-api/global-error.js: new tests |
| (assert.throws): |
| * wasm/spec-tests/call.wast.js: comment out stack check tests |
| * wasm/spec-tests/call_indirect.wast.js: comment out stack check tests |
| * wasm/spec-tests/fac.wast.js: comment out stack check tests |
| * wasm/spec-tests/float_exprs.wast.js: wabt is wrong, bug reported, we should update |
| * wasm/spec-tests/imports.wast.js: bug in old wabt, fixed in recent wabt |
| (assert_unlinkable): |
| |
| 2017-02-23 Saam Barati <sbarati@apple.com> |
| |
| Intrinsicify parseInt |
| https://bugs.webkit.org/show_bug.cgi?id=168627 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/parse-int-intrinsic.js: Added. |
| (assert): |
| (testIntrinsic.let.s): |
| (testIntrinsic): |
| (testIntrinsic2.baz): |
| (testIntrinsic2): |
| (testIntrinsic3.foo): |
| (testIntrinsic3): |
| (testIntrinsic4.foo): |
| (testIntrinsic4): |
| (testIntrinsic5.foo): |
| (testIntrinsic5): |
| (testIntrinsic6.foo): |
| (testIntrinsic6): |
| (testIntrinsic7.foo): |
| (testIntrinsic7): |
| |
| 2017-02-23 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: support 0x1 version |
| https://bugs.webkit.org/show_bug.cgi?id=168672 |
| |
| Reviewed by Keith Miller. |
| |
| Update the version number for all the tests. Note that the spec |
| tests are only updated with a new version number because spec+wabt |
| aren't ready for 0x1 yet. This is tracked by bug #168784. |
| |
| * wasm/import-spec-tests.rb: use the new spec repository layout |
| * wasm/js-api/test_basic_api.js: |
| * wasm/self-test/test_BuilderWebAssembly.js: |
| (EmptyModule): |
| (CustomSection): |
| * wasm/spec-tests/address.wast.js: |
| * wasm/spec-tests/binary.wast.js: |
| * wasm/spec-tests/block.wast.js: |
| * wasm/spec-tests/br.wast.js: |
| * wasm/spec-tests/br_if.wast.js: |
| * wasm/spec-tests/br_table.wast.js: |
| * wasm/spec-tests/break-drop.wast.js: |
| * wasm/spec-tests/call.wast.js: |
| * wasm/spec-tests/call_indirect.wast.js: |
| * wasm/spec-tests/comments.wast.js: |
| * wasm/spec-tests/conversions.wast.js: |
| * wasm/spec-tests/custom_section.wast.js: |
| * wasm/spec-tests/endianness.wast.js: |
| * wasm/spec-tests/exports.wast.js: |
| * wasm/spec-tests/f32.wast.js: |
| * wasm/spec-tests/f32_cmp.wast.js: |
| * wasm/spec-tests/f64.wast.js: |
| * wasm/spec-tests/f64_cmp.wast.js: |
| * wasm/spec-tests/fac.wast.js: |
| * wasm/spec-tests/float_exprs.wast.js: |
| * wasm/spec-tests/float_literals.wast.js: |
| * wasm/spec-tests/float_memory.wast.js: |
| * wasm/spec-tests/float_misc.wast.js: |
| * wasm/spec-tests/forward.wast.js: |
| * wasm/spec-tests/func.wast.js: |
| * wasm/spec-tests/func_ptrs.wast.js: |
| * wasm/spec-tests/get_local.wast.js: |
| * wasm/spec-tests/globals.wast.js: |
| * wasm/spec-tests/i32.wast.js: |
| * wasm/spec-tests/i64.wast.js: |
| * wasm/spec-tests/imports.wast.js: |
| * wasm/spec-tests/int_exprs.wast.js: |
| * wasm/spec-tests/int_literals.wast.js: |
| * wasm/spec-tests/left-to-right.wast.js: |
| * wasm/spec-tests/linking.wast.js: |
| * wasm/spec-tests/loop.wast.js: |
| * wasm/spec-tests/memory.wast.js: |
| * wasm/spec-tests/memory_redundancy.wast.js: |
| * wasm/spec-tests/memory_trap.wast.js: |
| * wasm/spec-tests/names.wast.js: |
| * wasm/spec-tests/nop.wast.js: |
| * wasm/spec-tests/resizing.wast.js: |
| * wasm/spec-tests/return.wast.js: |
| * wasm/spec-tests/select.wast.js: |
| * wasm/spec-tests/set_local.wast.js: |
| * wasm/spec-tests/skip-stack-guard-page.wast.js: |
| * wasm/spec-tests/stack.wast.js: |
| * wasm/spec-tests/start.wast.js: |
| * wasm/spec-tests/store_retval.wast.js: |
| * wasm/spec-tests/switch.wast.js: |
| * wasm/spec-tests/tee_local.wast.js: |
| * wasm/spec-tests/traps.wast.js: |
| * wasm/spec-tests/typecheck.wast.js: |
| * wasm/spec-tests/unreachable.wast.js: |
| * wasm/spec-tests/unwind.wast.js: |
| * wasm/wasm.json: |
| |
| 2017-02-22 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| JSModuleNamespace object should have IC |
| https://bugs.webkit.org/show_bug.cgi?id=160590 |
| |
| Reviewed by Saam Barati. |
| |
| * modules/module-assert-access-binding.js: Added. |
| * modules/module-assert-access-namespace.js: Added. |
| * modules/namespace-empty.js: Added. |
| (from.string_appeared_here.access): |
| (i.shouldThrow): |
| * stress/module-namespace-access-change.js: Added. |
| (shouldBe): |
| (access): |
| (import.string_appeared_here.then): |
| * stress/module-namespace-access-non-constant.js: Added. |
| (shouldBe): |
| (import.string_appeared_here.then): |
| * stress/module-namespace-access-poly.js: Added. |
| (shouldBe): |
| (access): |
| (import.string_appeared_here.then): |
| * stress/module-namespace-access-transitive-exports.js: Added. |
| (shouldBe): |
| (import.string_appeared_here.then): |
| * stress/module-namespace-access.js: Added. |
| (shouldBe): |
| (import.string_appeared_here.then): |
| * stress/resources/module-namespace-access-transitive-exports-2.js: Added. |
| (export.cocoa): |
| (export.change): |
| * stress/resources/module-namespace-access-transitive-exports.js: Added. |
| * stress/resources/module-namespace-access.js: Added. |
| (export.cocoa): |
| (export.change): |
| |
| 2017-02-20 Filip Pizlo <fpizlo@apple.com> |
| |
| The collector thread should only start when the mutator doesn't have heap access |
| https://bugs.webkit.org/show_bug.cgi?id=167737 |
| |
| Reviewed by Keith Miller. |
| |
| Add versions of splay that flash heap access, to simulate what might happen if a third-party app |
| was running concurrent GC. In this case, we might actually start the collector thread. |
| |
| * stress/splay-flash-access-1ms.js: Added. |
| (performance.now): |
| (this.Setup.setup.setup): |
| (this.TearDown.tearDown.tearDown): |
| (Benchmark): |
| (BenchmarkResult): |
| (BenchmarkResult.prototype.valueOf): |
| (BenchmarkSuite): |
| (alert): |
| (Math.random): |
| (BenchmarkSuite.ResetRNG): |
| (RunStep): |
| (BenchmarkSuite.RunSuites): |
| (BenchmarkSuite.CountBenchmarks): |
| (BenchmarkSuite.GeometricMean): |
| (BenchmarkSuite.GeometricMeanTime): |
| (BenchmarkSuite.AverageAbovePercentile): |
| (BenchmarkSuite.GeometricMeanLatency): |
| (BenchmarkSuite.FormatScore): |
| (BenchmarkSuite.prototype.NotifyStep): |
| (BenchmarkSuite.prototype.NotifyResult): |
| (BenchmarkSuite.prototype.NotifyError): |
| (BenchmarkSuite.prototype.RunSingleBenchmark): |
| (RunNextSetup): |
| (RunNextBenchmark): |
| (RunNextTearDown): |
| (BenchmarkSuite.prototype.RunStep): |
| (GeneratePayloadTree): |
| (GenerateKey): |
| (SplayUpdateStats): |
| (InsertNewNode): |
| (SplaySetup): |
| (SplayTearDown): |
| (SplayRun): |
| (SplayTree): |
| (SplayTree.prototype.isEmpty): |
| (SplayTree.prototype.insert): |
| (SplayTree.prototype.remove): |
| (SplayTree.prototype.find): |
| (SplayTree.prototype.findMax): |
| (SplayTree.prototype.findGreatestLessThan): |
| (SplayTree.prototype.exportKeys): |
| (SplayTree.prototype.splay_): |
| (SplayTree.Node): |
| (SplayTree.Node.prototype.traverse_): |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| (averageAbovePercentile): |
| (printPercentile): |
| * stress/splay-flash-access.js: Added. |
| (performance.now): |
| (this.Setup.setup.setup): |
| (this.TearDown.tearDown.tearDown): |
| (Benchmark): |
| (BenchmarkResult): |
| (BenchmarkResult.prototype.valueOf): |
| (BenchmarkSuite): |
| (alert): |
| (Math.random): |
| (BenchmarkSuite.ResetRNG): |
| (RunStep): |
| (BenchmarkSuite.RunSuites): |
| (BenchmarkSuite.CountBenchmarks): |
| (BenchmarkSuite.GeometricMean): |
| (BenchmarkSuite.GeometricMeanTime): |
| (BenchmarkSuite.AverageAbovePercentile): |
| (BenchmarkSuite.GeometricMeanLatency): |
| (BenchmarkSuite.FormatScore): |
| (BenchmarkSuite.prototype.NotifyStep): |
| (BenchmarkSuite.prototype.NotifyResult): |
| (BenchmarkSuite.prototype.NotifyError): |
| (BenchmarkSuite.prototype.RunSingleBenchmark): |
| (RunNextSetup): |
| (RunNextBenchmark): |
| (RunNextTearDown): |
| (BenchmarkSuite.prototype.RunStep): |
| (GeneratePayloadTree): |
| (GenerateKey): |
| (SplayUpdateStats): |
| (InsertNewNode): |
| (SplaySetup): |
| (SplayTearDown): |
| (SplayRun): |
| (SplayTree): |
| (SplayTree.prototype.isEmpty): |
| (SplayTree.prototype.insert): |
| (SplayTree.prototype.remove): |
| (SplayTree.prototype.find): |
| (SplayTree.prototype.findMax): |
| (SplayTree.prototype.findGreatestLessThan): |
| (SplayTree.prototype.exportKeys): |
| (SplayTree.prototype.splay_): |
| (SplayTree.Node): |
| (SplayTree.Node.prototype.traverse_): |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| (averageAbovePercentile): |
| (printPercentile): |
| |
| 2017-02-21 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r212712. |
| |
| This change broke the CLoop build. |
| |
| Reverted changeset: |
| |
| "JSModuleNamespace object should have IC" |
| https://bugs.webkit.org/show_bug.cgi?id=160590 |
| http://trac.webkit.org/changeset/212712 |
| |
| 2017-02-21 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| JSModuleNamespace object should have IC |
| https://bugs.webkit.org/show_bug.cgi?id=160590 |
| |
| Reviewed by Saam Barati. |
| |
| * modules/module-assert-access-binding.js: Added. |
| * modules/module-assert-access-namespace.js: Added. |
| * modules/namespace-empty.js: Added. |
| (from.string_appeared_here.access): |
| (i.shouldThrow): |
| * stress/module-namespace-access-change.js: Added. |
| (shouldBe): |
| (access): |
| (import.string_appeared_here.then): |
| * stress/module-namespace-access-non-constant.js: Added. |
| (shouldBe): |
| (import.string_appeared_here.then): |
| * stress/module-namespace-access-poly.js: Added. |
| (shouldBe): |
| (access): |
| (import.string_appeared_here.then): |
| * stress/module-namespace-access-transitive-exports.js: Added. |
| (shouldBe): |
| (import.string_appeared_here.then): |
| * stress/module-namespace-access.js: Added. |
| (shouldBe): |
| (import.string_appeared_here.then): |
| * stress/resources/module-namespace-access-transitive-exports-2.js: Added. |
| (export.cocoa): |
| (export.change): |
| * stress/resources/module-namespace-access-transitive-exports.js: Added. |
| * stress/resources/module-namespace-access.js: Added. |
| (export.cocoa): |
| (export.change): |
| |
| 2017-02-21 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| ASSERTION FAILED: "!scope.exception()" with Object.isSealed/isFrozen and uninitialized module bindings |
| https://bugs.webkit.org/show_bug.cgi?id=168605 |
| |
| Reviewed by Saam Barati. |
| |
| * modules/module-namespace-is-frozen.js: Added. |
| (from.string_appeared_here.shouldThrow): |
| (export.b): |
| * modules/module-namespace-is-sealed.js: Added. |
| (from.string_appeared_here.shouldThrow): |
| (export.b): |
| |
| 2017-02-19 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r212466. |
| https://bugs.webkit.org/show_bug.cgi?id=168577 |
| |
| causes crashes on AArch64 on linux, maybe it's causing crashes |
| on iOS too (Requested by pizlo on #webkit). |
| |
| Reverted changeset: |
| |
| "The collector thread should only start when the mutator |
| doesn't have heap access" |
| https://bugs.webkit.org/show_bug.cgi?id=167737 |
| http://trac.webkit.org/changeset/212466 |
| |
| 2017-02-10 Filip Pizlo <fpizlo@apple.com> |
| |
| The collector thread should only start when the mutator doesn't have heap access |
| https://bugs.webkit.org/show_bug.cgi?id=167737 |
| |
| Reviewed by Keith Miller. |
| |
| Add versions of splay that flash heap access, to simulate what might happen if a third-party app |
| was running concurrent GC. In this case, we might actually start the collector thread. |
| |
| * stress/splay-flash-access-1ms.js: Added. |
| (performance.now): |
| (this.Setup.setup.setup): |
| (this.TearDown.tearDown.tearDown): |
| (Benchmark): |
| (BenchmarkResult): |
| (BenchmarkResult.prototype.valueOf): |
| (BenchmarkSuite): |
| (alert): |
| (Math.random): |
| (BenchmarkSuite.ResetRNG): |
| (RunStep): |
| (BenchmarkSuite.RunSuites): |
| (BenchmarkSuite.CountBenchmarks): |
| (BenchmarkSuite.GeometricMean): |
| (BenchmarkSuite.GeometricMeanTime): |
| (BenchmarkSuite.AverageAbovePercentile): |
| (BenchmarkSuite.GeometricMeanLatency): |
| (BenchmarkSuite.FormatScore): |
| (BenchmarkSuite.prototype.NotifyStep): |
| (BenchmarkSuite.prototype.NotifyResult): |
| (BenchmarkSuite.prototype.NotifyError): |
| (BenchmarkSuite.prototype.RunSingleBenchmark): |
| (RunNextSetup): |
| (RunNextBenchmark): |
| (RunNextTearDown): |
| (BenchmarkSuite.prototype.RunStep): |
| (GeneratePayloadTree): |
| (GenerateKey): |
| (SplayUpdateStats): |
| (InsertNewNode): |
| (SplaySetup): |
| (SplayTearDown): |
| (SplayRun): |
| (SplayTree): |
| (SplayTree.prototype.isEmpty): |
| (SplayTree.prototype.insert): |
| (SplayTree.prototype.remove): |
| (SplayTree.prototype.find): |
| (SplayTree.prototype.findMax): |
| (SplayTree.prototype.findGreatestLessThan): |
| (SplayTree.prototype.exportKeys): |
| (SplayTree.prototype.splay_): |
| (SplayTree.Node): |
| (SplayTree.Node.prototype.traverse_): |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| (averageAbovePercentile): |
| (printPercentile): |
| * stress/splay-flash-access.js: Added. |
| (performance.now): |
| (this.Setup.setup.setup): |
| (this.TearDown.tearDown.tearDown): |
| (Benchmark): |
| (BenchmarkResult): |
| (BenchmarkResult.prototype.valueOf): |
| (BenchmarkSuite): |
| (alert): |
| (Math.random): |
| (BenchmarkSuite.ResetRNG): |
| (RunStep): |
| (BenchmarkSuite.RunSuites): |
| (BenchmarkSuite.CountBenchmarks): |
| (BenchmarkSuite.GeometricMean): |
| (BenchmarkSuite.GeometricMeanTime): |
| (BenchmarkSuite.AverageAbovePercentile): |
| (BenchmarkSuite.GeometricMeanLatency): |
| (BenchmarkSuite.FormatScore): |
| (BenchmarkSuite.prototype.NotifyStep): |
| (BenchmarkSuite.prototype.NotifyResult): |
| (BenchmarkSuite.prototype.NotifyError): |
| (BenchmarkSuite.prototype.RunSingleBenchmark): |
| (RunNextSetup): |
| (RunNextBenchmark): |
| (RunNextTearDown): |
| (BenchmarkSuite.prototype.RunStep): |
| (GeneratePayloadTree): |
| (GenerateKey): |
| (SplayUpdateStats): |
| (InsertNewNode): |
| (SplaySetup): |
| (SplayTearDown): |
| (SplayRun): |
| (SplayTree): |
| (SplayTree.prototype.isEmpty): |
| (SplayTree.prototype.insert): |
| (SplayTree.prototype.remove): |
| (SplayTree.prototype.find): |
| (SplayTree.prototype.findMax): |
| (SplayTree.prototype.findGreatestLessThan): |
| (SplayTree.prototype.exportKeys): |
| (SplayTree.prototype.splay_): |
| (SplayTree.Node): |
| (SplayTree.Node.prototype.traverse_): |
| (jscSetUp): |
| (jscTearDown): |
| (jscRun): |
| (averageAbovePercentile): |
| (printPercentile): |
| |
| 2017-02-16 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Update module namespace object according to the latest ECMA262 |
| https://bugs.webkit.org/show_bug.cgi?id=168280 |
| |
| Reviewed by Saam Barati. |
| |
| * modules/namespace-object-symbol-iterator-name.js: |
| * modules/namespace-object-typed-array-fast-path.js: |
| * modules/namespace.js: |
| (shouldBe.JSON.stringify.Reflect.getOwnPropertyDescriptor): |
| (shouldThrow): |
| |
| 2017-02-11 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Implement (Shared)ArrayBuffer.prototype.byteLength |
| https://bugs.webkit.org/show_bug.cgi?id=166476 |
| |
| Reviewed by Saam Barati. |
| |
| * ChakraCore/test/typedarray/arraybufferType.baseline-jsc: |
| * stress/array-buffer-byte-length.js: Added. |
| (shouldBe): |
| (shouldThrow): |
| (Symbol): |
| * stress/reflect-set.js: |
| |
| 2017-02-10 Saam Barati <sbarati@apple.com> |
| |
| Object allocation sinking phase doesn't properly handle control flow when emitting a PutHint of a materialized object into a PromotedHeapLocation of a still sunken object |
| https://bugs.webkit.org/show_bug.cgi?id=168140 |
| <rdar://problem/30205880> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/allocation-sinking-puthint-control-flow.js: Added. |
| (e): |
| (bar): |
| (let.y): |
| (else.let.y): |
| (baz): |
| (foo): |
| (catch): |
| |
| 2017-02-09 Mark Lam <mark.lam@apple.com> |
| |
| B3::Procedure::deleteOrphans() should neutralize upsilons with dead phis. |
| https://bugs.webkit.org/show_bug.cgi?id=167437 |
| <rdar://problem/30198083> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/b3-delete-orphans-should-neutralize-upsilons-with-dead-phis.js: Added. |
| |
| 2017-02-09 Saam Barati <sbarati@apple.com> |
| |
| Sloppy mode: We don't properly hoist functions names "arguments" when we have a non-simple parameter list |
| https://bugs.webkit.org/show_bug.cgi?id=167319 |
| <rdar://problem/30149432> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/sloppy-mode-hoist-arguments-function-non-simple-parameter-list.js: Added. |
| (assert): |
| (assert.arguments): |
| (assert.b): |
| (x.arguments): |
| (x.b): |
| (x): |
| |
| 2017-02-09 Mark Lam <mark.lam@apple.com> |
| |
| Fix max length check in ArrayPrototype.js' concatSlowPath(). |
| https://bugs.webkit.org/show_bug.cgi?id=167270 |
| <rdar://problem/30128133> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/array-prototype-concat-of-long-spliced-arrays.js: Added. |
| * stress/array-prototype-concat-of-long-spliced-arrays2.js: Added. |
| |
| 2017-02-09 Keith Miller <keith_miller@apple.com> |
| |
| We should not allow Function.caller to be used on native functions |
| https://bugs.webkit.org/show_bug.cgi?id=165628 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/caller-native-code.js: Added. |
| (f): |
| |
| 2017-02-04 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Add operationToInt32SensibleSlow to optimize kraken pbkdf2 and sha256 |
| https://bugs.webkit.org/show_bug.cgi?id=167736 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/to-int32-sensible.js: Added. |
| (shouldBe): |
| (toInt32): |
| (test): |
| |
| 2017-02-01 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, remove loop |
| https://bugs.webkit.org/show_bug.cgi?id=167694 |
| |
| It causes timeout. |
| Original bug can be tested even without this loop. |
| |
| * stress/arity-fixup-should-not-touch-stack-area-below-sp.js: |
| |
| 2017-02-01 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| ArityFixup should adjust SP first |
| https://bugs.webkit.org/show_bug.cgi?id=167239 |
| |
| Reviewed by Michael Saboff. |
| |
| Significantly large arity fixup reliably causes this crash. |
| |
| * stress/arity-fixup-should-not-touch-stack-area-below-sp.js: Added. |
| |
| 2017-01-31 Filip Pizlo <fpizlo@apple.com> |
| |
| Move slow-running microbenchmarks out of JSTests/microbenchmarks |
| https://bugs.webkit.org/show_bug.cgi?id=167676 |
| |
| Reviewed by Saam Barati. |
| |
| The microbenchmarks directory is profitable when it's cheap to run. This change moves very slow |
| tests (>=200ms running time on my machine) and puts them in JSTests/slowMicrobenchmarks instead. |
| That directory is run only through `slow!; defaultQuickRun` and is not run by run-jsc-benchmarks. |
| This is a big progression in test running time. But because it frontloads more slow tests, the |
| tests will seem to run more slowly when you first start the test runner. |
| |
| * microbenchmarks/default-derived-constructor.js: Removed. |
| * microbenchmarks/dense-set.js: Removed. |
| * microbenchmarks/ftl-polymorphic-div.js: Removed. |
| * microbenchmarks/ftl-polymorphic-mul.js: Removed. |
| * microbenchmarks/function-bind-inlining.js: Removed. |
| * microbenchmarks/function-bind-no-inlining.js: Removed. |
| * microbenchmarks/large-map-iteration-with-additions.js: Removed. |
| * microbenchmarks/large-map-iteration-with-mutation.js: Removed. |
| * microbenchmarks/map-get-get-cse.js: Removed. |
| * microbenchmarks/misc-bugs-847389-jpeg2000.js: Removed. |
| * microbenchmarks/spread-small-array.js: Removed. |
| * microbenchmarks/v8-raytrace-with-try-catch-high-frequency-throws.js: Removed. |
| * slowMicrobenchmarks: Added. |
| * slowMicrobenchmarks.yaml: Added. |
| * slowMicrobenchmarks/README: Added. |
| * slowMicrobenchmarks/default-derived-constructor.js: Copied from JSTests/microbenchmarks/default-derived-constructor.js. |
| * slowMicrobenchmarks/dense-set.js: Copied from JSTests/microbenchmarks/dense-set.js. |
| * slowMicrobenchmarks/ftl-polymorphic-div.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-div.js. |
| * slowMicrobenchmarks/ftl-polymorphic-mul.js: Copied from JSTests/microbenchmarks/ftl-polymorphic-mul.js. |
| * slowMicrobenchmarks/function-bind-inlining.js: Copied from JSTests/microbenchmarks/function-bind-inlining.js. |
| * slowMicrobenchmarks/function-bind-no-inlining.js: Copied from JSTests/microbenchmarks/function-bind-no-inlining.js. |
| * slowMicrobenchmarks/large-map-iteration-with-additions.js: Copied from JSTests/microbenchmarks/large-map-iteration-with-additions.js. |
| * slowMicrobenchmarks/large-map-iteration-with-mutation.js: Copied from JSTests/microbenchmarks/large-map-iteration-with-mutation.js. |
| * slowMicrobenchmarks/map-get-get-cse.js: Copied from JSTests/microbenchmarks/map-get-get-cse.js. |
| * slowMicrobenchmarks/misc-bugs-847389-jpeg2000.js: Copied from JSTests/microbenchmarks/misc-bugs-847389-jpeg2000.js. |
| * slowMicrobenchmarks/spread-small-array.js: Copied from JSTests/microbenchmarks/spread-small-array.js. |
| * slowMicrobenchmarks/v8-raytrace-with-try-catch-high-frequency-throws.js: Copied from JSTests/microbenchmarks/v8-raytrace-with-try-catch-high-frequency-throws.js. |
| |
| 2017-01-30 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Do not reject WebAssembly.compile() with Exception |
| https://bugs.webkit.org/show_bug.cgi?id=167585 |
| |
| Reviewed by Mark Lam. |
| |
| * wasm/js-api/Module-compile.js: |
| (async.testPromiseAPI): |
| |
| 2017-01-27 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Lift template escape sequence restrictions in tagged templates |
| https://bugs.webkit.org/show_bug.cgi?id=166871 |
| |
| Reviewed by Saam Barati. |
| |
| Update the error messages and add new tests. |
| |
| * ChakraCore/test/es6/unicode_6_identifier_Blue524737.baseline-jsc: |
| * stress/lift-template-literal.js: Added. |
| (dump): |
| (testTag.return.tag): |
| (testTag): |
| * stress/template-literal-syntax.js: |
| |
| 2017-01-26 Mark Lam <mark.lam@apple.com> |
| |
| Fix missing exception check in genericTypedArrayViewProtoFuncSet(). |
| https://bugs.webkit.org/show_bug.cgi?id=166812 |
| <rdar://problem/29916672> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/regress-166812.js: Added. |
| |
| 2017-01-26 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r211224. |
| https://bugs.webkit.org/show_bug.cgi?id=167479 |
| |
| "It was a Kraken performance regression" (Requested by |
| saamyjoon on #webkit). |
| |
| Reverted changeset: |
| |
| "OSR entry: delay outer-loop compilation when at inner-loop" |
| https://bugs.webkit.org/show_bug.cgi?id=167149 |
| http://trac.webkit.org/changeset/211224 |
| |
| 2017-01-26 JF Bastien <jfbastien@apple.com> |
| |
| OSR entry: delay outer-loop compilation when at inner-loop |
| https://bugs.webkit.org/show_bug.cgi?id=167149 |
| |
| Reviewed by Filip Pizlo. |
| |
| Try to be mean to OSR entry by using nested loops, and having |
| non-int32 types or truly varying types. |
| |
| Mandelbrot currently never tiers up to FTL because it exits too |
| many times before this. That shouldn't happen because it's just |
| numbers and int32s. I'll file a bug to fix this. |
| |
| * microbenchmarks/mandelbrot.js: Added. |
| (mandelbrot): |
| (printable): |
| * microbenchmarks/nonude.js: Added. |
| (Array.prototype.remove): |
| (const.u): |
| (const.load): |
| (const.scan): |
| (const.main): |
| |
| 2017-01-25 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly JS API: coerce return values from imports |
| https://bugs.webkit.org/show_bug.cgi?id=165480 |
| <rdar://problem/29760318> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wasm/function-tests/function-import-return-value.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.const.tests.x.assert.eq): |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.const.tests.Math.fround): |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.let.type.of.Reflect.ownKeys): |
| (test.1): |
| (assert.truthy): |
| (assert.throws): |
| |
| 2017-01-25 Filip Pizlo <fpizlo@apple.com> |
| |
| jsc.cpp should have the $.agent stuff for testing SAB |
| https://bugs.webkit.org/show_bug.cgi?id=167431 |
| |
| Reviewed by Saam Barati. |
| |
| Add a very basic test of Atomics using $.agent. This is based on |
| LayoutTests/workers/sab/simple.html. |
| |
| * stress/lars-sab-workers.js: Added. |
| (startWorker): |
| (resources): |
| (wake): |
| (else): |
| |
| 2017-01-24 Filip Pizlo <fpizlo@apple.com> |
| |
| Atomics.store should return the int-converted value according to toInteger |
| https://bugs.webkit.org/show_bug.cgi?id=167399 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/atomics-add-uint32.js: Added. |
| * stress/atomics-store-return.js: Fix the test to match what the spec wants. |
| |
| 2017-01-24 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Optimize Number#toString with Int52 |
| https://bugs.webkit.org/show_bug.cgi?id=167303 |
| |
| Reviewed by Sam Weinig. |
| |
| * stress/to-string-with-int52.js: Added. |
| (shouldBe): |
| |
| 2017-01-24 Filip Pizlo <fpizlo@apple.com> |
| |
| Atomics.store should return the int-converted value, not the value that it stored |
| https://bugs.webkit.org/show_bug.cgi?id=167395 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/atomics-store-return.js: Added. |
| |
| 2017-01-24 Filip Pizlo <fpizlo@apple.com> |
| |
| -0 is a valid array index and AtomicsObject should know this |
| https://bugs.webkit.org/show_bug.cgi?id=167386 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/atomics-neg-zero.js: Added. |
| |
| 2017-01-23 Saam Barati <sbarati@apple.com> |
| |
| https://bugs.webkit.org/show_bug.cgi?id=167247 |
| JSC: operationSpreadGeneric uses the wrong global object for the builtin function and slow_path_spread consults the wrong global object to prove if the iterator protocol is unobservable |
| <rdar://problem/30121809> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/spread-consults-correct-global-object.js: Added. |
| (assert): |
| (spread): |
| * stress/spread-correct-global-object-on-exception.js: Added. |
| (assert): |
| (spread): |
| (const.objectText.let.o.Symbol.iterator): |
| (catch): |
| |
| 2017-01-21 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| dynamic import is ambiguous with import declaration at module code |
| https://bugs.webkit.org/show_bug.cgi?id=167098 |
| |
| Reviewed by Darin Adler. |
| |
| * modules/import-call.js: Added. |
| (from.string_appeared_here.import.string_appeared_here.then): |
| * modules/import-call/main.js: Added. |
| * stress/import-syntax.js: |
| (async): |
| |
| 2017-01-19 Skachkov Oleksandr <gskachkov@gmail.com> |
| |
| "this" missing after await in async arrow function |
| https://bugs.webkit.org/show_bug.cgi?id=166919 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/async-arrow-functions-lexical-binding-in-class.js: |
| (ChildClass.prototype.asyncThisPropWithAwaitBody): |
| (ChildClass.prototype.asyncThisPropInEvalWithAwaitBody): |
| (ChildClass.prototype.asyncThisValueBodyWithAwait): |
| (ChildClass.prototype.asyncThisValueInEvalWithAwaitBody): |
| (ChildClass): |
| (ChildClass3): |
| (ChildClass3.prototype.classValue): |
| (ChildClass3.prototype.get classProperty): |
| * stress/async-arrow-functions-lexical-new.target-binding.js: |
| (C2WithAwait): |
| |
| 2017-01-16 Filip Pizlo <fpizlo@apple.com> |
| |
| Make opaque root scanning truly constraint-based |
| https://bugs.webkit.org/show_bug.cgi?id=165760 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Added this test, which demonstrates the benefit of having a dedicated string subspace. |
| |
| * microbenchmarks/stringalloc.js: Added. |
| |
| 2017-01-17 Michael Saboff <msaboff@apple.com> |
| |
| Nested parenthesized regular expressions with non-zero minimum counts appear to hang and use lots of memory |
| https://bugs.webkit.org/show_bug.cgi?id=167125 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/regexp-nested-nonzero-min-counted-parens.js: Added. |
| New test with limits that run slow and take a reasonable amount of memory |
| before the change and run fast, using little memory with the change. |
| |
| 2017-01-14 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Annotate large string tests with largeHeap |
| https://bugs.webkit.org/show_bug.cgi?id=167054 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/dense-set.js: |
| * microbenchmarks/lots-of-fields.js: |
| * stress/joined-strings-should-not-exceed-max-string-length.js: |
| * stress/make-large-string-jit-strcat.js: |
| * stress/make-large-string-jit.js: |
| * stress/make-large-string-strcat.js: |
| * stress/make-large-string.js: |
| * stress/string-joining-long-strings-should-not-crash.js: |
| * stress/string-prototype-replace-should-throw-out-of-memory-error-when-using-too-much-memory.js: |
| |
| 2017-01-14 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Reserve capacity for StringBuilder in unescape |
| https://bugs.webkit.org/show_bug.cgi?id=167008 |
| |
| Reviewed by Sam Weinig. |
| |
| * stress/unescape.js: Added. |
| (shouldBe): |
| |
| 2017-01-12 Saam Barati <sbarati@apple.com> |
| |
| Add a slice intrinsic to the DFG/FTL |
| https://bugs.webkit.org/show_bug.cgi?id=166707 |
| <rdar://problem/29913445> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/array-slice-intrinsic.js: Added. |
| (assert): |
| (shallowEq): |
| (runTest1): |
| (runTest2): |
| * stress/array-slice-jettison-on-constructor-change.js: Added. |
| (assert): |
| (runTest1): |
| (runTest2): |
| (addRandomProperties): |
| (runTests): |
| * stress/array-slice-osr-exit-2.js: Added. |
| (assert): |
| (Foo): |
| (shallowEq): |
| (runTest1): |
| (runTest2): |
| (addRandomProperties): |
| (runTests): |
| * stress/array-slice-osr-exit.js: Added. |
| (assert): |
| (Foo): |
| (shallowEq): |
| (runTest1): |
| (runTest2): |
| (addRandomProperties): |
| (runTests): |
| |
| 2017-01-11 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Mark es6/typed_arrays_correct_prototype_chains.js as failing after r210570. |
| https://bugs.webkit.org/show_bug.cgi?id=166931i |
| |
| Unreviewed test gardening. |
| |
| * es6.yaml: |
| |
| 2017-01-10 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r210052. |
| https://bugs.webkit.org/show_bug.cgi?id=166915 |
| |
| "breaks web compatability" (Requested by keith_miller on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Add support for global" |
| https://bugs.webkit.org/show_bug.cgi?id=165171 |
| http://trac.webkit.org/changeset/210052 |
| |
| 2017-01-10 Mark Lam <mark.lam@apple.com> |
| |
| Property setters should not be called for bound arguments list entries. |
| https://bugs.webkit.org/show_bug.cgi?id=165631 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/property-setters-should-not-be-called-for-bound-arguments-list-entries.js: Added. |
| |
| 2017-01-10 Skachkov Oleksandr <gskachkov@gmail.com> |
| |
| Calling async arrow function which is in a class's member function will cause error |
| https://bugs.webkit.org/show_bug.cgi?id=166879 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/async-arrow-functions-lexical-binding-in-class.js: Added. |
| (shouldBe): |
| (shouldBeAsync): |
| (BaseClass.prototype.baseClassValue): |
| (BaseClass.prototype.get property): |
| (BaseClass): |
| (runSomething): |
| (ChildClass.prototype.classValue): |
| (ChildClass.prototype.get classProperty): |
| (ChildClass.prototype.asyncValueExp): |
| (ChildClass.prototype.asyncValueBody): |
| (ChildClass.prototype.asyncThisPropExp): |
| (ChildClass.prototype.asyncThisPropBody): |
| (ChildClass.prototype.asyncThisPropInEvalExp): |
| (ChildClass.prototype.asyncThisPropInEvalBody): |
| (ChildClass.prototype.asyncThisValueExp): |
| (ChildClass.prototype.asyncThisValueBody): |
| (ChildClass.prototype.asyncThisValueInEvalExp): |
| (ChildClass.prototype.asyncThisValueInEvalBody): |
| (ChildClass): |
| (ChildClass2): |
| (ChildClass2.prototype.classValue): |
| (ChildClass2.prototype.get classProperty): |
| * stress/async-arrow-functions-lexical-super-binding.js: |
| |
| 2017-01-09 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Prototype dynamic-import |
| https://bugs.webkit.org/show_bug.cgi?id=165724 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/import-basic.js: Added. |
| (async.async.load): |
| (async): |
| (catch): |
| * stress/import-from-eval.js: Added. |
| (async): |
| (catch): |
| * stress/import-syntax.js: Added. |
| (testSyntaxError): |
| * stress/import-tests/cocoa.js: Added. |
| (export.Cocoa): |
| (export.hello): |
| * stress/import-tests/multiple.js: Added. |
| (export.result): |
| * stress/import-tests/multiple2.js: Added. |
| (export.ok): |
| * stress/import-tests/should.js: Added. |
| (export.shouldBe): |
| (export.shouldThrow): |
| * stress/modules-syntax-error.js: |
| |
| 2017-01-09 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r210476. |
| https://bugs.webkit.org/show_bug.cgi?id=166859 |
| |
| "4% JSBench regression" (Requested by keith_mi_ on #webkit). |
| |
| Reverted changeset: |
| |
| "Add a slice intrinsic to the DFG/FTL" |
| https://bugs.webkit.org/show_bug.cgi?id=166707 |
| http://trac.webkit.org/changeset/210476 |
| |
| 2017-01-06 Saam Barati <sbarati@apple.com> |
| |
| Add a slice intrinsic to the DFG/FTL |
| https://bugs.webkit.org/show_bug.cgi?id=166707 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/array-slice-intrinsic.js: Added. |
| (assert): |
| (shallowEq): |
| (runTest1): |
| (runTest2): |
| * stress/array-slice-jettison-on-constructor-change.js: Added. |
| (assert): |
| (runTest1): |
| (runTest2): |
| (addRandomProperties): |
| (runTests): |
| * stress/array-slice-osr-exit-2.js: Added. |
| (assert): |
| (Foo): |
| (shallowEq): |
| (runTest1): |
| (runTest2): |
| (addRandomProperties): |
| (runTests): |
| * stress/array-slice-osr-exit.js: Added. |
| (assert): |
| (Foo): |
| (shallowEq): |
| (runTest1): |
| (runTest2): |
| (addRandomProperties): |
| (runTests): |
| |
| 2017-01-06 Michael Saboff <msaboff@apple.com> |
| |
| @putByValDirect in Array.of and Array.from overwrites non-writable/configurable properties |
| https://bugs.webkit.org/show_bug.cgi?id=153486 |
| |
| Reviewed by Saam Barati. |
| |
| New regression test. |
| |
| * stress/regress-153486.js: Added. |
| (shouldEqual): |
| (makeUnwriteableUnconfigurableObject): |
| (testArrayOf): |
| (testArrayFrom): |
| (runTest): |
| |
| 2016-12-30 Filip Pizlo <fpizlo@apple.com> |
| |
| DeferGC::~DeferGC should be super cheap |
| https://bugs.webkit.org/show_bug.cgi?id=166626 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/slow-path-generator-updating-current-node-dfg.js: |
| * stress/unshift-array-storage.js: |
| |
| 2017-01-04 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: sections with the same name are allowed |
| https://bugs.webkit.org/show_bug.cgi?id=166708 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/self-test/test_BuilderJSON.js: |
| (SectionsWithSameCustomName): |
| |
| 2017-01-04 Saam Barati <sbarati@apple.com> |
| |
| stress/spread-calling.js timing out on the bots |
| https://bugs.webkit.org/show_bug.cgi?id=166689 |
| <rdar://problem/29779182> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/spread-calling.js: |
| |
| 2017-01-04 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly JS API: add Module.sections |
| https://bugs.webkit.org/show_bug.cgi?id=165159 |
| <rdar://problem/29760326> |
| |
| Reviewed by Mark Lam. |
| |
| As described here: https://github.com/WebAssembly/design/blob/master/JS.md#webassemblymodulecustomsections |
| |
| * wasm/Builder.js: allow custom sections to be duplicated |
| * wasm/js-api/Module.customSection.js: Added. |
| (assert.throws.WebAssembly.Module.prototype.customSections): |
| (assert.eq): |
| |
| 2017-01-04 Saam Barati <sbarati@apple.com> |
| |
| We don't properly handle exceptions inside the nativeCallTrampoline macro in the LLInt |
| https://bugs.webkit.org/show_bug.cgi?id=163720 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/bound-function-tail-call-with-exception.js: Added. |
| (bar): |
| (foo): |
| (catch): |
| |
| 2017-01-03 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly JS API: check and test in-call / out-call values |
| https://bugs.webkit.org/show_bug.cgi?id=164876 |
| <rdar://problem/29844107> |
| |
| Reviewed by Saam Barati. |
| |
| * wasm.yaml: |
| * wasm/assert.js: add an assert for NaN comparison |
| * wasm/fuzz/export-function.js: Added. Generate random wasm export |
| signatures, and call them with random parameters. |
| (const.paramExporter): |
| (const.setBuffer): |
| (const.types.generate): |
| (generate): |
| * wasm/js-api/export-arity.js: Added. |
| (const.paramExporter): Test that mismatched arities when JS calls |
| wasm follow the defined semantics: i32 is 0, f32 / f64 are NaN. |
| https://github.com/WebAssembly/design/blob/master/JS.md#exported-function-exotic-objects |
| * wasm/js-api/export-void-is-undef.js: Added. Test that "void" |
| wasm functions return "undefined" in JS. |
| |
| 2017-01-02 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: handle and optimize wasm export → wasm import calls |
| https://bugs.webkit.org/show_bug.cgi?id=165282 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/Builder.js: Add a Proxy to Builder.js, which intercepts |
| unknown property lookups. This creates way better error messages |
| on typos than 'undefined is not a function', which happens |
| semi-frequently as I typo opcode names (and which one is a typo is |
| hard to find because we chain builders). |
| (const._isValidValue): |
| (get target): |
| (const._importFunctionContinuation): |
| (const._importMemoryContinuation): |
| (const._importTableContinuation): |
| (const._exportFunctionContinuation): |
| (export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section): |
| (export.default.Builder.prototype._registerSectionBuilders.this.Unknown): |
| * wasm/LowLevelBinary.js: Add limited support for var{u}int64 (only the 32-bit values) |
| (export.default.LowLevelBinary.prototype.varint32): |
| (export.default.LowLevelBinary.prototype.varuint64): |
| (export.default.LowLevelBinary.prototype.varint64): |
| * wasm/function-tests/exceptions.js: update error message |
| * wasm/function-tests/trap-load.js: update error message |
| * wasm/function-tests/trap-store.js: update error message |
| * wasm/js-api/wasm-to-wasm-bad-signature.js: Added. Test a bunch of bad wasm->wasm import signatures |
| (const.makeImportee.signature.switch): |
| (BadSignatureDropStartParams): |
| * wasm/js-api/wasm-to-wasm.js: Added. Test 64-bit wasm->wasm import calls |
| (const.callerModule): |
| (const.calleeModule): |
| (WasmToWasm): |
| |
| 2017-01-02 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: Some loads don't take into account the offset |
| https://bugs.webkit.org/show_bug.cgi?id=166616 |
| <rdar://problem/29841541> |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/function-tests/load-offset.js: Added. |
| |
| 2016-12-29 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: Rebase spec-tests now that wabt has been updated to produce certain kinds of invalid modules |
| https://bugs.webkit.org/show_bug.cgi?id=166491 |
| <rdar://problem/29814999> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Based off these revisions: |
| - spec: b055d01ea1dfdd7a5231ae779095435f836de97f |
| - wabt: d0d44702c753f851b094615298a2f4d4e3c21035 |
| |
| The reason for the rebase is that wabt was updated to stop |
| silently rejecting invalid modules. This was needed because |
| some of the spec tests check to make sure that the module |
| is invalid, but wabt was silently ignoring the errors and |
| generating valid modules: |
| https://github.com/WebAssembly/wabt/issues/256 |
| |
| * wasm.yaml: |
| * wasm/spec-tests/address.wast.js: |
| * wasm/spec-tests/binary.wast.js: |
| * wasm/spec-tests/block.wast.js: |
| * wasm/spec-tests/br.wast.js: |
| * wasm/spec-tests/br_if.wast.js: |
| * wasm/spec-tests/br_table.wast.js: |
| * wasm/spec-tests/break-drop.wast.js: |
| * wasm/spec-tests/call.wast.js: |
| * wasm/spec-tests/call_indirect.wast.js: |
| * wasm/spec-tests/comments.wast.js: |
| * wasm/spec-tests/conversions.wast.js: |
| * wasm/spec-tests/custom_section.wast.js: |
| * wasm/spec-tests/endianness.wast.js: |
| * wasm/spec-tests/exports.wast.js: |
| * wasm/spec-tests/f32.wast.js: |
| * wasm/spec-tests/f32_cmp.wast.js: |
| * wasm/spec-tests/f64.wast.js: |
| * wasm/spec-tests/f64_cmp.wast.js: |
| * wasm/spec-tests/fac.wast.js: |
| * wasm/spec-tests/float_exprs.wast.js: |
| * wasm/spec-tests/float_literals.wast.js: |
| * wasm/spec-tests/float_memory.wast.js: |
| * wasm/spec-tests/float_misc.wast.js: |
| * wasm/spec-tests/forward.wast.js: |
| * wasm/spec-tests/func.wast.js: |
| * wasm/spec-tests/func_ptrs.wast.js: |
| * wasm/spec-tests/get_local.wast.js: |
| * wasm/spec-tests/globals.wast.js: |
| * wasm/spec-tests/i32.wast.js: |
| * wasm/spec-tests/i64.wast.js: |
| * wasm/spec-tests/imports.wast.js: |
| * wasm/spec-tests/int_exprs.wast.js: |
| * wasm/spec-tests/int_literals.wast.js: |
| * wasm/spec-tests/left-to-right.wast.js: |
| * wasm/spec-tests/linking.wast.js: |
| * wasm/spec-tests/loop.wast.js: |
| * wasm/spec-tests/memory.wast.js: |
| * wasm/spec-tests/memory_redundancy.wast.js: |
| * wasm/spec-tests/memory_trap.wast.js: |
| * wasm/spec-tests/names.wast.js: |
| * wasm/spec-tests/nop.wast.js: |
| * wasm/spec-tests/resizing.wast.js: |
| * wasm/spec-tests/return.wast.js: |
| * wasm/spec-tests/select.wast.js: |
| * wasm/spec-tests/set_local.wast.js: |
| * wasm/spec-tests/skip-stack-guard-page.wast.js: |
| * wasm/spec-tests/stack.wast.js: |
| * wasm/spec-tests/start.wast.js: |
| * wasm/spec-tests/store_retval.wast.js: |
| * wasm/spec-tests/switch.wast.js: |
| * wasm/spec-tests/tee_local.wast.js: |
| * wasm/spec-tests/traps.wast.js: |
| * wasm/spec-tests/typecheck.wast.js: |
| * wasm/spec-tests/unreachable.wast.js: |
| * wasm/spec-tests/unwind.wast.js: |
| |
| 2016-12-28 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: Don't allow duplicate export names |
| https://bugs.webkit.org/show_bug.cgi?id=166490 |
| <rdar://problem/29815000> |
| |
| Reviewed by Keith Miller. |
| |
| * wasm.yaml: |
| * wasm/function-tests/invalid-duplicate-export.js: Added. |
| |
| 2016-12-28 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: Implement grow_memory and current_memory |
| https://bugs.webkit.org/show_bug.cgi?id=166448 |
| <rdar://problem/29803676> |
| |
| Reviewed by Keith Miller. |
| |
| I rewrote some of the testWasmModuleFunctions that used Memory to use |
| the JS API since the jsc.cpp version can no longer use memory. |
| |
| * wasm.yaml: |
| * wasm/function-tests/add-12.js: |
| (testWasmModuleFunctions): |
| * wasm/function-tests/br-if-loop-less-than.js: |
| (testWasmModuleFunctions): |
| * wasm/function-tests/brTableAsIf.js: |
| (testWasmModuleFunctions): |
| * wasm/function-tests/brTableManyValues.js: |
| (testWasmModuleFunctions): |
| * wasm/function-tests/brTableWithLoop.js: |
| (testWasmModuleFunctions): |
| * wasm/function-tests/dumb-eq-if-then-else.js: |
| * wasm/function-tests/eqz.js: |
| * wasm/function-tests/grow-memory-2.js: Added. |
| (const.func): |
| (assert.eq.instance.exports.foo): |
| * wasm/function-tests/grow-memory-3.js: Added. |
| * wasm/function-tests/grow-memory-4.js: Added. |
| (const.func): |
| * wasm/function-tests/grow-memory.js: Added. |
| (binaryShouldNotParse): |
| (assert.truthy): |
| (assert.eq): |
| (memory.grow): |
| * wasm/function-tests/i32-load.js: |
| (testWasmModuleFunctions): |
| * wasm/function-tests/i32-load8-s.js: |
| * wasm/function-tests/max.js: |
| * wasm/function-tests/min.js: |
| * wasm/js-api/memory-grow.js: Added. |
| (i.i): |
| (assertEq): |
| * wasm/js-api/test_memory.js: |
| * wasm/wasm.json: |
| |
| 2016-12-25 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Propagate the source origin as much as possible |
| https://bugs.webkit.org/show_bug.cgi?id=166348 |
| |
| Reviewed by Darin Adler. |
| |
| * stress/source-origin.js: Added. |
| (shouldBe): |
| |
| 2016-12-24 Caio Lima <ticaiolima@gmail.com> |
| |
| [test262] Fixing mapped arguments object property test case |
| https://bugs.webkit.org/show_bug.cgi?id=159398 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/arguments-bizarre-behaviour-disable-enumerability.js: |
| * stress/arguments-define-property.js: Added. |
| (assert): |
| (testProperties): |
| * stress/arguments-non-configurable.js: Added. |
| (assert): |
| (tryChangeNonConfigurableDescriptor): |
| (set tryChangeNonConfigurableDescriptor): |
| (tryChangeWritableOfNonConfigurableDescriptor): |
| * test262.yaml: |
| |
| 016-12-20 Caio Lima <ticaiolima@gmail.com> |
| |
| [test262] Fixing mapped arguments object property test case |
| https://bugs.webkit.org/show_bug.cgi?id=159398 |
| |
| Reviewed by . |
| |
| * stress/arguments-bizarre-behaviour-disable-enumerability.js: |
| * stress/arguments-define-property.js: Added. |
| (assert): |
| (testProperties): |
| * stress/arguments-non-configurable.js: Added. |
| (assert): |
| (tryChangeNonConfigurableDescriptor): |
| (set tryChangeNonConfigurableDescriptor): |
| (tryChangeWritableOfNonConfigurableDescriptor): |
| * test262.yaml: |
| |
| 2016-12-23 Keith Miller <keith_miller@apple.com> |
| |
| WebAssembly: trap on bad division. |
| https://bugs.webkit.org/show_bug.cgi?id=164786 |
| |
| Reviewed by Mark Lam. |
| |
| Also, mark conversions as passing. |
| |
| * wasm.yaml: |
| * wasm/wasm.json: |
| |
| 2016-12-22 Keith Miller <keith_miller@apple.com> |
| |
| WebAssembly: Make spec-tests/f32.wast.js and spec-tests/f64.wast.js pass |
| https://bugs.webkit.org/show_bug.cgi?id=166447 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm.yaml: |
| * wasm/wasm.json: |
| |
| 2016-12-22 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: Make calling Wasm functions that returns or takes an i64 as a parameter an early exception |
| https://bugs.webkit.org/show_bug.cgi?id=166437 |
| <rdar://problem/29793949> |
| |
| Reviewed by Keith Miller. |
| |
| * wasm.yaml: |
| * wasm/function-tests/i64-from-js-exceptions.js: Added. |
| (const.imp.import.sideEffects): |
| (assert.throws.instance.exports.foo.valueOf): |
| |
| 2016-12-22 Mark Lam <mark.lam@apple.com> |
| |
| De-duplicate finally blocks. |
| https://bugs.webkit.org/show_bug.cgi?id=160168 |
| |
| Reviewed by Saam Barati. |
| |
| Re-landing r209952 with a few new tests added in test-finally.js. |
| |
| * stress/deeply-nested-finallys.js: Copied from JSTests/stress/deeply-nested-finallys.js. |
| - Tests many levels of finally nesting. This causes the old code to hang (and |
| crashes eventually) while trying to generate bytecode for the exponentially |
| duplicated finally blocks. The new code completes this test almost instantly. |
| |
| * stress/test-finally.js: Copied from JSTests/stress/test-finally.js. |
| - Tests control flow through various permutations of finally blocks. |
| |
| 2016-12-22 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: Make the spec-tests/address.wast.js test pass |
| https://bugs.webkit.org/show_bug.cgi?id=166429 |
| <rdar://problem/29793220> |
| |
| Reviewed by Keith Miller. |
| |
| * wasm.yaml: |
| |
| 2016-12-22 Keith Miller <keith_miller@apple.com> |
| |
| WebAssembly: The validator should not allow unused stack entries at the end of a block |
| https://bugs.webkit.org/show_bug.cgi?id=166411 |
| |
| Reviewed by Saam Barati. |
| |
| Test cleanup and enable new passing tests. |
| |
| * wasm.yaml: |
| * wasm/function-tests/br-if-as-return.js: |
| |
| 2016-12-22 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: Make the spec-tests/start.wast.js test pass |
| https://bugs.webkit.org/show_bug.cgi?id=166416 |
| <rdar://problem/29784532> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wasm.yaml: |
| |
| 2016-12-21 Keith Miller <keith_miller@apple.com> |
| |
| WebAssembly: Fix decode floating point constants in unreachable code |
| https://bugs.webkit.org/show_bug.cgi?id=166400 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm.yaml: |
| |
| 2016-12-21 Keith Miller <keith_miller@apple.com> |
| |
| WebAssembly: Allow br, br_if, and br_table to act as a return |
| https://bugs.webkit.org/show_bug.cgi?id=166393 |
| |
| Reviewed by Saam Barati. |
| |
| Add tests for breaks acting as returns and fix tests that |
| validate error messages. |
| |
| * wasm/function-tests/br-as-return.js: Added. |
| * wasm/function-tests/br-if-as-return.js: Added. |
| * wasm/function-tests/br-table-as-return.js: Added. |
| * wasm/function-tests/if-no-else-non-void.js: |
| * wasm/function-tests/struct.js: Added. |
| * wasm/js-api/global-error.js: |
| (assert.throws): |
| * wasm/js-api/table.js: |
| (assert.throws): |
| |
| 2016-12-21 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: Import spec tests |
| https://bugs.webkit.org/show_bug.cgi?id=166395 |
| |
| Rubber stamped by Keith Miller. |
| |
| This patch implements the Wasm spec's tests found here: |
| https://github.com/WebAssembly/spec/tree/master/interpreter/test |
| |
| These tests are in .wast s-epxression format. To convert |
| them to JS, I use a script from the wabt library, found here: |
| https://github.com/WebAssembly/wabt/blob/master/test/run-gen-spec-js.py |
| |
| I also added a script that automatically imports the tests as |
| JS files. The inputs to the script is the path to the Wasm spec |
| git repo and the path to the wabt git repo. This will make importing |
| new tests easy in the future. |
| |
| The wasm spec imported is at commit: b055d01ea1dfdd7a5231ae779095435f836de97f |
| The wabt used to do the import is at commit: 622b42dced6d793e9d49e9b1fd1d1524defd1387 |
| |
| * wasm.yaml: |
| * wasm/import-spec-tests.rb: Added. |
| * wasm/spec-tests: Added. |
| * wasm/spec-tests/address.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/binary.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/block.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/br.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/br_if.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/br_table.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/break-drop.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/call.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/call_indirect.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/comments.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/conversions.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/custom_section.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/endianness.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/exports.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/f32.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/f32_cmp.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/f64.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/f64_cmp.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/fac.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/float_exprs.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/float_literals.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/float_memory.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/float_misc.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/forward.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/func.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/func_ptrs.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/get_local.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/globals.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/i32.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/i64.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/imports.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/int_exprs.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/int_literals.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/left-to-right.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/linking.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/loop.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/memory.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/memory_redundancy.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/memory_trap.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/names.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/nop.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/resizing.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/return.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/select.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/set_local.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/skip-stack-guard-page.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/stack.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/start.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/store_retval.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/switch.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/tee_local.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/traps.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/typecheck.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/unreachable.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| * wasm/spec-tests/unwind.wast.js: Added. |
| (register): |
| (module): |
| (instance): |
| (assert_malformed): |
| (assert_invalid): |
| (assert_soft_invalid): |
| (assert_unlinkable): |
| (assert_uninstantiable): |
| (assert_trap): |
| (assert_return): |
| (assert_return_nan): |
| |
| 2016-12-20 Keith Miller <keith_miller@apple.com> |
| |
| Add support for global |
| https://bugs.webkit.org/show_bug.cgi?id=165171 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/global.js: Added. |
| |
| 2016-12-20 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly API: implement WebAssembly.LinkError |
| https://bugs.webkit.org/show_bug.cgi?id=165805 |
| <rdar://problem/29747874> |
| |
| Reviewed by Mark lam. |
| |
| Update all exception sites which now throw WebAssembly.LinkError. |
| |
| * wasm/js-api/element-data.js: |
| * wasm/js-api/element.js: |
| (assert.throws): |
| * wasm/js-api/global-error.js: |
| (new.Number): |
| * wasm/js-api/table.js: |
| (assert.throws): |
| (new.WebAssembly.Table): |
| * wasm/js-api/test_Data.js: |
| * wasm/js-api/test_basic_api.js: |
| (const.c.in.constructorProperties.switch): |
| * wasm/js-api/test_memory.js: |
| (test): |
| (test.testMemImportError): Deleted. |
| |
| 2016-12-20 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: unique function signatures |
| https://bugs.webkit.org/show_bug.cgi?id=165957 |
| <rdar://problem/29735737> |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/function-tests/table-basic.js: FIXME is now addressed, |
| though instance to instance calls still need work which bug |
| #165282 will address |
| (i.assert.eq.foo): |
| * wasm/js-api/unique-signature.js: Added. |
| (CallIndirectWithDuplicateSignatures): |
| |
| 2016-12-19 Mark Lam <mark.lam@apple.com> |
| |
| Rolling out r209974 and r209952. They break some websites in mysterious ways. Step 2: Rollout r209952. |
| https://bugs.webkit.org/show_bug.cgi?id=166049 |
| |
| Not reviewed. |
| |
| * stress/deeply-nested-finallys.js: Removed. |
| * stress/test-finally.js: Removed. |
| |
| 2016-12-19 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: Make running Wasm tests take less time by reducing some tests' iteration count and by splitting some tests into different files |
| https://bugs.webkit.org/show_bug.cgi?id=166017 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * wasm/function-tests/trap-load-2.js: Added. |
| (assert): |
| (wasmFrameCountFromError): |
| (continuation): |
| (i.catch): |
| * wasm/function-tests/trap-load.js: |
| (assert.continuation): Deleted. |
| * wasm/function-tests/trap-store-2.js: Added. |
| (import.Builder.from.string_appeared_here.assert): |
| (continuation): |
| (i.catch): |
| * wasm/function-tests/trap-store.js: |
| (assert.continuation): Deleted. |
| (assert): Deleted. |
| * wasm/js-api/test_memory.js: |
| (test): |
| |
| 2016-12-18 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: Implement the WebAssembly.compile and WebAssembly.validate |
| https://bugs.webkit.org/show_bug.cgi?id=165936 |
| |
| Reviewed by Mark Lam. |
| |
| * wasm/js-api/Module-compile.js: Added. |
| (async.testPromiseAPI): |
| * wasm/js-api/test_basic_api.js: |
| (const.c.in.constructorProperties.switch): |
| * wasm/js-api/validate.js: Added. |
| (assert.truthy.WebAssembly.validate.builder.WebAssembly): |
| |
| 2016-12-16 Mark Lam <mark.lam@apple.com> |
| |
| De-duplicate finally blocks. |
| https://bugs.webkit.org/show_bug.cgi?id=160168 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/deeply-nested-finallys.js: Added. |
| - Tests many levels of finally nesting. This causes the old code to hang (and |
| crashes eventually) while trying to generate bytecode for the exponentially |
| duplicated finally blocks. The new code completes this test almost instantly. |
| |
| * stress/test-finally.js: Added. |
| - Tests control flow through various permutations of finally blocks. |
| |
| 2016-12-16 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: WasmB3IRGenerator should throw exceptions instead of crash |
| https://bugs.webkit.org/show_bug.cgi?id=165834 |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/function-tests/exceptions.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.makeInstance): |
| * wasm/function-tests/table-basic.js: |
| (i.i.42.throw.new.Error): |
| |
| 2016-12-16 Keith Miller <keith_miller@apple.com> |
| |
| i64.eqz should use an Int64 zero |
| https://bugs.webkit.org/show_bug.cgi?id=165942 |
| |
| Reviewed by Mark Lam. |
| |
| * wasm/wasm.json: |
| |
| 2016-12-15 Keith Miller <keith_miller@apple.com> |
| |
| Fix validation of non-void if blocks with no else |
| https://bugs.webkit.org/show_bug.cgi?id=165938 |
| |
| Reviewed by Saam Barati. |
| |
| Add a new failing test and a fix an existing one. |
| |
| * wasm/function-tests/dead-call.js: |
| * wasm/function-tests/if-no-else-non-void.js: Added. |
| |
| 2016-12-15 Keith Miller <keith_miller@apple.com> |
| |
| Wasm should not create empty unlinked callsites |
| https://bugs.webkit.org/show_bug.cgi?id=165933 |
| |
| Reviewed by Mark Lam. |
| |
| * wasm/function-tests/dead-call.js: Added. |
| |
| 2016-12-15 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: improve compilation error messages |
| https://bugs.webkit.org/show_bug.cgi?id=163919 |
| |
| Reviewed by Saam Barati. |
| |
| Update error messages in these tests. |
| Use the assert.throws facility in many of them which weren't already. |
| |
| * wasm/js-api/element.js: |
| (assert.throws.new.WebAssembly.Module.builder.WebAssembly): |
| (assert.throws): |
| * wasm/js-api/global-error.js: |
| (assert.throws.new.WebAssembly.Module.bin): |
| (assert.throws): |
| (new.Number): |
| * wasm/js-api/table.js: |
| (assert.throws.new.WebAssembly.Module.builder.WebAssembly): |
| (assert.throws): |
| (assertBadTableImport): |
| * wasm/js-api/test_Data.js: |
| (DataSectionWithoutMemory): |
| * wasm/js-api/test_Start.js: |
| (InvalidStartFunctionIndex): |
| * wasm/js-api/test_basic_api.js: |
| (const.c.in.constructorProperties.switch): |
| |
| 2016-12-15 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly API: improve data section errors |
| https://bugs.webkit.org/show_bug.cgi?id=165733 |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/js-api/element-data.js: Added. |
| (ElementBeforeData.set const): |
| (ElementBeforeData): check the order of initialization, which is observable on failure |
| * wasm/js-api/test_Data.js: |
| (DataSectionWithoutMemory): |
| (DataSectionOffTheEnd): Deleted. |
| (DataSectionPartlyOffTheEnd): Deleted. |
| (DataSectionEmptyOffTheEnd): Deleted. |
| (DataSectionSeenByStart): Deleted. |
| |
| 2016-12-15 Keith Miller <keith_miller@apple.com> |
| |
| Fix 64-bit shift family Wasm opcodes |
| https://bugs.webkit.org/show_bug.cgi?id=165902 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add tests for shift family of instructions. Since |
| we can't generate i64 values to pass to wasm we only compile |
| the code for those functions. Attempting to generate any i64 |
| code using these instructions would have been enough to cause |
| the B3 Validation error anyway. |
| |
| * wasm/assert.js: |
| * wasm/function-tests/rotl.js: Added. |
| * wasm/function-tests/rotr.js: Added. |
| * wasm/function-tests/shl.js: Added. |
| * wasm/function-tests/shr-s.js: Added. |
| * wasm/function-tests/shr-u.js: Added. |
| * wasm/wasm.json: |
| |
| 2016-12-14 Keith Miller <keith_miller@apple.com> |
| |
| WebAssembly: test_BuilderJSON.js is broken |
| https://bugs.webkit.org/show_bug.cgi?id=165893 |
| |
| Reviewed by Michael Saboff. |
| |
| * wasm/Builder.js: |
| (const._isValidValue): |
| * wasm/self-test/test_BuilderJSON.js: |
| |
| 2016-12-14 Keith Miller <keith_miller@apple.com> |
| |
| Unreviewed, fix test. |
| |
| * wasm/function-tests/i32-const.js: |
| |
| 2016-12-14 Keith Miller <keith_miller@apple.com> |
| |
| Wasm should decode constants correctly |
| https://bugs.webkit.org/show_bug.cgi?id=165886 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/Builder.js: |
| (const._isValidValue): |
| * wasm/Builder_WebAssemblyBinary.js: |
| (const.putOp): |
| * wasm/LowLevelBinary.js: |
| (export.default.LowLevelBinary.prototype.float): |
| (export.default.LowLevelBinary.prototype.double): |
| * wasm/function-tests/f32-const.js: Added. |
| * wasm/function-tests/f64-const.js: Added. |
| * wasm/function-tests/i32-const.js: Added. |
| * wasm/wasm.json: |
| |
| 2016-12-14 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: Add various low hanging fruit that will allow us to run the LLVM torture tests in Wasm |
| https://bugs.webkit.org/show_bug.cgi?id=165883 |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/Builder.js: |
| (export.default.Builder.prototype._registerSectionBuilders.switch.case.string_appeared_here.this.section): |
| * wasm/Builder_WebAssemblyBinary.js: |
| (const.emitters.Export): |
| * wasm/js-api/table.js: |
| (assertBadBinary): |
| (assertBadTable): |
| (assert.truthy): |
| * wasm/js-api/test_memory.js: |
| (binaryShouldNotParse): |
| (test): |
| (test.testMemImportError): |
| (assert.truthy): |
| (assert): Deleted. |
| |
| 2016-12-14 Filip Pizlo <fpizlo@apple.com> |
| |
| DirectTailCall implementation needs to tell the shuffler what to put into the ArgumentCount explicitly |
| https://bugs.webkit.org/show_bug.cgi?id=165882 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/direct-tail-call-arity-mismatch-count-args.js: Added. |
| (foo): |
| (bar): |
| |
| 2016-12-14 Keith Miller <keith_miller@apple.com> |
| |
| WebAssembly JS API: implement Global |
| https://bugs.webkit.org/show_bug.cgi?id=164133 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/Builder.js: |
| (export.default.Builder.prototype._registerSectionBuilders.switch.case.string_appeared_here.this.section): |
| * wasm/Builder_WebAssemblyBinary.js: |
| (const.valueType.WASM.description.type.i32.type.const.putGlobalType): |
| (const.putOp): |
| (const.putInitExpr): |
| (const.emitters.Import): |
| (const.emitters.Global): |
| (const.emitters.Export): |
| (const.emitters.Code): |
| * wasm/LowLevelBinary.js: |
| (export.default.LowLevelBinary.prototype.varuint32): |
| (export.default.LowLevelBinary.prototype.varint32): |
| * wasm/js-api/global-error.js: Added. |
| (catch): |
| (assert.truthy): |
| * wasm/js-api/global-external-init-from-import.js: Added. |
| * wasm/js-api/global-internal-init-from-import.js: Added. |
| * wasm/js-api/global-mutate.js: Added. |
| (createInternalGlobalModule): |
| * wasm/js-api/globals-export.js: Added. |
| * wasm/js-api/globals-import.js: Added. |
| * wasm/wasm.json: |
| |
| 2016-12-13 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: implement the elements section |
| https://bugs.webkit.org/show_bug.cgi?id=165715 |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/Builder.js: |
| (export.default.Builder.prototype._registerSectionBuilders.switch.case.string_appeared_here.this.section): |
| (export.default.Builder.prototype._registerSectionBuilders.switch): |
| * wasm/Builder_WebAssemblyBinary.js: |
| (const.emitters.Element): |
| * wasm/function-tests/basic-element.js: Added. |
| * wasm/js-api/element.js: Added. |
| (assertBadBinary): |
| (assertBadBinary.badInstantiation): |
| |
| 2016-12-13 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly: implement the table section and table import |
| https://bugs.webkit.org/show_bug.cgi?id=165716 |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/Builder.js: |
| (const._importMemoryContinuation): |
| (const._importTableContinuation): |
| (export.default.Builder.prototype._registerSectionBuilders.switch.case.string_appeared_here.this.section): |
| (const._importMemoryContinuation.section): Deleted. |
| (const): Deleted. |
| (const._importMemoryContinuation.assert): Deleted. |
| * wasm/Builder_WebAssemblyBinary.js: |
| (const.putResizableLimits): |
| (const.putTable): |
| (const.emitters.Import): |
| (const.emitters.Table): |
| * wasm/function-tests/call-indirect-params.js: |
| * wasm/function-tests/call-indirect.js: |
| * wasm/function-tests/table-basic-2.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.makeInstance): |
| (func): |
| * wasm/function-tests/table-basic.js: Added. |
| (import.Builder.from.string_appeared_here.import.as.assert.from.string_appeared_here.makeInstance): |
| * wasm/js-api/call-indirect-results.js: |
| (const.wasmModuleWhichImportJS): Deleted. |
| (MonomorphicImport): Deleted. |
| * wasm/js-api/call-indirect.js: |
| (const.wasmModuleWhichImportJS): |
| (const.makeTable): |
| (Polyphic2Import): |
| (VirtualImport): |
| (MonomorphicImport): Deleted. |
| * wasm/js-api/table.js: Added. |
| (assertBadBinary): |
| (assert.truthy): |
| (assertBadTable): |
| (assertBadTableImport): |
| (assertBadBinary.assertBadTableInstance): |
| (assertBadTableInstance): |
| (new.WebAssembly.Table): |
| * wasm/js-api/test_basic_api.js: |
| (const.c.in.constructorProperties.switch): |
| |
| 2016-12-13 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r209725. |
| https://bugs.webkit.org/show_bug.cgi?id=165811 |
| |
| "Broke ARMv7 builds" (Requested by msaboff on #webkit). |
| |
| Reverted changeset: |
| |
| "REGRESSION(r209653): speedometer crashes making virtual slow |
| path tailcalls" |
| https://bugs.webkit.org/show_bug.cgi?id=165748 |
| http://trac.webkit.org/changeset/209725 |
| |
| 2016-12-12 Michael Saboff <msaboff@apple.com> |
| |
| REGRESSION(r209653): speedometer crashes making virtual slow path tailcalls |
| https://bugs.webkit.org/show_bug.cgi?id=165748 |
| |
| Reviewed by Filip Pizlo. |
| |
| New regression test. |
| |
| * stress/regress-165748.js: Added. |
| (sum1): |
| (sum2): |
| (sum3): |
| (sum4): |
| (sum5): |
| (sum6): |
| (tailCaller): |
| (test): |
| |
| 2016-12-12 Mark Lam <mark.lam@apple.com> |
| |
| Debug JSC test timeout: stress/string-prototype-replace-should-throw-out-of-memory-error-when-using-too-much-memory.js.ftl-no-cjit. |
| https://bugs.webkit.org/show_bug.cgi?id=164630 |
| |
| Reviewed by Keith Miller. |
| |
| Speculative fix for timeout issue. It looks like this test just runs a bit |
| slower on debug builds. So, we'll give it a little more time to run. |
| |
| * stress/string-prototype-replace-should-throw-out-of-memory-error-when-using-too-much-memory.js: |
| |
| 2016-12-11 Saam Barati <sbarati@apple.com> |
| |
| We should be able to throw exceptions from Wasm code and when Wasm frames are on the stack |
| https://bugs.webkit.org/show_bug.cgi?id=165429 |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/function-tests/trap-load.js: Added. |
| (assert): |
| (wasmFrameCountFromError): |
| (i.catch): |
| (assert.continuation): |
| * wasm/function-tests/trap-store.js: Added. |
| (import.Builder.from.string_appeared_here.assert): |
| (i.catch): |
| (assert.continuation): |
| (assert): |
| * wasm/js-api/test_memory_constructor.js: |
| (assert): |
| |
| 2016-12-10 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r209653, r209654, r209663, and |
| r209673. |
| https://bugs.webkit.org/show_bug.cgi?id=165739 |
| |
| speedometer crashes (Requested by pizlo on #webkit). |
| |
| Reverted changesets: |
| |
| "JSVALUE64: Pass arguments in platform argument registers when |
| making JavaScript calls" |
| https://bugs.webkit.org/show_bug.cgi?id=160355 |
| http://trac.webkit.org/changeset/209653 |
| |
| "Unreviewed build fix for 32 bit builds." |
| http://trac.webkit.org/changeset/209654 |
| |
| "Unreviewed build fix for the CLOOP after r209653" |
| http://trac.webkit.org/changeset/209663 |
| |
| "REGRESSION(r209653) Crash in CallFrameShuffler::snapshot()" |
| https://bugs.webkit.org/show_bug.cgi?id=165728 |
| http://trac.webkit.org/changeset/209673 |
| |
| 2016-12-10 Michael Saboff <msaboff@apple.com> |
| |
| REGRESSION(r209653) Crash in CallFrameShuffler::snapshot() |
| https://bugs.webkit.org/show_bug.cgi?id=165728 |
| |
| Reviewed by Filip Pizlo. |
| |
| New regression test. |
| |
| * stress/regress-165728.js: Added. |
| (sum1): |
| (sum2): |
| (tailCaller): |
| (test): |
| |
| 2016-12-10 Keith Miller <keith_miller@apple.com> |
| |
| Fix indirect_call if the result type is used. |
| https://bugs.webkit.org/show_bug.cgi?id=165727 |
| |
| Reviewed by Michael Saboff. |
| |
| * wasm/js-api/call-indirect-results.js: Added. |
| (const.wasmModuleWhichImportJS): |
| (MonomorphicImport): |
| |
| 2016-12-10 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Module namespace object behaves like immutable prototype exotic object |
| https://bugs.webkit.org/show_bug.cgi?id=165598 |
| |
| Reviewed by Mark Lam. |
| |
| * modules/namespace-prototype-assignment.js: Added. |
| (else): |
| (reportError): |
| (shouldEqual): |
| (shouldThrow): |
| (stringify): |
| (makeTestID): |
| (doInternalSetPrototypeOf): |
| (ordinarySetPrototypeOf): |
| (setImmutablePrototype): |
| (windowProxySetPrototypeOf): |
| (initSetterExpectation): |
| (throwIfNoExceptionPending): |
| (objectSetPrototypeOf): |
| (setUnderscoreProto): |
| (reflectSetPrototypeOf): |
| (setPrototypeOf): |
| (newObjectProto.toString): |
| (Symbol): |
| (test): |
| (runTests): |
| * modules/namespace-set-prototype-of.js: Added. |
| (shouldThrow): |
| (TypeError.Cannot.set prototype): |
| |
| 2016-12-09 Michael Saboff <msaboff@apple.com> |
| |
| JSVALUE64: Pass arguments in platform argument registers when making JavaScript calls |
| https://bugs.webkit.org/show_bug.cgi?id=160355 |
| |
| Reviewed by Filip Pizlo. |
| |
| New microbenchmarks to measure call type performance. |
| |
| * microbenchmarks/calling-computed-args.js: Added. |
| * microbenchmarks/calling-many-callees.js: Added. |
| * microbenchmarks/calling-one-callee-fixed.js: Added. |
| * microbenchmarks/calling-one-callee.js: Added. |
| * microbenchmarks/calling-poly-callees.js: Added. |
| * microbenchmarks/calling-poly-extra-arity-callees.js: Added. |
| * microbenchmarks/calling-tailcall.js: Added. |
| * microbenchmarks/calling-virtual-arity-fixup-callees.js: Added. |
| * microbenchmarks/calling-virtual-arity-fixup-stackargs.js: Added. |
| * microbenchmarks/calling-virtual-callees.js: Added. |
| * microbenchmarks/calling-virtual-extra-arity-callees.js: Added. |
| |
| 2016-12-09 Keith Miller <keith_miller@apple.com> |
| |
| Wasm should support call_indirect |
| https://bugs.webkit.org/show_bug.cgi?id=165718 |
| |
| Reviewed by Filip Pizlo. |
| |
| * wasm/Builder.js: |
| * wasm/function-tests/call-indirect-params.js: Added. |
| * wasm/function-tests/call-indirect.js: Added. |
| * wasm/js-api/call-indirect.js: Added. |
| (const.wasmModuleWhichImportJS): |
| (MonomorphicImport): |
| (Polyphic2Import): |
| (VirtualImport): |
| * wasm/wasm.json: |
| |
| 2016-12-09 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: implement data section |
| https://bugs.webkit.org/show_bug.cgi?id=165696 |
| |
| Reviewed by Keith Miller. |
| |
| As specified in https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md#data-section |
| Note that some of the interesting corner cases are ill-defined by the spec: https://github.com/WebAssembly/design/issues/897 |
| |
| * wasm/Builder.js: create a data section from JavaScript |
| * wasm/Builder_WebAssemblyBinary.js: assemble the data section into the proper binary encoding |
| (const.emitters.Data): |
| * wasm/js-api/test_Data.js: Added. |
| (DataSection): |
| (DataSectionOffTheEnd): |
| (DataSectionPartlyOffTheEnd): |
| (DataSectionEmptyOffTheEnd): |
| (DataSectionSeenByStart): |
| * wasm/self-test/test_BuilderJSON.js: make sure the JSON structure is fine (this sanity checks before going to binary) |
| |
| 2016-12-09 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly JS API: implement start function |
| https://bugs.webkit.org/show_bug.cgi?id=165150 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/Builder.js: allow building a .Start() |
| * wasm/Builder_WebAssemblyBinary.js: |
| * wasm/js-api/test_Start.js: Added. |
| (const.emitters.Start): serialize a start section |
| * wasm/self-test/test_BuilderJSON.js: validate the start section's content |
| |
| 2016-12-09 Saam Barati <sbarati@apple.com> |
| |
| WebAssembly JS API: implement importing and defining Memory |
| https://bugs.webkit.org/show_bug.cgi?id=164134 |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/Builder.js: |
| (const._importMemoryContinuation.section): |
| (const._importMemoryContinuation.assert): |
| (const._importMemoryContinuation): |
| (const._exportFunctionContinuation.const): Deleted. |
| (const._exportFunctionContinuation): Deleted. |
| * wasm/Builder_WebAssemblyBinary.js: |
| (const.emitters.Import): |
| * wasm/js-api/test_basic_api.js: |
| (const.c.in.constructorProperties.switch): |
| * wasm/js-api/test_memory.js: Added. |
| (assert): |
| (binaryShouldNotParse): |
| (test): |
| (test.testMemImportError): |
| * wasm/js-api/test_memory_constructor.js: Added. |
| (assert): |
| (throw.new.Error): |
| (testInvalidSize): |
| (assert.testInvalidInitial): |
| (testInvalidInitial.testInvalidMaximum): |
| (testInvalidInitial): |
| (testInvalidMaximum): |
| * wasm/self-test/test_BuilderJSON.js: |
| |
| 2016-12-08 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: JSC::link* shouldn't need a CodeBlock |
| https://bugs.webkit.org/show_bug.cgi?id=165591 |
| |
| Reviewed by Keith Miller. |
| |
| test that wasm -> JS works, including the IC |
| |
| * wasm/js-api/test_Instance.js: |
| (const.wasmModuleWhichImportJS): |
| (MonomorphicImport): |
| (Polyphic2Import): |
| (Polyphic3Import): |
| (VirtualImport): |
| |
| 2016-12-08 Filip Pizlo <fpizlo@apple.com> |
| |
| Green the cloop bot by raising this threshold. |
| |
| * mozilla/js1_5/Array/regress-101964.js: |
| |
| 2016-12-08 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly JS API: wire up Instance imports |
| https://bugs.webkit.org/show_bug.cgi?id=165118 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/js-api/test_Instance.js: add the test, disabled for now |
| |
| 2016-12-07 Keith Miller <keith_miller@apple.com> |
| |
| Add more missing trivial wasm ops. |
| https://bugs.webkit.org/show_bug.cgi?id=165564 |
| |
| Add tests for drop and tee_local. |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wasm/function-tests/drop.js: Added. |
| * wasm/function-tests/nop.js: Added. |
| * wasm/function-tests/tee-local.js: Added. |
| |
| 2016-12-06 Keith Miller <keith_miller@apple.com> |
| |
| Add support for truncation operators |
| https://bugs.webkit.org/show_bug.cgi?id=165519 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wasm/function-tests/i32-trunc-s-f32.js: Added. |
| * wasm/function-tests/i32-trunc-s-f64.js: Added. |
| * wasm/function-tests/i32-trunc-u-f32.js: Added. |
| * wasm/function-tests/i32-trunc-u-f64.js: Added. |
| * wasm/function-tests/i64-trunc-s-f32.js: Added. |
| * wasm/function-tests/i64-trunc-s-f64.js: Added. |
| * wasm/function-tests/i64-trunc-u-f32.js: Added. |
| * wasm/function-tests/i64-trunc-u-f64.js: Added. |
| |
| 2016-12-06 Mark Lam <mark.lam@apple.com> |
| |
| Introduce the concept of Immutable Prototype Exotic Objects to comply with the spec. |
| https://bugs.webkit.org/show_bug.cgi?id=165227 |
| <rdar://problem/29442665> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/get-from-scope-dynamic-onto-proxy.js: |
| - Updated error message. |
| |
| * stress/proxy-dont-infinite-loop.js: Removed. |
| * stress/proxy-json-path.js: Removed. |
| * stress/rest-parameter-allocation-elimination-watchpoints-6.js: Removed. |
| - Removed these tests because the issue they are testing relies on being able to |
| set Object.prototype.__proto__ to something else (which is now not possible). |
| |
| 2016-12-05 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] report unexpected token when "async" is followed by identifier |
| https://bugs.webkit.org/show_bug.cgi?id=165091 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/bug-165091.js: |
| |
| 2016-12-05 Keith Miller <keith_miller@apple.com> |
| |
| Add Wasm i64 to i32 conversion. |
| https://bugs.webkit.org/show_bug.cgi?id=165378 |
| |
| Reviewed by Filip Pizlo. |
| |
| It turns out the wrap operation is just B3's Trunc. |
| |
| * wasm/wasm.json: |
| |
| 2016-12-04 Keith Miller <keith_miller@apple.com> |
| |
| Add support for Wasm ctz and popcnt |
| https://bugs.webkit.org/show_bug.cgi?id=165369 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/function-tests/ctz.js: Added. |
| * wasm/function-tests/popcnt.js: Added. |
| |
| 2016-12-03 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: update binary format to 0xD version |
| https://bugs.webkit.org/show_bug.cgi?id=165345 |
| |
| Reviewed by Keith Miller. |
| |
| As described in the following PR: https://github.com/WebAssembly/design/pull/836 |
| Originally committed in r209175, reverted in r209242, and fixed in r209284. |
| |
| * wasm/Builder.js: |
| (const._normalizeFunctionSignature): |
| * wasm/Builder_WebAssemblyBinary.js: |
| (const.emitters.Type): |
| (const.emitters.Code): |
| * wasm/LowLevelBinary.js: |
| (export.default.LowLevelBinary.prototype.block_type): |
| (export.default.LowLevelBinary.prototype.inline_signature_type): Deleted. |
| * wasm/WASM.js: |
| * wasm/js-api/test_basic_api.js: |
| * wasm/self-test/test_BuilderWebAssembly.js: |
| (EmptyModule): |
| (CustomSection): |
| * wasm/self-test/test_WASM.js: |
| * wasm/wasm.json: |
| |
| 2016-12-02 Keith Miller <keith_miller@apple.com> |
| |
| Add Wasm copysign |
| https://bugs.webkit.org/show_bug.cgi?id=165355 |
| |
| Reviewed by Filip Pizlo. |
| |
| * wasm/function-tests/copysign.js: Added. |
| |
| 2016-12-03 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r209298. |
| https://bugs.webkit.org/show_bug.cgi?id=165359 |
| |
| broke the build (Requested by smfr on #webkit). |
| |
| Reverted changeset: |
| |
| "Add Wasm copysign" |
| https://bugs.webkit.org/show_bug.cgi?id=165355 |
| http://trac.webkit.org/changeset/209298 |
| |
| 2016-12-02 Keith Miller <keith_miller@apple.com> |
| |
| Add Wasm copysign |
| https://bugs.webkit.org/show_bug.cgi?id=165355 |
| |
| Reviewed by Filip Pizlo. |
| |
| * wasm/function-tests/copysign.js: Added. |
| |
| 2016-12-02 Keith Miller <keith_miller@apple.com> |
| |
| Unreviewed, fix git having a breakdown over trying to reland a rollout. |
| |
| 2016-12-02 Keith Miller <keith_miller@apple.com> |
| |
| Add Wasm floating point nearest and trunc |
| https://bugs.webkit.org/show_bug.cgi?id=165339 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/function-tests/nearest.js: Added. |
| * wasm/function-tests/trunc.js: Added. |
| |
| 2016-12-02 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] add additional bit to JSTokenType bitfield |
| https://bugs.webkit.org/show_bug.cgi?id=165091 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/bug-165091.js: Added. |
| (shouldThrowSyntaxError): |
| |
| 2016-12-02 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r209275 and r209276. |
| https://bugs.webkit.org/show_bug.cgi?id=165348 |
| |
| "broke the arm build" (Requested by keith_miller on #webkit). |
| |
| Reverted changesets: |
| |
| "Add Wasm floating point nearest and trunc" |
| https://bugs.webkit.org/show_bug.cgi?id=165339 |
| http://trac.webkit.org/changeset/209275 |
| |
| "Unreviewed, forgot to change instruction after renaming." |
| http://trac.webkit.org/changeset/209276 |
| |
| 2016-12-02 Keith Miller <keith_miller@apple.com> |
| |
| Add Wasm floating point nearest and trunc |
| https://bugs.webkit.org/show_bug.cgi?id=165339 |
| |
| Reviewed by Filip Pizlo. |
| |
| * wasm/function-tests/nearest.js: Added. |
| * wasm/function-tests/trunc.js: Added. |
| |
| 2016-12-02 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: revert patch causing odd breakage |
| https://bugs.webkit.org/show_bug.cgi?id=165308 |
| |
| Unreviewed. |
| |
| Bug #164724 seems to cause build issues which I haven't tracked down yet. WasmOps.h can't be found: |
| ./Source/JavaScriptCore/wasm/WasmFormat.h:34:10: fatal error: 'WasmOps.h' file not found |
| |
| It's weird since the file is auto-generated and has been for a while. #164724 merely includes it in WasmFormat.h. |
| |
| * wasm/Builder.js: |
| (const._normalizeFunctionSignature): |
| * wasm/Builder_WebAssemblyBinary.js: |
| (const.emitters.Type): |
| (const.emitters.Code): |
| * wasm/LowLevelBinary.js: |
| (export.default.LowLevelBinary.prototype.inline_signature_type): |
| (export.default.LowLevelBinary.prototype.block_type): Deleted. |
| * wasm/WASM.js: |
| * wasm/js-api/test_basic_api.js: |
| * wasm/self-test/test_BuilderWebAssembly.js: |
| (EmptyModule): |
| (CustomSection): |
| * wasm/self-test/test_WASM.js: |
| * wasm/wasm.json: |
| |
| 2016-12-01 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Skip flaky test ChakraCore/test/fieldopts/objtypespec-newobj-invalidation.1.js |
| https://bugs.webkit.org/show_bug.cgi?id=162567 |
| |
| Reviewed by Saam Barati. |
| |
| * ChakraCore.yaml: |
| |
| 2016-12-01 Keith Miller <keith_miller@apple.com> |
| |
| Add wasm int to floating point opcodes |
| https://bugs.webkit.org/show_bug.cgi?id=165252 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add tests for Wasm integral to floating point conversion opcodes. |
| |
| * wasm/function-tests/int-to-floating-point.js: Added. |
| * wasm/wasm.json: |
| |
| 2016-12-01 Geoffrey Garen <ggaren@apple.com> |
| |
| Land a test case for <rdar://problem/27889416> |
| https://bugs.webkit.org/show_bug.cgi?id=165272 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/marked-argument-buffer.js: Added. |
| (allocate): |
| (test.o.toString): |
| (test): |
| |
| 2016-11-29 Per Arne Vollan <pvollan@apple.com> |
| |
| [Win] Skip failing JSC tests. |
| https://bugs.webkit.org/show_bug.cgi?id=165140 |
| |
| Reviewed by Mark Lam. |
| |
| * ChakraCore.yaml: |
| * microbenchmarks/tan.js: |
| |
| 2016-11-30 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly builder: don't throw when checker not implemented |
| https://bugs.webkit.org/show_bug.cgi?id=165219 |
| |
| Reviewed by Mark Lam. |
| |
| We should perform whichever checks we've implemented, and assume the rest are OK until bug #163421 is fixed. |
| |
| * wasm/Builder.js: |
| * wasm/README.md: |
| * wasm/function-tests/add-12.js: |
| * wasm/function-tests/br-if-loop-less-than.js: |
| * wasm/function-tests/brTableAsIf.js: |
| * wasm/function-tests/brTableManyValues.js: |
| * wasm/function-tests/brTableWithLoop.js: |
| * wasm/function-tests/dumb-eq-if-then-else.js: |
| * wasm/function-tests/dumb-less-than-fallthrough.js: |
| * wasm/function-tests/dumb-less-than-ite.js: |
| * wasm/function-tests/eqz.js: |
| * wasm/function-tests/factorial.js: |
| * wasm/function-tests/float-sub.js: |
| * wasm/function-tests/i32-load.js: |
| * wasm/function-tests/i32-load8-s.js: |
| * wasm/function-tests/if-then-else-fallthrough.js: |
| * wasm/function-tests/if-then-fallthrough.js: |
| * wasm/function-tests/loop-mult.js: |
| * wasm/function-tests/loop-sum.js: |
| * wasm/function-tests/max.js: |
| * wasm/function-tests/min.js: |
| * wasm/function-tests/ret5.js: |
| * wasm/function-tests/select.js: |
| * wasm/self-test/test_BuilderJSON.js: |
| |
| 2016-11-29 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly JS API: improve Instance |
| https://bugs.webkit.org/show_bug.cgi?id=164757 |
| |
| Reviewed by Keith Miller. |
| |
| An Instance's `exports` property wasn't populated with exports. |
| |
| A follow-up patch will do imports. |
| |
| A few things of note: |
| |
| - LowLevelBinary: support 3-byte integers. |
| - LowLevelBinary: support proper UTF-8 2003 code points (instead of UTF-16). |
| |
| * wasm/Builder.js: |
| * wasm/Builder_WebAssemblyBinary.js: wire up exports, stub other things out some more |
| (const.emitters.Export): |
| * wasm/LowLevelBinary.js: |
| (export.default.LowLevelBinary.prototype.uint24): add, used for UTF-8 |
| (export.default.LowLevelBinary.prototype.string): support UTF-8 |
| (export.default.LowLevelBinary.prototype.getUint24): add, used for UTF-8 |
| (export.default.LowLevelBinary.prototype.getVaruint1): was missing |
| (export.default.LowLevelBinary.prototype.getString): support UTF-8 |
| (export.default.LowLevelBinary): |
| * wasm/js-api/test_Instance.js: instance.exports.answer() // <-- this is where the magic of this entire patch is |
| (ExportedAnswerI32): |
| * wasm/js-api/test_basic_api.js: punt test to later |
| (const.c.in.constructorProperties.switch): |
| * wasm/self-test/test_BuilderWebAssembly.js: UTF-8 |
| (CustomSection): |
| * wasm/self-test/test_LowLevelBinary_string.js: UTF-8 now works |
| * wasm/self-test/test_LowLevelBinary_uint16.js: was missing one value |
| * wasm/self-test/test_LowLevelBinary_uint24.js: Copied from JSTests/wasm/self-test/test_LowLevelBinary_uint8.js. |
| * wasm/self-test/test_LowLevelBinary_uint8.js: was missing one value |
| * wasm/self-test/test_LowLevelBinary_varuint1.js: Added. |
| * wasm/utilities.js: this `dump` thing was useful |
| (const._dump): |
| |
| 2016-11-29 Saam Barati <sbarati@apple.com> |
| |
| We should be able optimize the pattern where we spread a function's rest parameter to another call |
| https://bugs.webkit.org/show_bug.cgi?id=163865 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/default-derived-constructor.js: Added. |
| (createClassHierarchy.let.currentClass): |
| (createClassHierarchy): |
| * stress/call-varargs-spread.js: Added. |
| (assert): |
| (bar): |
| (foo): |
| * stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js: Added. |
| (assert): |
| (baz): |
| (bar): |
| (foo): |
| * stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js: Added. |
| (assert): |
| (foo): |
| (escape): |
| (bar): |
| * stress/phantom-new-array-with-spread-osr-exit.js: Added. |
| (assert): |
| (baz): |
| (bar): |
| (effects): |
| (foo): |
| * stress/phantom-spread-forward-varargs.js: Added. |
| (assert): |
| (test1.bar): |
| (test1.foo): |
| (test1): |
| (test2.bar): |
| (test2.foo): |
| (test3.baz): |
| (test3.bar): |
| (test3.foo): |
| (test4.baz): |
| (test4.bar): |
| (test4.foo): |
| (test5.baz): |
| (test5.bar): |
| (test5.foo): |
| * stress/phantom-spread-osr-exit.js: Added. |
| (assert): |
| (baz): |
| (bar): |
| (effects): |
| (foo): |
| * stress/spread-call-convert-to-static-call.js: Added. |
| (assert): |
| (baz): |
| (bar): |
| (foo): |
| * stress/spread-forward-call-varargs-stack-overflow.js: Added. |
| (assert): |
| (identity): |
| (bar): |
| (foo): |
| * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js: Added. |
| (assert): |
| (baz.Array.prototype.Symbol.iterator): |
| (baz): |
| (bar): |
| (foo): |
| (test): |
| * stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js: Added. |
| (assert): |
| (baz.Array.prototype.Symbol.iterator): |
| (baz): |
| (bar): |
| (foo): |
| * stress/spread-forward-varargs-stack-overflow.js: Added. |
| (assert): |
| (bar): |
| (foo): |
| |
| 2016-11-29 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] always wrap AwaitExpression operand in a new Promise |
| https://bugs.webkit.org/show_bug.cgi?id=165181 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/async-await-basic.js: |
| (async.awaitedPromisesAreWrapped): |
| |
| 2016-11-29 Keith Miller <keith_miller@apple.com> |
| |
| Add simple way to implement Wasm ops that require more than one B3 opcode |
| https://bugs.webkit.org/show_bug.cgi?id=165129 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * wasm/function-tests/eqz.js: Added. |
| * wasm/function-tests/max.js: Added. |
| * wasm/function-tests/min.js: Added. |
| * wasm/wasm.json: |
| |
| 2016-11-21 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Crash in com.apple.JavaScriptCore: WTF::ThreadSpecific<WTF::WTFThreadData, + 142 |
| https://bugs.webkit.org/show_bug.cgi?id=164898 |
| |
| Reviewed by Darin Adler. |
| |
| * stress/tagged-template-registry-key-collect.js: Added. |
| (shouldBe): |
| (tag): |
| (i.eval): |
| * stress/tagged-template-registry-key.js: Added. |
| (shouldBe): |
| (tag): |
| (a): |
| (b): |
| |
| 2016-11-20 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] speed up parsing of async functions |
| https://bugs.webkit.org/show_bug.cgi?id=164808 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Add tests for line terminator following "async" keyword in async |
| function syntax. |
| |
| * stress/async-await-syntax.js: |
| (shouldBe): |
| |
| 2016-11-19 Mark Lam <mark.lam@apple.com> |
| |
| op_mod-* JSC tests needs a longer timeout too. |
| https://bugs.webkit.org/show_bug.cgi?id=164994 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/op_mod-ConstVar.js: |
| * stress/op_mod-VarConst.js: |
| * stress/op_mod-VarVar.js: |
| |
| 2016-11-19 Mark Lam <mark.lam@apple.com> |
| |
| Add --timeoutMultiplier option to allow some tests more time to run. |
| https://bugs.webkit.org/show_bug.cgi?id=164951 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Extended the timeout for these tests by 50% more because they run quite slow on |
| low-end machines. |
| |
| * stress/op_div-ConstVar.js: |
| * stress/op_div-VarConst.js: |
| * stress/op_div-VarVar.js: |
| |
| 2016-11-18 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| REGRESSION(r208867): JSC test failure: ChakraCore.yaml/ChakraCore/test/strict/05.arguments_sm.js.default |
| https://bugs.webkit.org/show_bug.cgi?id=164929 |
| |
| Reviewed by Mark Lam. |
| |
| ES2017 drops arguments.caller and JavaScriptCore is updated to meet the spec. |
| This patch rebaselines the result of ChakraCore test for JSC. |
| |
| * ChakraCore/test/strict/05.arguments_sm.baseline-jsc: |
| |
| 2016-11-18 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Web Inspector: Generator functions should have a displayable name when shown in stack traces |
| https://bugs.webkit.org/show_bug.cgi?id=164844 |
| <rdar://problem/29300697> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/generator-function-name.js: |
| Add another test now that we name the inner generator function |
| that we do not break the lexical resolution of names. |
| |
| 2016-11-17 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Drop arguments.caller |
| https://bugs.webkit.org/show_bug.cgi?id=164859 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/strict-mode-arguments-caller.js: Added. |
| (strictArguments): |
| (shouldBe): |
| |
| 2016-11-17 Keith Miller <keith_miller@apple.com> |
| |
| Add rotate to Wasm |
| https://bugs.webkit.org/show_bug.cgi?id=164871 |
| |
| Reviewed by Filip Pizlo. |
| |
| * wasm/wasm.json: |
| |
| 2016-11-17 Keith Miller <keith_miller@apple.com> |
| |
| Add sqrt to Wasm |
| https://bugs.webkit.org/show_bug.cgi?id=164877 |
| |
| Reviewed by Mark Lam. |
| |
| B3 already has a Sqrt opcode we just need to map Wasm to it. |
| |
| * wasm/wasm.json: |
| |
| 2016-11-17 Saam Barati <sbarati@apple.com> |
| |
| Remove async/await compile time flag and enable tests |
| https://bugs.webkit.org/show_bug.cgi?id=164828 |
| <rdar://problem/28639334> |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/async-arrow-functions-lexical-arguments-binding.js: |
| * stress/async-arrow-functions-lexical-new.target-binding.js: |
| * stress/async-arrow-functions-lexical-super-binding.js: |
| * stress/async-arrow-functions-lexical-this-binding.js: |
| * stress/async-await-basic.js: |
| * stress/async-await-long-loop.js: |
| * stress/async-await-module-reserved-word.js: |
| * stress/async-await-mozilla.js: |
| (mozSyntaxErrors): |
| * stress/async-await-reserved-word.js: |
| * stress/async-await-syntax.js: |
| * stress/async-await-throw-loop.js: |
| * stress/async-function-create-nobaseline.js: |
| * stress/async-function-create-optimized.js: |
| * stress/async-function-declaration-sinking-no-double-allocate.js: |
| * stress/async-function-declaration-sinking-osrexit.js: |
| * stress/async-function-declaration-sinking-put.js: |
| * stress/async-function-expression-sinking-no-double-allocate.js: |
| * stress/async-function-expression-sinking-osrexit.js: |
| * stress/async-function-expression-sinking-put.js: |
| * test262.yaml: |
| |
| 2016-11-15 Mark Lam <mark.lam@apple.com> |
| |
| Make JSC test functions more robust. |
| https://bugs.webkit.org/show_bug.cgi?id=164807 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/jsc-test-functions-should-be-more-robust.js: Added. |
| |
| 2016-11-15 Keith Miller <keith_miller@apple.com> |
| |
| B3 should support UDiv/UMod |
| https://bugs.webkit.org/show_bug.cgi?id=164811 |
| |
| Reviewed by Filip Pizlo. |
| |
| Link new instructions to wasm. |
| |
| * wasm/wasm.json: |
| |
| 2016-11-15 Saam Barati <sbarati@apple.com> |
| |
| Debug JSC test timeout: stress/has-own-property-name-cache-symbols-and-strings.js.ftl-no-cjit-small-pool |
| https://bugs.webkit.org/show_bug.cgi?id=163012 |
| |
| Unreviewed. This patch makes a test run for less time because it's timing out on the bots. |
| |
| * stress/has-own-property-name-cache-symbols-and-strings.js: |
| |
| 2016-11-15 Mark Lam <mark.lam@apple.com> |
| |
| The jsc shell's setImpureGetterDelegate() should ensure that the set value is an ImpureGetter. |
| https://bugs.webkit.org/show_bug.cgi?id=164781 |
| <rdar://problem/28418590> |
| |
| Reviewed by Geoffrey Garen and Michael Saboff. |
| |
| * stress/jsc-setImpureGetterDelegate-on-bad-type.js: Added. |
| |
| 2016-11-15 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DOMJIT] Allow using macro assembler scratches in FTL CheckDOM |
| https://bugs.webkit.org/show_bug.cgi?id=164727 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/check-dom-with-signature.js: Added. |
| (shouldBe): |
| (calling): |
| (i.array.forEach): |
| |
| 2016-11-14 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] do not reference AwaitExpression Promises in async function Promise chain |
| https://bugs.webkit.org/show_bug.cgi?id=164753 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * asyncFunctionTests.yaml: |
| * stress/async-await-long-loop.js: Added. |
| (shouldBe): |
| (async.longLoop): |
| * stress/async-await-throw-loop.js: Added. |
| (shouldBe): |
| (async.thrower): |
| (async.throwLoop): |
| |
| 2016-11-14 Keith Miller <keith_miller@apple.com> |
| |
| Add Wasm select |
| https://bugs.webkit.org/show_bug.cgi?id=164743 |
| |
| Reviewed by Saam Barati. |
| |
| * wasm/function-tests/select.js: Added. |
| |
| 2016-11-14 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] Handle new_async_func / new_async_func_exp in DFG / FTL |
| https://bugs.webkit.org/show_bug.cgi?id=164037 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| Add tests based on tests from https://trac.webkit.org/changeset/194216. |
| |
| * asyncFunctionTests.yaml: |
| * stress/async-function-create-nobaseline.js: Added. |
| * stress/async-function-create-optimized.js: Added. |
| * stress/async-function-declaration-sinking-no-double-allocate.js: Added. |
| * stress/async-function-declaration-sinking-osrexit.js: Added. |
| * stress/async-function-declaration-sinking-put.js: Added. |
| * stress/async-function-expression-sinking-no-double-allocate.js: Added. |
| * stress/async-function-expression-sinking-osrexit.js: Added. |
| * stress/async-function-expression-sinking-put.js: Added. |
| |
| 2016-11-14 Mark Lam <mark.lam@apple.com> |
| |
| Some of JSStringView::SafeView methods are not idiomatically safe for JSString to StringView conversions. |
| https://bugs.webkit.org/show_bug.cgi?id=164701 |
| <rdar://problem/27462104> |
| |
| Reviewed by Darin Adler. |
| |
| * stress/string-prototype-charCodeAt-on-too-long-rope.js: Added. |
| |
| 2016-11-14 Mark Lam <mark.lam@apple.com> |
| |
| RegExpObject::exec/match should handle errors gracefully. |
| https://bugs.webkit.org/show_bug.cgi?id=155145 |
| <rdar://problem/27435934> |
| |
| Reviewed by Keith Miller. |
| |
| * stress/regexp-prototype-exec-on-too-long-rope.js: Added. |
| * stress/regexp-prototype-match-on-too-long-rope.js: Added. |
| * stress/regexp-prototype-test-on-too-long-rope.js: Added. |
| |
| 2016-11-14 Mark Lam <mark.lam@apple.com> |
| |
| Enhance run-jsc-stress-test script to allow optional test specific options to be added for all test run configurations. |
| https://bugs.webkit.org/show_bug.cgi?id=164695 |
| |
| Reviewed by Keith Miller. |
| |
| Replace use of runMisc* test run configurations with equivalents. |
| |
| * stress/licm-no-pre-header-nested.js: |
| * stress/licm-no-pre-header.js: |
| * stress/licm-pre-header-cannot-exit-nested.js: |
| * stress/licm-pre-header-cannot-exit.js: |
| * stress/make-dictionary-repatch.js: |
| * stress/retry-cache-later.js: |
| * stress/shadow-chicken-reading-from-scope-after-ftl-osr-exit-bytecode-liveness.js: |
| * stress/slow-path-generator-updating-current-node-dfg.js: |
| * stress/unshift-array-storage.js: |
| |
| 2016-11-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: DataView with explicit undefined byteLength should be the same as it not being present |
| https://bugs.webkit.org/show_bug.cgi?id=164453 |
| |
| Reviewed by Darin Adler. |
| |
| * stress/dataview-construct.js: Added. |
| (assert): |
| (shouldThrow): |
| * test262.yaml: |
| |
| 2016-11-11 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: DataView get methods should allow for missing offset, set methods should allow for missing value |
| https://bugs.webkit.org/show_bug.cgi?id=164451 |
| |
| Reviewed by Darin Adler. |
| |
| * test262.yaml: |
| |
| 2016-11-11 Saam Barati <sbarati@apple.com> |
| |
| We should have a more concise way of determining when we're varargs calling a function using rest parameters |
| https://bugs.webkit.org/show_bug.cgi?id=164258 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * microbenchmarks/call-using-spread.js: Added. |
| (bar): |
| (foo): |
| * microbenchmarks/spread-large-array.js: Added. |
| (foo): |
| (arrays.push): |
| * microbenchmarks/spread-small-array.js: Added. |
| (foo): |
| * stress/spread-array-iterator-watchpoint-2.js: Added. |
| (foo): |
| (arrayIterator.next): |
| * stress/spread-array-iterator-watchpoint.js: Added. |
| (foo): |
| (Array.prototype.Symbol.iterator): |
| * stress/spread-non-array.js: Added. |
| (assert): |
| (foo): |
| (let.customIterator.Symbol.iterator): |
| (bar): |
| |
| 2016-11-11 Keith Miller <keith_miller@apple.com> |
| |
| Relocate wasm tests and actually add them to the test runner |
| https://bugs.webkit.org/show_bug.cgi?id=164668 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| This moves the Wasm tests from their current location down a level. |
| Without relocating, the tests cannot properly be run by the wasm test runner. |
| |
| * wasm.yaml: |
| * wasm/Builder.js: Fix typos, yay lazy synatx checking! |
| * wasm/LowLevelBinary.js: Fix typos, yay lazy synatx checking! |
| (export.default.LowLevelBinary.prototype.get return): |
| * wasm/function-tests/add-12.js: Renamed from JSTests/wasm/js-api/function-tests/add-12.js. |
| * wasm/function-tests/br-if-loop-less-than.js: Renamed from JSTests/wasm/js-api/function-tests/br-if-loop-less-than.js. |
| * wasm/function-tests/brTableAsIf.js: Renamed from JSTests/wasm/js-api/function-tests/brTableAsIf.js. |
| * wasm/function-tests/brTableManyValues.js: Renamed from JSTests/wasm/js-api/function-tests/brTableManyValues.js. |
| * wasm/function-tests/brTableWithLoop.js: Renamed from JSTests/wasm/js-api/function-tests/brTableWithLoop.js. |
| * wasm/function-tests/dumb-eq-if-then-else.js: Renamed from JSTests/wasm/js-api/function-tests/dumb-eq-if-then-else.js. |
| * wasm/function-tests/dumb-less-than-fallthrough.js: Renamed from JSTests/wasm/js-api/function-tests/dumb-less-than-fallthrough.js. |
| * wasm/function-tests/dumb-less-than-ite.js: Renamed from JSTests/wasm/js-api/function-tests/dumb-less-than-ite.js. |
| * wasm/function-tests/factorial.js: Renamed from JSTests/wasm/js-api/function-tests/factorial.js. |
| * wasm/function-tests/float-sub.js: Renamed from JSTests/wasm/js-api/function-tests/float-sub.js. |
| * wasm/function-tests/i32-load.js: Renamed from JSTests/wasm/js-api/function-tests/i32-load.js. |
| * wasm/function-tests/i32-load8-s.js: Renamed from JSTests/wasm/js-api/function-tests/i32-load8-s.js. |
| * wasm/function-tests/if-then-else-fallthrough.js: Renamed from JSTests/wasm/js-api/function-tests/if-then-else-fallthrough.js. |
| * wasm/function-tests/if-then-fallthrough.js: Renamed from JSTests/wasm/js-api/function-tests/if-then-fallthrough.js. |
| * wasm/function-tests/loop-mult.js: Renamed from JSTests/wasm/js-api/function-tests/loop-mult.js. |
| * wasm/function-tests/loop-sum.js: Renamed from JSTests/wasm/js-api/function-tests/loop-sum.js. |
| * wasm/function-tests/ret5.js: Renamed from JSTests/wasm/js-api/function-tests/ret5.js. |
| * wasm/self-test/test_BuilderJSON.js: Rebasline |
| |
| 2016-11-11 Keith Miller <keith_miller@apple.com> |
| |
| Move Wasm tests to JS |
| https://bugs.webkit.org/show_bug.cgi?id=164611 |
| |
| Reviewed by Geoffrey Garen. |
| |
| This patch translates most of the tests from testWasm.cpp to the JS testing api. Most of the |
| ommited tests were earliest tests, which tested trivial things, like adding two |
| constants. Some tests are ommited for other reasons, however. These are: |
| |
| 1) Tests using I64 since the testing api does not yet know how to handle 64-bit numbers. 2) |
| Tests that would validate the memory of the module once wasm was done with it since that's |
| not really possible in JS. |
| |
| In order to make such a translation easier this patch also adds some features to the JS |
| testing api: |
| |
| 1) Blocks can now be done lexically by adding a lambda as the last argument of the block |
| opcode. For example one can do: |
| ... |
| .Block("i32", b => b.I32Const(1) ) |
| |
| and the nested lambda will automatically have an end attached. |
| |
| 2) The JS testing api can now handle inline signature types. |
| |
| 3) Relocate some code to make it easier to follow and prevent 44 space indentation. |
| |
| 4) Rename varuint/varint to varuint32/varint32, this lets them be directly called from the |
| wasm.json without being remapped. |
| |
| 5) Add support for Memory and Function sections to the Builder. |
| |
| 6) Add support for local variables. |
| |
| On the JSC side, we needed to expose a new function to validate the compiled wasm code |
| behaves the way we expect. At least until the JS Wasm API is finished. The new validation |
| function, testWasmModuleFunctions, takes an array buffer containing the wasm binary, the |
| number of functions in the blob and tests for each of those functions. |
| |
| * wasm/Builder.js: |
| (const._maybeRegisterType): |
| (const): Deleted. |
| (switch.typeof): Deleted. |
| * wasm/Builder_WebAssemblyBinary.js: |
| (const.emitters.Type): |
| (const.emitters.Import): |
| (const.emitters.Function): |
| (const.emitters.Memory): |
| (const.emitters.Code): |
| (export.const.Binary): |
| * wasm/LowLevelBinary.js: |
| (export.default.LowLevelBinary.prototype.get return): |
| (export.default.LowLevelBinary.prototype.varuint32): |
| (export.default.LowLevelBinary.prototype.varint32): |
| (export.default.LowLevelBinary.prototype.varuint1): |
| (export.default.LowLevelBinary.prototype.varint7): |
| (export.default.LowLevelBinary.prototype.varuint7): |
| (export.default.LowLevelBinary.prototype.inline_signature_type): |
| (export.default.LowLevelBinary.prototype.string): |
| (export.default.LowLevelBinary.prototype.getVaruint32): |
| (export.default.LowLevelBinary.prototype.getVarint32): |
| (export.default.LowLevelBinary.prototype.getVaruint7): |
| (export.default.LowLevelBinary.prototype.getString): |
| (export.default.LowLevelBinary): |
| (export.default.LowLevelBinary.prototype.varuint): Deleted. |
| (export.default.LowLevelBinary.prototype.varint): Deleted. |
| (export.default.LowLevelBinary.prototype.getVaruint): Deleted. |
| (export.default.LowLevelBinary.prototype.getVarint): Deleted. |
| * wasm/js-api/test_old_tests.js: Added. |
| (ret5): |
| (brTableWithLoop): |
| (brTableManyValues): |
| (run.brTableManyValues.brTableAsIf): |
| (ifThenFallthrough): |
| (ifThenElseFallthrough): |
| (dumbLessThanFallthrough): |
| (run.dumbLessThanFallthrough.floatSub): |
| (run.floatSub.add12): |
| (run.add12.factorial): |
| (i32load): |
| (run.i32load.i32load8s): |
| (run.i32load8s.dumbEqIfThenElse): |
| (run.dumbEqIfThenElse.dumbEqIfThenElse): |
| (run.dumbEqIfThenElse.dumbLessThanIfThenElse): |
| (run.dumbLessThanIfThenElse.loopSum): |
| (run.loopSum.loopMult): |
| (brIfLoopLessThan): |
| (run.brIfLoopLessThan.run): |
| * wasm/self-test/test_LowLevelBinary_varint32.js: Renamed from JSTests/wasm/self-test/test_LowLevelBinary_varint.js. |
| * wasm/self-test/test_LowLevelBinary_varuint32.js: Renamed from JSTests/wasm/self-test/test_LowLevelBinary_varuint.js. |
| |
| * wasm/Builder.js: |
| (const._maybeRegisterType): |
| (const): Deleted. |
| (switch.typeof): Deleted. |
| * wasm/Builder_WebAssemblyBinary.js: |
| (const.emitters.Type): |
| (const.emitters.Import): |
| (const.emitters.Function): |
| (const.emitters.Memory): |
| (const.emitters.Code): |
| (export.const.Binary): |
| * wasm/LowLevelBinary.js: |
| (export.default.LowLevelBinary.prototype.get return): |
| (export.default.LowLevelBinary.prototype.varuint32): |
| (export.default.LowLevelBinary.prototype.varint32): |
| (export.default.LowLevelBinary.prototype.varuint1): |
| (export.default.LowLevelBinary.prototype.varint7): |
| (export.default.LowLevelBinary.prototype.varuint7): |
| (export.default.LowLevelBinary.prototype.inline_signature_type): |
| (export.default.LowLevelBinary.prototype.string): |
| (export.default.LowLevelBinary.prototype.getVaruint32): |
| (export.default.LowLevelBinary.prototype.getVarint32): |
| (export.default.LowLevelBinary.prototype.getVaruint7): |
| (export.default.LowLevelBinary.prototype.getString): |
| (export.default.LowLevelBinary): |
| (export.default.LowLevelBinary.prototype.varuint): Deleted. |
| (export.default.LowLevelBinary.prototype.varint): Deleted. |
| (export.default.LowLevelBinary.prototype.getVaruint): Deleted. |
| (export.default.LowLevelBinary.prototype.getVarint): Deleted. |
| * wasm/js-api/function-tests/add-12.js: Added. |
| * wasm/js-api/function-tests/br-if-loop-less-than.js: Added. |
| * wasm/js-api/function-tests/brTableAsIf.js: Added. |
| * wasm/js-api/function-tests/brTableManyValues.js: Added. |
| * wasm/js-api/function-tests/brTableWithLoop.js: Added. |
| * wasm/js-api/function-tests/dumb-eq-if-then-else.js: Added. |
| * wasm/js-api/function-tests/dumb-less-than-fallthrough.js: Added. |
| * wasm/js-api/function-tests/dumb-less-than-ite.js: Added. |
| * wasm/js-api/function-tests/factorial.js: Added. |
| * wasm/js-api/function-tests/float-sub.js: Added. |
| * wasm/js-api/function-tests/i32-load.js: Added. |
| * wasm/js-api/function-tests/i32-load8-s.js: Added. |
| * wasm/js-api/function-tests/if-then-else-fallthrough.js: Added. |
| * wasm/js-api/function-tests/if-then-fallthrough.js: Added. |
| * wasm/js-api/function-tests/loop-mult.js: Added. |
| * wasm/js-api/function-tests/loop-sum.js: Added. |
| * wasm/js-api/function-tests/ret5.js: Added. |
| * wasm/self-test/test_LowLevelBinary_varint32.js: Renamed from JSTests/wasm/self-test/test_LowLevelBinary_varint.js. |
| * wasm/self-test/test_LowLevelBinary_varuint32.js: Renamed from JSTests/wasm/self-test/test_LowLevelBinary_varuint.js. |
| |
| 2016-11-11 Saam Barati <sbarati@apple.com> |
| |
| We recursively grab a lock in the DFGBytecodeParser causing us to deadlock |
| https://bugs.webkit.org/show_bug.cgi?id=164650 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/dont-dead-lock-put-by-val-as-put-by-id.js: Added. |
| (ident): |
| (let.o.set foo): |
| (foo): |
| |
| 2016-11-11 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, rolling out r208584. |
| |
| Seems to have regressed Speedometer by 1% on Mac |
| |
| Reverted changeset: |
| |
| "We should have a more concise way of determining when we're |
| varargs calling a function using rest parameters" |
| https://bugs.webkit.org/show_bug.cgi?id=164258 |
| http://trac.webkit.org/changeset/208584 |
| |
| 2016-11-11 Chris Dumez <cdumez@apple.com> |
| |
| Unreviewed, rolling out r208117 and r208160. |
| |
| Regressed Speedometer by >1.5% |
| |
| Reverted changesets: |
| |
| "We should have a way of profiling when a get_by_id is pure |
| and to emit a PureGetById in the DFG/FTL" |
| https://bugs.webkit.org/show_bug.cgi?id=163305 |
| http://trac.webkit.org/changeset/208117 |
| |
| "Debug JSC test microbenchmarks/pure-get-by-id-cse-2.js timing |
| out" |
| https://bugs.webkit.org/show_bug.cgi?id=164227 |
| http://trac.webkit.org/changeset/208160 |
| |
| 2016-11-11 Saam Barati <sbarati@apple.com> |
| |
| We should have a more concise way of determining when we're varargs calling a function using rest parameters |
| https://bugs.webkit.org/show_bug.cgi?id=164258 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * microbenchmarks/call-using-spread.js: Added. |
| (bar): |
| (foo): |
| * microbenchmarks/spread-large-array.js: Added. |
| (foo): |
| (arrays.push): |
| * microbenchmarks/spread-small-array.js: Added. |
| (foo): |
| * stress/spread-array-iterator-watchpoint-2.js: Added. |
| (foo): |
| (arrayIterator.next): |
| * stress/spread-array-iterator-watchpoint.js: Added. |
| (foo): |
| (Array.prototype.Symbol.iterator): |
| * stress/spread-non-array.js: Added. |
| (assert): |
| (foo): |
| (let.customIterator.Symbol.iterator): |
| (bar): |
| |
| 2016-11-10 Mark Lam <mark.lam@apple.com> |
| |
| Fix broken have-a-bad-time-with-arguments.js test. |
| https://bugs.webkit.org/show_bug.cgi?id=164626 |
| |
| Reviewed by Filip Pizlo. |
| |
| But also saved a copy of the broken one as broken-have-a-bad-time-with-arguments-for-gc-testing.js |
| because coincidentally, it stresses the GC in ways that help reveal bugs. |
| |
| * stress/broken-have-a-bad-time-with-arguments-for-gc-testing.js: Added. |
| (testFunction): |
| (warmupFunction): |
| (let.argsDeclIndex.in.argumentsDecls.let.indexToReturnIndex.in.indicesToReturn.let.insertElementActionIndex.in.insertElementActions.let.tierWarmupCountIndex.in.tierWarmupCounts.let.testArgsIndex.in.testArgsList.catch): |
| * stress/have-a-bad-time-with-arguments.js: |
| |
| 2016-11-10 JF Bastien <jfbastien@apple.com> |
| |
| ASSERTION FAILED: length > offset encountered with wasm.yaml/wasm/js-api/test_Module.js.default-wasm |
| https://bugs.webkit.org/show_bug.cgi?id=164597 |
| |
| Reviewed by Keith Miller. |
| |
| Trim the array buffer before returning it: it's optimistically |
| over-allocated to avoid growing all the time, but when parsed it |
| can't have extra content. |
| |
| * wasm/Builder_WebAssemblyBinary.js: |
| (export.const.Binary): |
| * wasm/LowLevelBinary.js: |
| (export.default.LowLevelBinary.prototype.get return): |
| |
| 2016-11-10 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: DataView / TypedArray methods should throw RangeErrors for negative numbers (ToIndex) |
| https://bugs.webkit.org/show_bug.cgi?id=164450 |
| |
| Reviewed by Darin Adler. |
| |
| * stress/dataview-typedarray-toindex.js: Added. |
| Tests for all cases where ToIndex should be used. |
| |
| * test262.yaml: |
| New passing tests. |
| |
| 2016-11-10 Mark Lam <mark.lam@apple.com> |
| |
| Graph::methodOfGettingAValueProfileFor() should be returning the profile for the operand node. |
| https://bugs.webkit.org/show_bug.cgi?id=164600 |
| <rdar://problem/28828676> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/osr-exit-on-op-negate-should-no-fail-assertions.js: Added. |
| |
| 2016-11-08 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Avoid cloned arguments allocation in ArrayPrototype methods |
| https://bugs.webkit.org/show_bug.cgi?id=164502 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/argument-intrinsic-basic.js: Added. |
| (shouldBe): |
| (builtin.createBuiltin): |
| * stress/argument-intrinsic-inlining-with-result-escape.js: Added. |
| (shouldBe): |
| (builtin.createBuiltin): |
| (escape): |
| * stress/argument-intrinsic-nested-inlining.js: Added. |
| (shouldBe): |
| (builtin.createBuiltin): |
| (builtinCaller1): |
| (builtinCaller2): |
| (escape): |
| * stress/argument-intrinsic-not-convert-to-get-argument.js: Added. |
| (shouldBe): |
| (builtin.createBuiltin): |
| * stress/argument-intrinsic-with-stack-write.js: Added. |
| (shouldBe): |
| (builtin.createBuiltin): |
| |
| 2016-11-09 Saam Barati <sbarati@apple.com> |
| |
| Math.min()/Math.max() with no arguments is lowered incorrectly in the BytecodeParser |
| https://bugs.webkit.org/show_bug.cgi?id=164464 |
| <rdar://problem/29131452> |
| |
| Reviewed by Darin Adler. |
| |
| * stress/math-max-min-no-arguments.js: Added. |
| (assert): |
| (min): |
| (max): |
| (test): |
| |
| 2016-11-09 Saam Barati <sbarati@apple.com> |
| |
| TypeProfiler and running GC collection on another thread don't play nicely with each other |
| https://bugs.webkit.org/show_bug.cgi?id=164441 |
| <rdar://problem/29132174> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * typeProfiler/type-profiler-gc.js: Added. |
| (bar): |
| (foo): |
| |
| 2016-11-04 Mark Lam <mark.lam@apple.com> |
| |
| Error description code should be able to handle Symbol values. |
| https://bugs.webkit.org/show_bug.cgi?id=164436 |
| <rdar://problem/29115583> |
| |
| Reviewed by Filip Pizlo and Saam Barati. |
| |
| * stress/error-description-on-symbols-should-not-crash.js: Added. |
| |
| 2016-11-03 Geoffrey Garen <ggaren@apple.com> |
| |
| EvalCodeCache should not give up in strict mode and other cases |
| https://bugs.webkit.org/show_bug.cgi?id=164357 |
| |
| Reviewed by Michael Saboff. |
| |
| * microbenchmarks/eval-cached.js: Added. 45x faster now. |
| * stress/eval-cached.js: Added. Try running the same eval text in a bunch |
| of different scopes and verify that we access the right scope. |
| |
| 2016-11-04 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly JS API: implement more sections |
| https://bugs.webkit.org/show_bug.cgi?id=164023 |
| |
| Reviewed by Keith Miller. |
| |
| On the JSC side: |
| |
| - Put in parser stubs for all WebAssembly sections. |
| - Parse Import, Export sections. |
| - Use tryReserveCapacity instead of reserve, and bail out of the parser if it fails. This prevents the parser from bringing everything down when faced with a malicious input. |
| - Encapsulate all parsed module information into its own structure, making it easier to pass around (from parser to Plan to Module to Instance). |
| - Create WasmFormat.cpp to hold parsed module information's dtor to avoid including WasmMemory.h needlessly. |
| - parseCode: avoid overflow through function size. |
| - Remove all remainders of polyfill-prototype-1, and update license. |
| - Add missing WasmOps.h and WasmValidateInlines.h auto-generation for cmake build. |
| |
| On the Builder.js testing side: |
| |
| - Implement Type, Import (function only), Export (function only) sections. |
| - Check section order and uniqueness. |
| - Optionally auto-generate the Type section from subsequent Export / Import / Code entries. |
| - Allow re-exporting an import. |
| |
| * wasm/Builder.js: build type, import, and export sections |
| (const._normalizeFunctionSignature): |
| * wasm/Builder_WebAssemblyBinary.js: Added. Forked from Builder.js |
| (const.emitters.Type): |
| (const.emitters.Import): |
| (const.emitters.Function): |
| (const.emitters.Table): |
| (const.emitters.Memory): |
| (const.emitters.Global): |
| (const.emitters.Export): |
| (const.emitters.Start): |
| (const.emitters.Element): |
| (const.emitters.Code): |
| (const.emitters.Data): |
| (export.const.Binary): |
| * wasm/LowLevelBinary.js: Add a few useful outputs |
| (export.default.LowLevelBinary.prototype.varuint1): |
| (export.default.LowLevelBinary.prototype.varint7): |
| * wasm/WASM.js: value type and external kind helpers |
| * wasm/assert.js: array element-wise equality comparison |
| (const._eq): |
| * wasm/js-api/test_Module.js: |
| (ModuleWithImports): |
| * wasm/self-test/test_BuilderJSON.js: many more tests for all the new Builder APIs, and update to some older tests which now require a Type section or rejiggered Function signature |
| (const.assertOpThrows): |
| (SectionsWithSameCustomName): |
| (TwoTypeSections): |
| (EmptyImportSection): |
| (ImportBeforeTypeSections): |
| * wasm/self-test/test_BuilderWebAssembly.js: remove a test which wasn't helpful and is now obsolete |
| (CustomSection): |
| |
| 2016-11-03 Mark Lam <mark.lam@apple.com> |
| |
| ClonedArguments need to also support haveABadTime mode. |
| https://bugs.webkit.org/show_bug.cgi?id=164200 |
| <rdar://problem/27211336> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/have-a-bad-time-with-arguments.js: Added. |
| |
| 2016-11-03 Filip Pizlo <fpizlo@apple.com> |
| |
| DFG plays fast and loose with the shadow values of a Phi |
| https://bugs.webkit.org/show_bug.cgi?id=164309 |
| |
| Reviewed by Saam Barati. |
| |
| This test demonstrates why the DFG needs to recognize the shadow value of a Phi. |
| |
| * stress/dfg-ssa-swap.js: Added. |
| (foo): |
| |
| 2016-11-03 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r208364. |
| https://bugs.webkit.org/show_bug.cgi?id=164402 |
| |
| broke the build (Requested by smfr on #webkit). |
| |
| Reverted changeset: |
| |
| "DFG plays fast and loose with the shadow values of a Phi" |
| https://bugs.webkit.org/show_bug.cgi?id=164309 |
| http://trac.webkit.org/changeset/208364 |
| |
| 2016-11-03 Filip Pizlo <fpizlo@apple.com> |
| |
| DFG plays fast and loose with the shadow values of a Phi |
| https://bugs.webkit.org/show_bug.cgi?id=164309 |
| |
| Reviewed by Saam Barati. |
| |
| This test demonstrates why the DFG needs to recognize the shadow value of a Phi. |
| |
| * stress/dfg-ssa-swap.js: Added. |
| (foo): |
| |
| 2016-11-03 Saam Barati <sbarati@apple.com> |
| |
| Asking for a value profile prediction should be defensive against not finding a value profile |
| https://bugs.webkit.org/show_bug.cgi?id=164306 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/inlined-tail-call-in-inlined-setter-should-not-crash-when-getting-value-profile.js: Added. |
| (let.o.set foo): |
| (bar): |
| |
| 2016-11-02 Saam Barati <sbarati@apple.com> |
| |
| Allocation elimination of rest parameter doesn't take into account indexed properties on Array.prototype/Object.prototype |
| https://bugs.webkit.org/show_bug.cgi?id=164301 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/rest-parameter-allocation-elimination-watchpoints-2.js: Added. |
| (assert): |
| (foo): |
| * stress/rest-parameter-allocation-elimination-watchpoints-3.js: Added. |
| (assert): |
| (foo): |
| * stress/rest-parameter-allocation-elimination-watchpoints-4.js: Added. |
| (assert): |
| (foo): |
| * stress/rest-parameter-allocation-elimination-watchpoints-5.js: Added. |
| (assert): |
| (foo): |
| * stress/rest-parameter-allocation-elimination-watchpoints-6.js: Added. |
| (assert): |
| (foo): |
| * stress/rest-parameter-allocation-elimination-watchpoints.js: Added. |
| (assert): |
| (foo): |
| |
| 2016-11-01 Saam Barati <sbarati@apple.com> |
| |
| We should be able to eliminate rest parameter allocations |
| https://bugs.webkit.org/show_bug.cgi?id=163925 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/rest-parameter-allocation-elimination.js: Added. |
| (assert): |
| (test1.bar): |
| (test1): |
| (test2.jaz): |
| (test2.jaz2.kaz): |
| (test2.jaz2): |
| (test2): |
| (test3.foo): |
| (test3.baz): |
| (test3.jaz): |
| (test3): |
| (test4.baz): |
| (test4.jaz): |
| (test4): |
| (test5.baz): |
| (test5.jaz): |
| (test5): |
| (test6.baz): |
| (test6.jaz): |
| (test6): |
| (test7.baz): |
| (test7.jaz): |
| (test7.check): |
| (test7): |
| (test8.baz): |
| (test8.jaz): |
| (test8.check): |
| (test8): |
| (test9.baz): |
| (test9.jaz): |
| (test9.check): |
| (test9): |
| (test10.baz): |
| (test10.jaz): |
| (test10): |
| (test11.bar): |
| (test11.foo): |
| (test11.makeArguments): |
| (test11.): |
| (test12): |
| (test12.bar): |
| (test12.foo): |
| (test12.makeArguments): |
| (test12.): |
| (test13.bar): |
| (test13.top): |
| (test13.foo): |
| (test13.makeArguments): |
| (test13.): |
| (test13): |
| (test14.bar): |
| (test14.top): |
| (test14.foo): |
| (test14.makeArguments): |
| (test14.): |
| (test14): |
| (test15.bar): |
| (test15.top): |
| (test15.foo): |
| (test15.makeArguments): |
| (test15.): |
| (test15): |
| |
| 2016-11-01 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r208208 and r208210. |
| https://bugs.webkit.org/show_bug.cgi?id=164276 |
| |
| This change caused 28 JSC test failures. (Requested by |
| ryanhaddad on #webkit). |
| |
| Reverted changesets: |
| |
| "We should be able to eliminate rest parameter allocations" |
| https://bugs.webkit.org/show_bug.cgi?id=163925 |
| http://trac.webkit.org/changeset/208208 |
| |
| "Fix the EFL build." |
| http://trac.webkit.org/changeset/208210 |
| |
| 2016-10-31 Filip Pizlo <fpizlo@apple.com> |
| |
| JSC should support SharedArrayBuffer |
| https://bugs.webkit.org/show_bug.cgi?id=163986 |
| |
| Reviewed by Keith Miller. |
| |
| This adds our own test for the various corner cases of SharedArrayBuffer. This test is meant to |
| check all of the things that don't require concurrency. |
| |
| * stress/SharedArrayBuffer.js: Added. |
| (checkAtomics): |
| (shouldFail): |
| (Symbol): |
| (runAtomic): |
| |
| 2016-10-31 Saam Barati <sbarati@apple.com> |
| |
| We should be able to eliminate rest parameter allocations |
| https://bugs.webkit.org/show_bug.cgi?id=163925 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/rest-parameter-allocation-elimination.js: Added. |
| (assert): |
| (test1.bar): |
| (test1): |
| (test2.jaz): |
| (test2.jaz2.kaz): |
| (test2.jaz2): |
| (test2): |
| (test3.foo): |
| (test3.baz): |
| (test3.jaz): |
| (test3): |
| (test4.baz): |
| (test4.jaz): |
| (test4): |
| (test5.baz): |
| (test5.jaz): |
| (test5): |
| (test6.baz): |
| (test6.jaz): |
| (test6): |
| (test7.baz): |
| (test7.jaz): |
| (test7.check): |
| (test7): |
| (test8.baz): |
| (test8.jaz): |
| (test8.check): |
| (test8): |
| (test9.baz): |
| (test9.jaz): |
| (test9.check): |
| (test9): |
| (test10.baz): |
| (test10.jaz): |
| (test10): |
| (test11.bar): |
| (test11.foo): |
| (test11.makeArguments): |
| (test11.): |
| (test12): |
| (test12.bar): |
| (test12.foo): |
| (test12.makeArguments): |
| (test12.): |
| (test13.bar): |
| (test13.top): |
| (test13.foo): |
| (test13.makeArguments): |
| (test13.): |
| (test13): |
| (test14.bar): |
| (test14.top): |
| (test14.foo): |
| (test14.makeArguments): |
| (test14.): |
| (test14): |
| (test15.bar): |
| (test15.top): |
| (test15.foo): |
| (test15.makeArguments): |
| (test15.): |
| (test15): |
| |
| 2016-10-31 Saam Barati <sbarati@apple.com> |
| |
| Debug JSC test microbenchmarks/pure-get-by-id-cse-2.js timing out |
| https://bugs.webkit.org/show_bug.cgi?id=164227 |
| |
| Unreviewed timeout fix. |
| |
| * microbenchmarks/pure-get-by-id-cse-2.js: |
| |
| 2016-10-31 Keith Miller <keith_miller@apple.com> |
| |
| autogenerated files from wasm.json should be in derived sources. |
| https://bugs.webkit.org/show_bug.cgi?id=164152 |
| |
| Reviewed by Filip Pizlo. |
| |
| Delete generation script since it is no longer used. |
| |
| * wasm/generate-wasmops-header.js: Removed. |
| |
| 2016-10-29 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] JSON.stringify should handle Proxy which is non JSArray but isArray is true |
| https://bugs.webkit.org/show_bug.cgi?id=164123 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/json-stringify-with-non-jsarray-array.js: Added. |
| (shouldBe): |
| (shouldBe.JSON.stringify.new.Proxy): |
| |
| 2016-10-29 Saam Barati <sbarati@apple.com> |
| |
| We should have a way of profiling when a get_by_id is pure and to emit a PureGetById in the DFG/FTL |
| https://bugs.webkit.org/show_bug.cgi?id=163305 |
| |
| Reviewed by Keith Miller. |
| |
| * microbenchmarks/pure-get-by-id-cse-2.js: Added. |
| (foo): |
| * microbenchmarks/pure-get-by-id-cse.js: Added. |
| (foo): |
| * stress/pure-get-by-id-cse-correctness.js: Added. |
| (assert): |
| (foo): |
| * stress/pure-get-by-id-on-non-object.js: Added. |
| (assert): |
| (foo): |
| |
| 2016-10-28 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Skip JSTests/microbenchmarks/dense-set.js on memory limited devices |
| https://bugs.webkit.org/show_bug.cgi?id=164128 |
| |
| Reviewed by Mark Lam. |
| |
| * microbenchmarks/dense-set.js: |
| |
| 2016-10-20 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] implement runtime for async functions |
| https://bugs.webkit.org/show_bug.cgi?id=163760 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/async-await-basic.js: Added. |
| (shouldBe): |
| (shouldBeAsync): |
| (shouldThrow): |
| (shouldThrowAsync): |
| (shouldThrowSyntaxError): |
| (let.AsyncFunction.async): |
| (async.asyncFunctionForProto): |
| (Object.getPrototypeOf.async): |
| (Object.getPrototypeOf.async.method): |
| (async): |
| (async.method): |
| (async.asyncNonConstructorDecl): |
| (shouldThrow.new.async): |
| (shouldThrow.new.async.nonConstructor): |
| (async.asyncDecl): |
| (async.f): |
| (MyError): |
| (async.asyncDeclThrower): |
| (shouldThrowAsync.async): |
| (resolveLater): |
| (rejectLater): |
| (async.resumeAfterNormal): |
| (O.async.resumeAfterNormal): |
| (resumeAfterNormalArrow.async): |
| (async.resumeAfterThrow): |
| (O.async.resumeAfterThrow): |
| (resumeAfterThrowArrow.async): |
| (catch): |
| * stress/async-await-module-reserved-word.js: Added. |
| (shouldThrow): |
| (SyntaxError.Canstring_appeared_hereawait.checkModuleSyntaxError.String.raw.await): |
| (checkModuleSyntaxError.String.raw.await): |
| (checkModuleSyntaxError.String.raw.async.await): |
| (SyntaxError.Cannot.declare.named): |
| * stress/async-await-mozilla.js: Added. |
| (shouldBe): |
| (shouldBeAsync): |
| (shouldThrow): |
| (shouldThrowAsync): |
| (assert): |
| (shouldThrowSyntaxError): |
| (mozSemantics.async.empty): |
| (mozSemantics.async.simpleReturn): |
| (mozSemantics.async.simpleAwait): |
| (mozSemantics.async.simpleAwaitAsync): |
| (mozSemantics.async.returnOtherAsync): |
| (mozSemantics.async.simpleThrower): |
| (mozSemantics.async.delegatedThrower): |
| (mozSemantics.async.tryCatch): |
| (mozSemantics.async.tryCatchThrow): |
| (mozSemantics.async.wellFinally): |
| (mozSemantics.async.finallyMayFail): |
| (mozSemantics.async.embedded.async.inner): |
| (mozSemantics.async.embedded): |
| (mozSemantics.async.fib): |
| (mozSemantics.async.isOdd.async.isEven): |
| (mozSemantics.async.isOdd): |
| (mozSemantics.hardcoreFib.async.fib2): |
| (mozSemantics.namedAsyncExpr.async.simple): |
| (mozSemantics.async.executionOrder.async.first): |
| (mozSemantics.async.executionOrder.async.second): |
| (mozSemantics.async.executionOrder.async.third): |
| (mozSemantics.async.executionOrder): |
| (mozSemantics.async.miscellaneous): |
| (mozSemantics.thrower): |
| (mozSemantics.async.defaultArgs): |
| (mozSemantics.shouldThrow): |
| (mozSemantics): |
| (mozMethods.X): |
| (mozMethods.X.prototype.async.getValue): |
| (mozMethods.X.prototype.setValue): |
| (mozMethods.X.prototype.async.increment): |
| (mozMethods.X.prototype.async.getBaseClassName): |
| (mozMethods.X.async.getStaticValue): |
| (mozMethods.Y.prototype.async.getBaseClassName): |
| (mozMethods.Y): |
| (mozFunctionNameInferrence.async.test): |
| (mozSyntaxErrors): |
| * stress/async-await-reserved-word.js: Added. |
| (assert): |
| (shouldThrowSyntaxError): |
| (AsyncFunction.async): |
| * stress/async_arrow_functions_lexical_arguments_binding.js: Added. |
| (shouldBe): |
| (shouldBeAsync): |
| (shouldThrowAsync): |
| (noArgumentsArrow2.async): |
| * stress/async_arrow_functions_lexical_new.target_binding.js: Added. |
| (shouldBe): |
| (shouldBeAsync): |
| (shouldThrowAsync): |
| (C1): |
| (C2): |
| (shouldThrowAsync.async): |
| * stress/async_arrow_functions_lexical_super_binding.js: Added. |
| (shouldBe): |
| (shouldBeAsync): |
| (BaseClass.prototype.baseClassValue): |
| (BaseClass.prototype.get property): |
| (BaseClass): |
| (ChildClass.prototype.asyncSuperProp): |
| (ChildClass.prototype.asyncSuperProp2): |
| (ChildClass): |
| (ChildClass2): |
| * stress/async_arrow_functions_lexical_this_binding.js: Added. |
| (shouldBe): |
| (shouldBeAsync): |
| (d.y): |
| |
| 2016-10-28 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Skip 2 JS stress tests on memory limited devices |
| https://bugs.webkit.org/show_bug.cgi?id=164125 |
| |
| Unreviewed quick fix to unbreak JSCOnly ARM bots as soon as possible. |
| |
| * stress/joined-strings-should-not-exceed-max-string-length.js: |
| * stress/string-prototype-replace-should-throw-out-of-memory-error-when-using-too-much-memory.js: |
| |
| 2016-10-27 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] forbid lexical redeclaration of generator formal parameters |
| https://bugs.webkit.org/show_bug.cgi?id=163930 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/async-await-syntax.js: |
| * stress/generator-syntax.js: |
| (testSyntaxError.gen): |
| (testSyntaxError.arguments): |
| (testSyntaxError.eval): |
| * test262.yaml: |
| |
| 2016-10-26 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly API: implement Instance |
| |
| As described in: https://github.com/WebAssembly/design/blob/master/JS.md#webassemblyinstance-objects |
| |
| - Take ownership of Wasm::Plan's compilation result when successfully creating a JSWebAssemblyModule object. |
| - Construct a basic Instance with a Module. |
| - Handle second argument (importObject) of WebAssembly.Instance. |
| - Add reference text from the spec to WebAssembly.Module's code. |
| - Expose and test an empty 'exports' ModuleNamespaceObject on WebAssembly.Instance. |
| |
| The implementation isn't complete yet: it relies on further work for which I've filed bugs. |
| |
| WebAssembly API: implement Instance |
| https://bugs.webkit.org/show_bug.cgi?id=163998 |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/js-api/test_Instance.js: Added. |
| (EmptyModule): use the Builder, create the simplest Module possible, and create an Instance from it |
| * wasm/js-api/test_basic_api.js: |
| (const.c.in.constructorProperties.switch): basic tests of the API |
| |
| 2016-10-26 Mark Lam <mark.lam@apple.com> |
| |
| JSGenericTypedArrayView::set() should check for exceptions. |
| https://bugs.webkit.org/show_bug.cgi?id=164007 |
| <rdar://problem/28853775> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/typed-array-view-set-should-not-crash-on-exception.js: Added. |
| |
| 2016-10-25 Mark Lam <mark.lam@apple.com> |
| |
| String.prototype.replace() should throw an OutOfMemoryError when using too much memory. |
| https://bugs.webkit.org/show_bug.cgi?id=163996 |
| <rdar://problem/28263117> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/string-prototype-replace-should-throw-out-of-memory-error-when-using-too-much-memory.js: Added. |
| |
| 2016-10-25 Mark Lam <mark.lam@apple.com> |
| |
| JSStringJoiner::joinedLength() should limit joined string lengths to INT_MAX. |
| https://bugs.webkit.org/show_bug.cgi?id=163937 |
| <rdar://problem/28642990> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/joined-strings-should-not-exceed-max-string-length.js: Added. |
| |
| 2016-10-25 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly JS API: simple Module test |
| https://bugs.webkit.org/show_bug.cgi?id=163963 |
| |
| Reviewed by Filip Pizlo. |
| |
| * wasm/LowLevelBinary.js: |
| (export.default.LowLevelBinary.prototype.get return): get the ArrayBuffer |
| (export.default.LowLevelBinary.prototype.hexdump): Deleted. |
| (export.default.LowLevelBinary.prototype._maybeGrow): Deleted. |
| * wasm/js-api/test_Module.js: Added. |
| (EmptyModule): The most basic module possible |
| |
| 2016-10-25 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly JS API: implement Module |
| |
| This implementation allows us to: |
| - Syncrhonously create a WebAssembly.Module with a typed array. |
| - Creates a compilation plan. |
| - Parse the Module and creates corresponding code. |
| - Throw WebAssembly.CompileError with mildly helpful [*] error messages on |
| failure. |
| |
| Consult the API documentation for expected behavior: https://github.com/WebAssembly/design/blob/master/JS.md#webassemblymodule-constructor |
| |
| For now the implementation discards the generated code. |
| |
| The next steps will be: |
| - Expose a Module's exports. |
| - Implement WebAssembly.Instance, which allows instantiating and running a |
| compiled Module. |
| - Beef up the testing infrastructure under JSTests/wasm so that more complex |
| modules can be created and tested (instead of writing the bits by hand). |
| |
| This patch also: |
| - Adds assert.instanceof in assert.js. |
| - Refactors Wasm::Parser and friends to accept const uint8_t* as well as a |
| Vector, to avoid copying when invoked synchronously. |
| - Remove useless Structure from some of the wasm constructors: they're already |
| on the JSGlobalObject, visited properly and all. |
| - Fix off-by-one error in parsing: Parser::parseUInt32 failed if the integer |
| was exactly at end of file. |
| |
| [*] On error messages while parsing: I filed https://bugs.webkit.org/show_bug.cgi?id=163919 |
| |
| WebAssembly JS API: implement Module |
| https://bugs.webkit.org/show_bug.cgi?id=163903 |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/assert.js: use underscore in name, and remove when exporting to avoid clasing with builtin names |
| (const._notUndef): |
| (const._isUndef): |
| (const._eq): |
| (const._ge): |
| (const._throws): |
| * wasm/js-api/test_basic_api.js: test the WebAssembly.Module API |
| (const.c.in.constructorProperties.switch): |
| |
| 2016-10-25 Keith Miller <keith_miller@apple.com> |
| |
| Add trivial Wasm conversion opcodes |
| https://bugs.webkit.org/show_bug.cgi?id=163950 |
| |
| Reviewed by Filip Pizlo. |
| |
| This patch differentiates between Wasm opcodes that are trivially mapped to a B3 opcode and |
| those that are not. Some of the Wasm opcodes that are currently a non-simple opcode will |
| become simple as we add B3 opcodes for Wasm operations. The remaining opcodes will need to |
| be added via patchpoints in a later patch. |
| |
| * wasm/generate-wasmops-header.js: |
| (const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.Wasm.inline.bool.isSimple): |
| * wasm/wasm.json: |
| |
| 2016-10-24 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Arrow functions with concise bodies cannot return regular expressions |
| https://bugs.webkit.org/show_bug.cgi?id=163162 |
| |
| Reviewed by Filip Pizlo. |
| |
| * ChakraCore/test/Operators/instanceof.baseline-jsc: |
| * ChakraCore/test/Regex/nul_character.baseline-jsc: |
| * ChakraCore/test/es5/Lex_u3.baseline-jsc: |
| * stress/parse-regexp-as-token.js: Added. |
| (shouldBe): |
| |
| 2016-10-24 Keith Miller <keith_miller@apple.com> |
| |
| Wasm should support floating point operations. |
| https://bugs.webkit.org/show_bug.cgi?id=163770 |
| |
| Reviewed by Michael Saboff. |
| |
| Add appropriate b3op names for floating point wasm bytecodes, where they exist. |
| Also, fix some WASM => Wasm in WasmOps.h generator script that I missed |
| the first time I made the change. |
| |
| * wasm/generate-wasmops-header.js: |
| (const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.template.typename.Int.inline.bool.isValidOpType): Deleted. |
| (const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.BinaryOpType): Deleted. |
| (const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.UnaryOpType): Deleted. |
| (const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.LoadOpType): Deleted. |
| (const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.StoreOpType): Deleted. |
| (const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.undef.CREATE_ENUM_VALUE.inline.bool.isControlOp): Deleted. |
| * wasm/wasm.json: |
| |
| 2016-10-21 Saam Barati <sbarati@apple.com> |
| |
| SpeculativeJIT::compileTryGetById needs to pass in NeedsToSpill along both the cell speculation and untyped speculation path |
| https://bugs.webkit.org/show_bug.cgi?id=163622 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/try-get-by-id-should-spill-registers-dfg.js: Added. |
| (let.f.createBuiltin): |
| |
| 2016-10-21 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] don't crash when arguments to `new Function()` produce unexpected AST |
| https://bugs.webkit.org/show_bug.cgi?id=163748 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/regress-163748.js: Added. |
| (assert): |
| (shouldThrowSyntaxError): |
| (GeneratorFunction): |
| |
| 2016-10-20 Keith Miller <keith_miller@apple.com> |
| |
| Add support for WASM calls |
| https://bugs.webkit.org/show_bug.cgi?id=161727 |
| |
| Reviewed by Filip Pizlo and Michael Saboff. |
| |
| Add members of the Call category to the WASMOps special group. |
| |
| * wasm/generate-wasmops-header.js: |
| |
| 2016-10-20 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Drop isEnvironmentRecord type info flag and use JSType information instead |
| https://bugs.webkit.org/show_bug.cgi?id=163761 |
| |
| Reviewed by Keith Miller. |
| |
| * modules/string-prototype-module-scope.js: Added. |
| (shouldBe): |
| (catch): |
| (refer): |
| * stress/string-prototype-scopes-global-lexical-environment-strict.js: Added. |
| (shouldBe): |
| (catch): |
| * stress/string-prototype-scopes-global-lexical-environment.js: Added. |
| (shouldBe): |
| (catch): |
| * stress/string-prototype-scopes-strict.js: Added. |
| (shouldBe): |
| (catch): |
| (try.refer): |
| (refer): |
| * stress/string-prototype-scopes.js: Added. |
| (shouldBe): |
| (catch): |
| (try.refer): |
| (refer): |
| (object.toString): |
| (with): |
| |
| 2016-10-20 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly API: implement exception constructors properly |
| |
| - Rename WebAssemblyObject to JSWebAssembly for consistency. |
| - WebAssembly object now has its own prototype: add WebAssemblyPrototype, and |
| use it to register JSWebAssembly's function properties through auto-generated |
| .lut.h, instead of manually. |
| - The error constructors used to throw (e.g. `new WebAssembly.CompileError()`). |
| - Register WebAssembly's constructors from the global object, and hold a |
| reference to their structure and prototype so that invoking the constructor |
| can use the structure directly from the global object. |
| - Add a prototype base field to global object creation. Previous ones all had |
| Object's prototype as their base, but WebAssembly's error constructors have |
| Error as their base. |
| - Test for the error object's correctness. |
| - Add missing #if ENABLE(WEBASSEMBLY) |
| |
| WebAssembly API: implement exception constructors properly |
| https://bugs.webkit.org/show_bug.cgi?id=163699 |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/js-api/test_basic_api.js: |
| (const.c.in.constructorProperties): more tests |
| |
| 2016-10-20 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] disallow references to `await` in AsyncFunction formal parameters |
| https://bugs.webkit.org/show_bug.cgi?id=163694 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/async-await-syntax.js: |
| |
| 2016-10-20 Keith Miller <keith_miller@apple.com> |
| |
| Invalid assertion in arguments elimination |
| https://bugs.webkit.org/show_bug.cgi?id=163740 |
| <rdar://problem/27911462> |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/direct-arguments-osr-entry.js: Added. |
| (foo.): |
| (foo): |
| |
| 2016-10-20 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] throw TypeError when constructing dynamically created JSGeneratorFunction |
| https://bugs.webkit.org/show_bug.cgi?id=163714 |
| |
| Reviewed by Mark Lam. |
| |
| Add missing test coverage that dynamically created |
| JSGeneratorFunctions can not be constructed. |
| |
| * stress/generator-function-constructor.js: |
| (shouldThrow): |
| |
| 2016-10-19 JF Bastien <jfbastien@apple.com> |
| |
| JavaScript WebAssembly API: baby steps |
| |
| - Expand WebAssembly constructors into their own files. This requires a lot of |
| boilerplate, as well as adding the .lut.h files. All of the |
| JSWebAssembly*.{h,cpp}, as well as Constructor and Prototype files, are |
| currently the same between the 4 specified WebAssembly constructors. It'll be |
| easy to implement individual functions on constructed objects as per the |
| spec, and have each of these files diverge. The error constructors are also |
| similar, except that their instance derives from ErrorInstance. |
| - Use constructor macro when initializing the global object. |
| - Dramatically improve testing of the WebAssembly API by checking for |
| properties specified in the spec [*]. |
| - Clean up assert.js' exception testing. |
| - Fix a copy-paste bug in wasm.json: floating-point const return values were |
| swapped. |
| |
| [*] https://github.com/WebAssembly/design/blob/master/JS.md |
| |
| Implement more of the JavaScript WebAssembly API |
| https://bugs.webkit.org/show_bug.cgi?id=163571 |
| |
| Reviewed by Keith Miller. |
| |
| * wasm/assert.js: |
| (export.const.isUndef): add this useful helper |
| (export.const.throws): fold other throw checks into this one, and check message as well |
| * wasm/js-api/test_basic_api.js: |
| (const.checkOwnPropertyDescriptor): check own property descriptor follows the spec |
| * wasm/self-test/test_BuilderJSON.js: |
| (const.assertOpThrows): use new assert API |
| (CheckedOpcodeArgumentsTooMany): ditto |
| (CheckedOpcodeArgumentsNotEnough): ditto |
| (CallInvalid): ditto |
| (I32ConstInvalid): ditto |
| (F32ConstInvalid): ditto (and this caugth the JSON copy-paste bug) |
| (F64ConstInvalid): ditto |
| * wasm/self-test/test_LowLevelBinary_varint.js: use new assert API |
| * wasm/self-test/test_LowLevelBinary_varuint.js: use new assert API |
| * wasm/utilities.js: add "global" object, used in basic API test (to access global.WebAssembly). |
| * wasm/wasm.json: fix copy-paste |
| |
| 2016-10-19 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] forbid "use strict" directive in generator functions with non-simple parameters |
| https://bugs.webkit.org/show_bug.cgi?id=163683 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Update various generator*-non-simple-param.js tests to be passing. |
| |
| * test262.yaml: |
| |
| 2016-10-18 Mark Lam <mark.lam@apple.com> |
| |
| Invoking Object.prototype.__proto__ accessors directly should throw a TypeError. |
| https://bugs.webkit.org/show_bug.cgi?id=154377 |
| <rdar://problem/27330808> |
| |
| Reviewed by Filip Pizlo and Saam Barati. |
| |
| * stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js: Added. |
| |
| 2016-10-18 Keith Miller <keith_miller@apple.com> |
| |
| GetByVal to GetById conversion in the DFG is incorrect for getters with control flow |
| https://bugs.webkit.org/show_bug.cgi?id=163629 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/get-by-val-to-id-with-getter.js: Added. |
| (foo): |
| (o.get hello): |
| |
| 2016-10-15 Filip Pizlo <fpizlo@apple.com> |
| |
| DFG and FTL should be able to use DirectCall ICs when they proved the callee or its executable |
| https://bugs.webkit.org/show_bug.cgi?id=163371 |
| |
| Reviewed by Geoffrey Garen and Saam Barati. |
| |
| Add microbenchmarks for all of the cases that this patch optimizes. |
| |
| * microbenchmarks/direct-call-arity-mismatch.js: Added. |
| (foo): |
| (bar): |
| * microbenchmarks/direct-call.js: Added. |
| (foo): |
| (bar): |
| * microbenchmarks/direct-construct-arity-mismatch.js: Added. |
| (Foo): |
| (bar): |
| * microbenchmarks/direct-construct.js: Added. |
| (Foo): |
| (bar): |
| * microbenchmarks/direct-tail-call-arity-mismatch.js: Added. |
| (foo): |
| (bar): |
| * microbenchmarks/direct-tail-call-inlined-caller-arity-mismatch.js: Added. |
| (foo): |
| (bar): |
| (baz): |
| * microbenchmarks/direct-tail-call-inlined-caller.js: Added. |
| (foo): |
| (bar): |
| (baz): |
| * microbenchmarks/direct-tail-call.js: Added. |
| (foo): |
| (bar): |
| |
| 2016-10-18 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] ES6 Method functions should not have prototype |
| https://bugs.webkit.org/show_bug.cgi?id=162530 |
| |
| Reviewed by Saam Barati. |
| |
| Fix test262 expectations about MethodDefinitions |
| |
| * ChakraCore/test/strict/05.arguments_sm.baseline-jsc: |
| * stress/reflect-set.js: |
| * test262.yaml: |
| |
| 2016-10-17 Keith Miller <keith_miller@apple.com> |
| |
| Add support for WASM Memory. |
| https://bugs.webkit.org/show_bug.cgi?id=161710 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add store and load opcodes to wasm.json. Additionally, add new |
| enums for those opcodes in the generator. |
| |
| * stress/wasm/generate-wasmops-header.js: |
| (const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.LoadOpType): |
| (const.template.pragma.once.ENABLE.WEBASSEMBLY.include.cstdint.namespace.JSC.namespace.WASM.enum.StoreOpType): |
| |
| 2016-10-17 Saam Barati <sbarati@apple.com> |
| |
| Add more tests for the double->String conversion in ValueAdd constant folding |
| https://bugs.webkit.org/show_bug.cgi?id=163517 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * microbenchmarks/string-add-constant-folding.js: |
| (test): |
| |
| 2016-10-17 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly JS API: implement basic stub |
| |
| Implement the global WebAssembly JavaScript object, and its constructor + |
| function properties as described in: |
| https://github.com/WebAssembly/design/blob/master/JS.md |
| |
| These don't do anything at the moment, the parent bug will take care of adding |
| more functionality and associated tests. |
| |
| WebAssembly JS API: implement basic stub |
| https://bugs.webkit.org/show_bug.cgi?id=163404 |
| |
| Reviewed by Keith Miller. |
| |
| * wasm.yaml: |
| * wasm/js-api/test_basic_api.js: Added. |
| (const.f.of.functionProperties.WebAssembly.f.undefined.throw.new.Error.Couldn.const.c.of.constructorProperties.WebAssembly.c.undefined.throw.new.Error.Couldn): |
| (const.c.of.constructorProperties.catch): |
| |
| 2016-10-17 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DOMJIT] Use DOMJIT::Patchpoint in IC |
| https://bugs.webkit.org/show_bug.cgi?id=163223 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/domjit-exception-ic.js: Added. |
| (shouldBe): |
| (access): |
| * stress/domjit-exception.js: Added. |
| (shouldBe): |
| (access): |
| * stress/domjit-getter-complex-with-incorrect-object.js: Added. |
| (shouldThrow): |
| (access): |
| (i.shouldThrow): |
| * stress/domjit-getter-complex.js: Added. |
| (shouldBe): |
| (access): |
| * stress/domjit-getter-try-catch-getter-as-get-by-id-register-restoration.js: Added. |
| (assert): |
| (bar): |
| (foo): |
| |
| 2016-10-15 Saam Barati <sbarati@apple.com> |
| |
| Assertion failed under operationToLowerCase with a rope with zero length |
| https://bugs.webkit.org/show_bug.cgi?id=163314 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/to-lower-case-intrinsic-on-empty-rope.js: Added. |
| (assert): |
| (returnRope.helper): |
| (returnRope): |
| (lower): |
| |
| 2016-10-14 Benjamin Poulain <bpoulain@apple.com> |
| |
| [JSC] op_negate should with any type |
| https://bugs.webkit.org/show_bug.cgi?id=162587 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/arith-abs-to-arith-negate-range-optimizaton.js: Added. |
| Cover OSR Exits when converting Math.abs() into ArithNegate. |
| |
| * stress/arith-negate-on-various-types.js: Added. |
| Cover ArithNegate with all types. |
| |
| 2016-10-14 JF Bastien <jfbastien@apple.com> |
| |
| Basic WebAssembly testing |
| |
| Create a small DSL in JavaScript which can build WebAssembly binary modules based on the JSON description of the format as described in: |
| https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md |
| |
| This DSL can then be used to write small text description of valid and invalid WebAssembly binaries, making testing the JSC implementation much easier. |
| |
| Details and example in README.md. |
| |
| Basic WebAssembly testing |
| https://bugs.webkit.org/show_bug.cgi?id=163267 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/wasm/wasm.json: Removed. |
| * wasm.yaml: Added. |
| * wasm/Builder.js: Added. |
| (const._isValidValue): |
| (const._BuildWebAssemblyBinary): |
| (export.default.Builder): |
| (export.default.Builder.prototype.setChecked): |
| (export.default.Builder.prototype.setPreamble): |
| (export.default.Builder.prototype._registerSectionBuilders.switch.case.string_appeared_here.this.section): |
| (export.default.Builder.prototype._registerSectionBuilders.this.Unknown): |
| (export.default.Builder.prototype._registerSectionBuilders): |
| (export.default.Builder.prototype._addSection): |
| (export.default.Builder.prototype.optimize): |
| (export.default.Builder.prototype.json): |
| (export.default.Builder.prototype.AsmJS): |
| (export.default.Builder.prototype.WebAssembly): |
| * wasm/LowLevelBinary.js: Added. |
| (const._getterRangeCheck): |
| (const._hexdump): |
| (export.default.LowLevelBinary): |
| (export.default.LowLevelBinary.prototype.newPatchable): |
| (export.default.LowLevelBinary.prototype.hexdump): |
| (export.default.LowLevelBinary.prototype._maybeGrow): |
| (export.default.LowLevelBinary.prototype._push8): |
| (export.default.LowLevelBinary.prototype.uint8): |
| (export.default.LowLevelBinary.prototype.uint16): |
| (export.default.LowLevelBinary.prototype.uint32): |
| (export.default.LowLevelBinary.prototype.varuint): |
| (export.default.LowLevelBinary.prototype.varint): |
| (export.default.LowLevelBinary.prototype.varuint7): |
| (export.default.LowLevelBinary.prototype.string): |
| (export.default.LowLevelBinary.prototype.getSize): |
| (export.default.LowLevelBinary.prototype.getUint8): |
| (export.default.LowLevelBinary.prototype.getUint16): |
| (export.default.LowLevelBinary.prototype.getUint32): |
| (export.default.LowLevelBinary.prototype.getVaruint): |
| (export.default.LowLevelBinary.prototype.getVarint): |
| (export.default.LowLevelBinary.prototype.getVaruint7): |
| (export.default.LowLevelBinary.prototype.getString): |
| (PatchableLowLevelBinary): |
| (PatchableLowLevelBinary.prototype._push8): |
| (PatchableLowLevelBinary.prototype.apply): |
| * wasm/README.md: Added. |
| * wasm/WASM.js: Added. |
| * wasm/assert.js: Added. |
| (export.const.notUndef): |
| (export.const.eq): |
| (export.const.ge): |
| (export.const.throwsError): |
| (export.const.throwsRangeError): |
| * wasm/generate-wasmops-header.js: Renamed from JSTests/stress/wasm/generate-wasmops-header.js. |
| * wasm/self-test/test_BuilderJSON.js: Added. |
| (const.assertOpThrows): |
| (EmptyModule): |
| (CustomMagicNumber): |
| (CustomVersion): |
| (CustomSection): |
| (CustomSectionAllBytes): |
| (CustomSectionInvalidByte): |
| (TwoCustomSections): |
| (EmptyCodeSection): |
| (CodeSectionWithEmptyFunction): |
| (CodeSectionWithEmptyFunctionWithParameters): |
| (InvalidFunctionParameters): |
| (SimpleFunction): |
| (TwoSimpleFunctions): |
| (TwoBuildersAtTheSameTime): |
| (CheckedOpcodeArgumentsTooMany): |
| (CheckedOpcodeArgumentsNotEnough): |
| (CallNoArguments): |
| (CallInvalid): |
| (I32ConstInvalid): |
| (F32ConstInvalid): |
| (F64ConstInvalid): |
| (CallManyFromStack): |
| (OpcodeAdd): |
| (OpcodeUnreachable): |
| (OpcodeUnreachableCombinations): |
| (OpcodeSelect): |
| * wasm/self-test/test_BuilderWebAssembly.js: Added. |
| (EmptyModule): |
| (CustomSection): |
| (Basic): |
| * wasm/self-test/test_LowLevelBinary_encode.js: Added. |
| * wasm/self-test/test_LowLevelBinary_string.js: Added. |
| * wasm/self-test/test_LowLevelBinary_uint16.js: Added. |
| * wasm/self-test/test_LowLevelBinary_uint32.js: Added. |
| * wasm/self-test/test_LowLevelBinary_uint8.js: Added. |
| * wasm/self-test/test_LowLevelBinary_varint.js: Added. |
| * wasm/self-test/test_LowLevelBinary_varuint.js: Added. |
| * wasm/self-test/test_LowLevelBinary_varuint7.js: Added. |
| * wasm/self-test/test_WASM.js: Added. |
| * wasm/test.sh: Added. |
| * wasm/utilities.js: Added. |
| (const._read.filename.switch): |
| (const._load.filename.switch): |
| (const._json.filename.switch): |
| * wasm/wasm.json: Added. |
| |
| 2016-10-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: @isConstructor incorrectly thinks Math.cos is a constructor |
| https://bugs.webkit.org/show_bug.cgi?id=163437 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/is-constructor.js: Added. |
| (assert): |
| (prototype.assert): |
| New test to cover the @isConstructor builtin. |
| |
| * test262.yaml: |
| Test now passes. |
| |
| 2016-10-14 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r207322. |
| |
| This change caused JSC test failures |
| |
| Reverted changeset: |
| |
| "Fix Array.prototype.splice ES6 compliance." |
| https://bugs.webkit.org/show_bug.cgi?id=163372 |
| http://trac.webkit.org/changeset/207322 |
| |
| 2016-10-14 Mark Lam <mark.lam@apple.com> |
| |
| JSON.parse should not modify frozen objects. |
| https://bugs.webkit.org/show_bug.cgi?id=163430 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/json-parse-on-frozen-object.js: Added. |
| |
| 2016-10-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: Failure with RegExp.prototype.compile when pattern is undefined |
| https://bugs.webkit.org/show_bug.cgi?id=163431 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * test262.yaml: |
| |
| 2016-10-13 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Exception message for expressions with multiple bracket accesses is inconsistent / incorrect |
| https://bugs.webkit.org/show_bug.cgi?id=163426 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * ChakraCore/test/Error/CallNonFunction_3.baseline-jsc: |
| * ChakraCore/test/Object/null.baseline-jsc: |
| * stress/exception-in-to-property-key-should-be-handled-early.js: |
| Better exception messages. |
| |
| 2016-10-13 Mark Lam <mark.lam@apple.com> |
| |
| Fix Array.prototype.splice ES6 compliance. |
| https://bugs.webkit.org/show_bug.cgi?id=163372 |
| |
| Reviewed by Geoffrey Garen and Yusuke Suzuki. |
| |
| * stress/array-splice-on-frozen-object.js: Added. |
| |
| 2016-10-12 Keith Miller <keith_miller@apple.com> |
| |
| Handle non-function, non-undefined comparator in Array.prototype.sort |
| https://bugs.webkit.org/show_bug.cgi?id=163085 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * ChakraCore/test/Array/array_sort.baseline-jsc: |
| * stress/array-sort-bad-comparator.js: Added. |
| (test): |
| |
| 2016-10-12 Mark Lam <mark.lam@apple.com> |
| |
| Array.prototype.slice should not modify frozen objects. |
| https://bugs.webkit.org/show_bug.cgi?id=163338 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/array-slice-on-frozen-object.js: Added. |
| |
| 2016-10-11 Mark Lam <mark.lam@apple.com> |
| |
| Array.prototype.concat should not modify frozen objects. |
| https://bugs.webkit.org/show_bug.cgi?id=163302 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/array-concat-on-frozen-object.js: Added. |
| |
| 2016-10-11 Saam Barati <sbarati@apple.com> |
| |
| ValueAdd should be constant folded if the operands are constant String,Primitive or Primitive,String |
| https://bugs.webkit.org/show_bug.cgi?id=163182 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/string-add-constant-folding.js: Added. |
| (assert): |
| (runTests): |
| (add): |
| (test): |
| |
| 2016-10-07 Mark Lam <mark.lam@apple.com> |
| |
| Object.freeze() and seal() should throw if [[PreventExtensions]]() fails. |
| https://bugs.webkit.org/show_bug.cgi?id=163160 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/object-freeze-with-proxy-preventExtensions.js: Added. |
| * stress/object-seal-with-proxy-preventExtensions.js: Added. |
| |
| 2016-10-05 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DOMJIT] Add initial CheckDOM and CallDOM implementations |
| https://bugs.webkit.org/show_bug.cgi?id=162941 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/domjit-getter-poly.js: Added. |
| (shouldBe): |
| (access): |
| * stress/domjit-getter-proto.js: Added. |
| (shouldBe): |
| (access): |
| * stress/domjit-getter-super-poly.js: Added. |
| (shouldBe): |
| (access): |
| * stress/domjit-getter.js: Added. |
| (shouldBe): |
| (access): |
| |
| 2016-10-04 Saam Barati <sbarati@apple.com> |
| |
| String.prototype.toLowerCase should be a DFG/FTL intrinsic |
| https://bugs.webkit.org/show_bug.cgi?id=162887 |
| |
| Reviewed by Filip Pizlo and Yusuke Suzuki. |
| |
| * microbenchmarks/to-lower-case.js: Added. |
| (assert): |
| (foo): |
| (bar): |
| * stress/to-lower-case.js: Added. |
| (assert): |
| (foo): |
| |
| 2016-10-04 JF Bastien <jfbastien@apple.com> |
| |
| WebAssembly: handle a few corner cases |
| https://bugs.webkit.org/show_bug.cgi?id=162884 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/wasm/generate-wasmops-header.js: |
| (const.opcodeIterator): max opcode value |
| |
| 2016-10-03 JF Bastien <jfbastien@apple.com> |
| |
| Auto-generate WASMOps.h, share with testing JSON file |
| https://bugs.webkit.org/show_bug.cgi?id=162870 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/wasm/to-c++.js: Added. Generates WASMOps.h, siilar to the current one but with more data. |
| (const.opcode_iterator): |
| (opcode_macroizer): |
| * stress/wasm/wasm.json: Added. Data from 0xC binary format version. |
| |
| 2016-10-03 Saam Barati <sbarati@apple.com> |
| |
| MapHash should speculate on the type of its child node |
| https://bugs.webkit.org/show_bug.cgi?id=161922 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/map-key-well-typed.js: Added. |
| (assert): |
| (intKey): |
| (doubleKey): |
| (objectKey): |
| (stringKey): |
| (booleanKey): |
| (symbolKey): |
| (cellKey): |
| (assert.doubleKey): |
| (assert.booleanKey): |
| |
| 2016-10-03 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] GeneratorFunction (a.k.a. GeneratorWrapperFunction)'s prototype object does not have constructor property |
| https://bugs.webkit.org/show_bug.cgi?id=162849 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * test262.yaml: |
| |
| 2016-10-01 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] Align attributes of Generator related properties to spec |
| https://bugs.webkit.org/show_bug.cgi?id=162839 |
| |
| Reviewed by Saam Barati. |
| |
| * test262.yaml: |
| |
| 2016-10-01 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] GeneratorFunction constructor should instantiate generator function |
| https://bugs.webkit.org/show_bug.cgi?id=162838 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/generator-function-constructor-is-subclassible.js: Added. |
| (shouldBe): |
| (GeneratorFunction): |
| (prototype.hello): |
| * stress/generator-function-constructor.js: |
| * test262.yaml: |
| |
| 2016-09-30 Saam Barati <sbarati@apple.com> |
| |
| Arrow functions should not allow duplicate parameter names |
| https://bugs.webkit.org/show_bug.cgi?id=162741 |
| |
| Reviewed by Filip Pizlo. |
| |
| * test262.yaml: |
| |
| 2016-09-30 Saam Barati <sbarati@apple.com> |
| |
| Make some microbenchmarks run for less time. |
| |
| Rubber stamped by Filip Pizlo. |
| |
| * microbenchmarks/bound-function-construction-performance.js: |
| (foo): |
| * microbenchmarks/getter-richards-try-catch.js: |
| |
| 2016-09-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Arrow functions do not infer name from computed property but normal functions do |
| https://bugs.webkit.org/show_bug.cgi?id=162720 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/inferred-names.js: |
| |
| 2016-09-29 Mark Lam <mark.lam@apple.com> |
| |
| Break some slow running tests into smaller bits so they don't time out. |
| https://bugs.webkit.org/show_bug.cgi?id=162743 |
| |
| Reviewed by Keith Miller. |
| |
| The following tests have shown to be slow running: |
| op_div.js |
| op_lshift.js |
| op_mod.js |
| op_mul.js |
| op_rshift.js |
| op_sub.js |
| op_urshift |
| |
| These tests auto-generate permutations of values to apply to binary operations. |
| They also test the operations with 3 permutations of value types: |
| 1. VarVar - both operands variables |
| 2. VarConst - variable operand 1, constant / literal operand 2 |
| 3. ConstVar - constant / literal operand 1, variable operand 2 |
| |
| We can prevent these tests from timing out by breaking each up to only run 1 of |
| the 3 permutations of value types. |
| |
| * stress/op_div-ConstVar.js: Added. |
| * stress/op_div-VarConst.js: Added. |
| * stress/op_div-VarVar.js: Copied from JSTests/stress/op_div.js. |
| (o1.valueOf): Deleted. |
| * stress/op_div.js: Removed. |
| * stress/op_lshift-ConstVar.js: Added. |
| * stress/op_lshift-VarConst.js: Added. |
| * stress/op_lshift-VarVar.js: Copied from JSTests/stress/op_lshift.js. |
| (o1.valueOf): Deleted. |
| * stress/op_lshift.js: Removed. |
| * stress/op_mod-ConstVar.js: Added. |
| * stress/op_mod-VarConst.js: Added. |
| * stress/op_mod-VarVar.js: Copied from JSTests/stress/op_mod.js. |
| (o1.valueOf): Deleted. |
| * stress/op_mod.js: Removed. |
| * stress/op_mul-ConstVar.js: Added. |
| * stress/op_mul-VarConst.js: Added. |
| * stress/op_mul-VarVar.js: Copied from JSTests/stress/op_mul.js. |
| (o1.valueOf): Deleted. |
| * stress/op_mul.js: Removed. |
| * stress/op_rshift-ConstVar.js: Added. |
| * stress/op_rshift-VarConst.js: Added. |
| * stress/op_rshift-VarVar.js: Copied from JSTests/stress/op_rshift.js. |
| (o1.valueOf): Deleted. |
| * stress/op_rshift.js: Removed. |
| * stress/op_sub-ConstVar.js: Added. |
| * stress/op_sub-VarConst.js: Added. |
| * stress/op_sub-VarVar.js: Copied from JSTests/stress/op_sub.js. |
| (o1.valueOf): Deleted. |
| * stress/op_sub.js: Removed. |
| * stress/op_urshift-ConstVar.js: Added. |
| * stress/op_urshift-VarConst.js: Added. |
| * stress/op_urshift-VarVar.js: Copied from JSTests/stress/op_urshift.js. |
| (o1.valueOf): Deleted. |
| * stress/op_urshift.js: Removed. |
| * stress/resources/binary-op-values.js: Added. |
| (o1.valueOf): |
| |
| 2016-09-29 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: class and function names should be inferred in assignment |
| https://bugs.webkit.org/show_bug.cgi?id=146262 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/arrowfunction-name.js: Added. |
| Quick tests for arrow function names. |
| |
| * stress/inferred-names.js: Added. |
| General test for inferred function names. |
| |
| * test262.yaml: |
| Pass many tests checking inferred function names. |
| |
| 2016-09-29 Saam Barati <sbarati@apple.com> |
| |
| We don't properly propagate non-simple-parameter-list when parsing a setter |
| https://bugs.webkit.org/show_bug.cgi?id=160483 |
| |
| Reviewed by Joseph Pecoraro. |
| |
| * test262.yaml: |
| |
| 2016-09-28 Saam Barati <sbarati@apple.com> |
| |
| stringProtoFuncRepeatCharacter will return `null` when it should not |
| https://bugs.webkit.org/show_bug.cgi?id=161944 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/pad-start-calls-repeat-character-with-double.js: Added. |
| (logLinesWithContext): |
| |
| 2016-09-27 Filip Pizlo <fpizlo@apple.com> |
| |
| B3::lowerMacros forgets to before->updatePredecessorsAfter() when lowering ChillMod on ARM64 |
| https://bugs.webkit.org/show_bug.cgi?id=162644 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/chill-mod-chill-mod.js: Added. |
| (foo): |
| |
| 2016-09-26 Csaba Osztrogonác <oszi@inf.u-szeged.hu> |
| |
| Skip stress/string-joining-long-strings-should-not-crash.js on memory limited devices |
| https://bugs.webkit.org/show_bug.cgi?id=162386 |
| |
| Unreviewed, relanding r206317 after typo fix. |
| |
| * stress/string-joining-long-strings-should-not-crash.js: |
| |
| 2016-09-24 Caitlin Potter <caitp@igalia.com> |
| |
| [JSTests] fix test262 expectations following r206333 |
| https://bugs.webkit.org/show_bug.cgi?id=162533 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * test262.yaml: |
| |
| 2016-09-23 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] Implement parsing of Async Functions |
| https://bugs.webkit.org/show_bug.cgi?id=161409 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/async-await-syntax.js: Added. |
| (testSyntax): |
| (testSyntaxError): |
| (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntax): |
| (testTopLevelAsyncAwaitSyntaxSloppyMode): |
| (testTopLevelAsyncAwaitSyntaxStrictMode): |
| (testTopLevelAsyncAwaitSyntaxStrictMode.testSyntax): |
| (testNestedAsyncAwaitSyntax.async): |
| (testNestedAsyncAwaitSyntax.foo): |
| (testTopLevelAsyncAwaitSyntaxSloppyMode.testSyntaxError): |
| |
| 2016-09-23 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r206317. |
| |
| This change caused timeouts on El Capitan Release JSC tests |
| |
| Reverted changeset: |
| |
| "Skip stress/string-joining-long-strings-should-not-crash.js |
| on memory limited devices" |
| https://bugs.webkit.org/show_bug.cgi?id=162386 |
| http://trac.webkit.org/changeset/206317 |
| |
| 2016-09-23 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Skip mozilla-tests.yaml/js1_5/Array/regress-157652 on memory limited devices |
| https://bugs.webkit.org/show_bug.cgi?id=162381 |
| |
| Reviewed by Mark Lam. |
| |
| * mozilla/mozilla-tests.yaml: |
| |
| 2016-09-23 Csaba Osztrogonác <ossy@webkit.org> |
| |
| Skip stress/string-joining-long-strings-should-not-crash.js on memory limited devices |
| https://bugs.webkit.org/show_bug.cgi?id=162386 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/string-joining-long-strings-should-not-crash.js: |
| |
| 2016-09-22 Benjamin Poulain <bpoulain@apple.com> |
| |
| [JSC] Use an inline cache to generate op_negate |
| https://bugs.webkit.org/show_bug.cgi?id=162371 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/op-negate-inline-cache.js: Added. |
| |
| 2016-09-22 Mark Lam <mark.lam@apple.com> |
| |
| Array.prototype.join should do overflow checks on string joins. |
| https://bugs.webkit.org/show_bug.cgi?id=162459 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/array-join-on-strings-need-overflow-checks.js: Added. |
| (assert): |
| (catch): |
| |
| 2016-09-22 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: Function length should be number of parameters before parameters with default values |
| https://bugs.webkit.org/show_bug.cgi?id=162377 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/es6-default-parameters.js: |
| Add our own tests for function lengths with default parameters. |
| |
| * test262.yaml: |
| We now pass all dflt-length tests. |
| |
| 2016-09-20 Benjamin Poulain <bpoulain@apple.com> |
| |
| [JSC] Do not use EagerRun on tests counting recompilation |
| https://bugs.webkit.org/show_bug.cgi?id=162248 |
| |
| Reviewed by Geoffrey Garen. |
| |
| This patch adds defaultNoEagerRun to all the tests |
| for which recompilation is the symptom of a bug. |
| The reason is that an OSR Exit can be unrelated to the tested |
| nodes when we are running in Eager mode. |
| |
| * stress/arith-abs-on-various-types.js: |
| * stress/arith-ceil-on-various-types.js: |
| * stress/arith-clz32-on-various-types.js: |
| * stress/arith-cos-on-various-types.js: |
| * stress/arith-floor-on-various-types.js: |
| * stress/arith-fround-on-various-types.js: |
| * stress/arith-log-on-various-types.js: |
| * stress/arith-round-on-various-types.js: |
| * stress/arith-sin-on-various-types.js: |
| * stress/arith-sqrt-on-various-types.js: |
| * stress/arith-tan-on-various-types.js: |
| * stress/arith-trunc-on-various-types.js: |
| |
| * stress/compare-strict-eq-on-various-types.js: |
| (testAllTypesCall): |
| The value 2 came from the other tests. |
| CompareStrictEq supports many more cases, the worst case |
| is bool->int->int52->number->polymorphic. |
| |
| 2016-09-20 Filip Pizlo <fpizlo@apple.com> |
| |
| Make MarkedBlock state tracking support overlapped allocation and marking state |
| https://bugs.webkit.org/show_bug.cgi?id=161581 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Add a microbenchmark for why we want to reclaim empty blocks from other allocators. |
| |
| * microbenchmarks/switching-size-classes.js: Added. |
| |
| 2016-09-20 Saam Barati <sbarati@apple.com> |
| |
| Unreviewed, added test for x86 32-bit failure for HasOwnProperty node in DFG. |
| |
| * stress/has-own-property-called-on-non-object.js: Added. |
| (let.objs): |
| (new.String): |
| (foo): |
| |
| 2016-09-20 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Add `typeof value === "symbol"` handling to bytecode compiler |
| https://bugs.webkit.org/show_bug.cgi?id=162253 |
| |
| Reviewed by Sam Weinig. |
| |
| * microbenchmarks/is-symbol-mixed.js: Added. |
| (isSymbol): |
| (i.let.pair.of.list.String): |
| * microbenchmarks/is-symbol.js: Added. |
| (isSymbol): |
| |
| 2016-09-19 Saam Barati <sbarati@apple.com> |
| |
| Make HasOwnProperty faster |
| https://bugs.webkit.org/show_bug.cgi?id=161708 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * microbenchmarks/has-own-property-name-cache.js: Added. |
| (foo): |
| * stress/has-own-property-cache-basics.js: Added. |
| (assert): |
| (foo): |
| * stress/has-own-property-name-cache-string-keys.js: Added. |
| (assert): |
| (foo): |
| * stress/has-own-property-name-cache-symbol-keys.js: Added. |
| (assert): |
| (foo): |
| * stress/has-own-property-name-cache-symbols-and-strings.js: Added. |
| (assert): |
| (foo): |
| |
| 2016-09-19 Benjamin Poulain <bpoulain@apple.com> |
| |
| [JSC] Make the rounding-related nodes support any type |
| https://bugs.webkit.org/show_bug.cgi?id=161895 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/arith-ceil-on-various-types.js: Added. |
| * stress/arith-floor-on-various-types.js: Added. |
| * stress/arith-round-on-various-types.js: Added. |
| * stress/arith-trunc-on-various-types.js: Added. |
| |
| 2016-09-18 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [JSC] Do not need to use defineProperty to define methods for object literals |
| https://bugs.webkit.org/show_bug.cgi?id=162111 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/object-literal-methods.js: Added. |
| (shouldBe): |
| (throw.new.Error.let.object.get name): |
| (throw.new.Error): |
| (shouldBe.let.object.get name): |
| (shouldBe.let.object.get prototype): |
| (shouldBe.let.object.get 42): |
| |
| 2016-09-16 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Introduce IsCellWithType node and unify IsJSArray, IsRegExpObject and newly added IsProxyObject |
| https://bugs.webkit.org/show_bug.cgi?id=162000 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/is-array-for-array.js: Added. |
| (isArray): |
| * microbenchmarks/is-array-for-mixed-case.js: Added. |
| (isArray): |
| * microbenchmarks/is-array-for-non-array-object.js: Added. |
| (isArray): |
| * microbenchmarks/is-array-for-proxy.js: Added. |
| (isArray): |
| (isArray.proxy.throw.new.Error.isArray): |
| (isArray.proxy.throw.new.Error): |
| |
| 2016-09-16 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, gardening test262 results |
| |
| Some tests are now passed with JSC, but marked as failed. |
| |
| * test262.yaml: |
| |
| 2016-09-16 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: Various Constructors length properties should be configurable |
| https://bugs.webkit.org/show_bug.cgi?id=161998 |
| |
| Reviewed by Saam Barati. |
| |
| * test262.yaml: |
| |
| 2016-09-15 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r205931. |
| https://bugs.webkit.org/show_bug.cgi?id=162021 |
| |
| Tests for this change fail on 32-bit JSC bots (Requested by |
| ryanhaddad on #webkit). |
| |
| Reverted changeset: |
| |
| "[JSC] Make the rounding-related nodes support any type" |
| https://bugs.webkit.org/show_bug.cgi?id=161895 |
| http://trac.webkit.org/changeset/205931 |
| |
| 2016-09-15 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: Should be a SyntaxError for duplicate parameter names in function with default parameters |
| https://bugs.webkit.org/show_bug.cgi?id=162013 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/es6-default-parameters.js: |
| * test262.yaml: |
| |
| 2016-09-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| ASSERT_NOT_REACHED when using spread inside an array literal with Function.prototype.apply |
| https://bugs.webkit.org/show_bug.cgi?id=162003 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/spread-calling.js: |
| * test262.yaml: |
| |
| 2016-09-14 Michael Saboff <msaboff@apple.com> |
| |
| YARR doesn't check for invalid flags for literal regular expressions |
| https://bugs.webkit.org/show_bug.cgi?id=161995 |
| |
| Reviewed by Mark Lam. |
| |
| New test. |
| |
| * stress/regress-161995.js: Added. |
| (testStatic): |
| (catch): |
| |
| 2016-09-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: TypedArray constructors length should be 3 and configurable |
| https://bugs.webkit.org/show_bug.cgi?id=161955 |
| |
| Reviewed by Mark Lam. |
| |
| * test262.yaml: |
| |
| 2016-09-14 Benjamin Poulain <bpoulain@apple.com> |
| |
| [JSC] Make the rounding-related nodes support any type |
| https://bugs.webkit.org/show_bug.cgi?id=161895 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/arith-ceil-on-various-types.js: Added. |
| * stress/arith-floor-on-various-types.js: Added. |
| * stress/arith-round-on-various-types.js: Added. |
| * stress/arith-trunc-on-various-types.js: Added. |
| |
| 2016-09-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| TaggedTemplateString function calls should emit tail position calls |
| https://bugs.webkit.org/show_bug.cgi?id=161948 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/tail-call-recognize.js: |
| (runTests): |
| Ensure a tagged template string function call is tail call. |
| |
| * test262.yaml: |
| These now pass. |
| |
| 2016-09-14 Joseph Pecoraro <pecoraro@apple.com> |
| |
| test262: Array.prototype.slice should always set length |
| https://bugs.webkit.org/show_bug.cgi?id=161953 |
| |
| Reviewed by Mark Lam. |
| |
| * test262.yaml: |
| |
| 2016-09-13 JF Bastien <jfbastien@apple.com> |
| |
| Support jsc shell builtin `read` |
| https://bugs.webkit.org/show_bug.cgi?id=161662 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/jsc-read.js: Added. |
| (test): test `read` and `readFile` shell builtins, in string and binary mode. |
| |
| 2016-09-12 Skachkov Oleksandr <gskachkov@gmail.com> |
| |
| ES6: Classes: Should be allowed to create a static method with name "arguments" |
| https://bugs.webkit.org/show_bug.cgi?id=152985 |
| |
| Reviewed by Keith Miller. |
| |
| * test262.yaml: |
| |
| 2016-09-12 Saam Barati <sbarati@apple.com> |
| |
| Speed up Function.prototype.bind a bit by making it a builtin |
| https://bugs.webkit.org/show_bug.cgi?id=161879 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/function-bind-inlining.js: Added. |
| (assert): |
| (test): |
| (test2): |
| (foo): |
| * microbenchmarks/function-bind-no-inlining.js: Added. |
| (assert): |
| (test): |
| (test2): |
| (foo): |
| |
| 2016-09-12 Saam Barati <sbarati@apple.com> |
| |
| HashMapImpl should take into account m_deleteCount in its load factor and it should be able to rehash the table to be smaller |
| https://bugs.webkit.org/show_bug.cgi?id=161640 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * microbenchmarks/map-rehash.js: Added. |
| * stress/map-delete.js: Added. |
| (assert): |
| * stress/map-rehash-2.js: Added. |
| (assert): |
| * stress/map-rehash.js: Added. |
| (assert): |
| |
| 2016-09-12 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, fix tests for different libm environments |
| https://bugs.webkit.org/show_bug.cgi?id=161857 |
| |
| * stress/ftl-arithtan.js: |
| |
| 2016-09-12 Benjamin Poulain <bpoulain@apple.com> |
| |
| [JSC] Use GetArrayLength for JSArray.length even when the array type is undecided |
| https://bugs.webkit.org/show_bug.cgi?id=161671 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/get-array-length-on-undecided.js: Added. |
| |
| 2016-09-12 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG][FTL] Add ArithTan |
| https://bugs.webkit.org/show_bug.cgi?id=161857 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/tan.js: Added. |
| * stress/arith-tan-on-various-types.js: Added. |
| (let.validInputTypedTestCases.validInputTestCases.map): |
| (isIdentical): |
| (opaqueTanNoArgument): |
| (testNoArgument): |
| (opaqueAllTypesTan): |
| (testAllTypesCall): |
| (testTangleTypeCall): |
| (testConstant): |
| (opaqueTanForSideEffects): |
| (testSideEffect.let.testObject.valueOf): |
| (testSideEffect): |
| (opaqueTanForCSE): |
| (testCSE.let.testObject.valueOf): |
| (testCSE): |
| (opaqueTanForDCE): |
| (testDCE.let.testObject.valueOf): |
| (testDCE): |
| (testException.opaqueTanWithException): |
| (testException): |
| * stress/ftl-arithtan.js: Added. |
| (foo): |
| |
| 2016-09-12 Saam Barati <sbarati@apple.com> |
| |
| MapHash should do constant folding when it has a constant argument and its legal to hash that value |
| https://bugs.webkit.org/show_bug.cgi?id=161639 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/map-constant-key.js: Added. |
| (assert): |
| (test): |
| (foo): |
| |
| 2016-09-12 Michael Saboff <msaboff@apple.com> |
| |
| JSC test timeout: ChakraCore.yaml/ChakraCore/test/Bugs/bug56026_trycatch.js.default |
| https://bugs.webkit.org/show_bug.cgi?id=161863 |
| |
| Reviewed by Saam Barati. |
| |
| * ChakraCore.yaml: |
| Disabled Bugs/bug56026_trycatch.js. |
| |
| 2016-09-09 Michael Saboff <msaboff@apple.com> |
| |
| Unreviewed, rolling r205759 back in with a fix. |
| |
| The expectation file, JSTests/ChakraCore/test/Lib/tostring.baseline-jsc, |
| should be named "toString.baseline-jsc". |
| |
| * ChakraCore/test/Lib/toString.baseline-jsc: Copied from JSTests/ChakraCore/test/Lib/tostring.baseline-jsc. |
| * ChakraCore/test/Lib/tostring.baseline-jsc: Removed. |
| |
| 2016-09-09 Michael Saboff <msaboff@apple.com> |
| |
| Disable three flakey Chakra Tests |
| https://bugs.webkit.org/show_bug.cgi?id=161807 |
| |
| Reviewed by Saam Barati. |
| |
| * ChakraCore.yaml: Disabled the flakey tests |
| ChakraCore/test/Array/protoLookup_native.js |
| ChakraCore/test/LetConst/delete.js |
| ChakraCore/test/fieldopts/fieldhoist_sideeffect.js |
| |
| 2016-09-08 Saam Barati <sbarati@apple.com> |
| |
| We should inline operationConvertJSValueToBoolean into JIT code |
| https://bugs.webkit.org/show_bug.cgi?id=161729 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/value-to-boolean.js: Added. |
| (assert): |
| (test1): |
| (test2): |
| (test3): |
| |
| 2016-09-08 Mark Lam <mark.lam@apple.com> |
| |
| REGRESSION (r205569?): 32-bit JSC test timeout: stress/rest-parameter-many-arguments.js.dfg-maximal-flush-validate-no-cjit |
| https://bugs.webkit.org/show_bug.cgi?id=161756 |
| |
| Reviewed by Saam Barati. |
| |
| It looks like the 32-bit JSC bot is just too slow at running this test with the |
| dfg-maximal-flush-validate-no-cjit configuration. We'll try excluding that |
| configuration. |
| |
| * stress/rest-parameter-many-arguments.js: |
| |
| 2016-09-08 JF Bastien <jfbastien@apple.com> |
| |
| Delete older WebAssembly tests |
| https://bugs.webkit.org/show_bug.cgi?id=161758 |
| |
| Reviewed by Filip Pizlo. |
| |
| They're not running, rely on the older polyfill prototype, and the older code was deleted in: https://trac.webkit.org/changeset/204180 |
| |
| * stress/wasm-arithmetic-float32.js: Removed. |
| * stress/wasm-arithmetic-float64.js: Removed. |
| * stress/wasm-arithmetic-int32.js: Removed. |
| * stress/wasm-calls.js: Removed. |
| * stress/wasm-comma.js: Removed. |
| * stress/wasm-control-flow.js: Removed. |
| * stress/wasm-globals.js: Removed. |
| * stress/wasm-linear-memory.js: Removed. |
| * stress/wasm-locals.js: Removed. |
| * stress/wasm-relational.js: Removed. |
| * stress/wasm-type-conversion.js: Removed. |
| * stress/wasm/arithmetic-float32.wasm: Removed. |
| * stress/wasm/arithmetic-float64.wasm: Removed. |
| * stress/wasm/arithmetic-int32.wasm: Removed. |
| * stress/wasm/calls.wasm: Removed. |
| * stress/wasm/comma.wasm: Removed. |
| * stress/wasm/control-flow.wasm: Removed. |
| * stress/wasm/globals.wasm: Removed. |
| * stress/wasm/linear-memory.wasm: Removed. |
| * stress/wasm/locals.wasm: Removed. |
| * stress/wasm/relational.wasm: Removed. |
| * stress/wasm/type-conversion.wasm: Removed. |
| |
| 2016-09-08 Per Arne Vollan <pvollan@apple.com> |
| |
| [Win] Exception fuzz tests fail |
| https://bugs.webkit.org/show_bug.cgi?id=140928 |
| |
| Reviewed by Mark Lam. |
| |
| Unskip tests. |
| |
| * exceptionFuzz.yaml: |
| |
| 2016-09-06 Saam Barati <sbarati@apple.com> |
| |
| ProxyObject's structure should not have ObjectPrototype as its prototype and it should not have special behavior for intercepting "__proto__" |
| https://bugs.webkit.org/show_bug.cgi?id=161558 |
| |
| Reviewed by Benjamin Poulain. |
| |
| * stress/proxy-get-prototype-of.js: |
| * stress/proxy-set-prototype-of.js: |
| (let.handler.setPrototypeOf): Deleted. |
| * stress/proxy-underscore-proto.js: Added. |
| (assert): |
| |
| 2016-09-06 Saam Barati <sbarati@apple.com> |
| |
| Make JSMap and JSSet faster |
| https://bugs.webkit.org/show_bug.cgi?id=160989 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/dense-set.js: Added. |
| (bench): |
| * microbenchmarks/large-map-iteration-with-additions.js: Added. |
| (bar): |
| (foo): |
| * microbenchmarks/large-map-iteration-with-mutation.js: Added. |
| (bar): |
| (foo): |
| * microbenchmarks/large-map-iteration.js: Added. |
| (bar): |
| (foo): |
| * microbenchmarks/map-get-get-cse.js: Added. |
| (bar): |
| (foo): |
| * microbenchmarks/map-has-get-cse-opportunity.js: Added. |
| (bar): |
| (foo): |
| * microbenchmarks/sparse-set.js: Added. |
| (bench): |
| * stress/map-cse-correctness.js: Added. |
| (assert): |
| (testHas): |
| (testGet): |
| (foo): |
| * stress/map-iteration.js: Added. |
| (assert): |
| (test1): |
| (test2): |
| (test3): |
| (test4): |
| (test5): |
| (test6): |
| (test7): |
| (test8): |
| (test9): |
| (test10): |
| (test11): |
| (test12): |
| (test13): |
| (test14): |
| (test15): |
| (test16): |
| (test17): |
| (test18): |
| |
| 2016-09-06 Benjamin Poulain <bpoulain@apple.com> |
| |
| [JSC] Make ArithClz32 work with Cell arguments |
| https://bugs.webkit.org/show_bug.cgi?id=161369 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/arith-clz32-on-various-types.js: Added. |
| |
| 2016-09-06 Commit Queue <commit-queue@webkit.org> |
| |
| Unreviewed, rolling out r205504. |
| https://bugs.webkit.org/show_bug.cgi?id=161645 |
| |
| Broke the iOS device build (Requested by ryanhaddad on |
| #webkit). |
| |
| Reverted changeset: |
| |
| "Make JSMap and JSSet faster" |
| https://bugs.webkit.org/show_bug.cgi?id=160989 |
| http://trac.webkit.org/changeset/205504 |
| |
| 2016-09-06 Saam Barati <sbarati@apple.com> |
| |
| Make JSMap and JSSet faster |
| https://bugs.webkit.org/show_bug.cgi?id=160989 |
| |
| Reviewed by Filip Pizlo. |
| |
| * microbenchmarks/dense-set.js: Added. |
| (bench): |
| * microbenchmarks/large-map-iteration-with-additions.js: Added. |
| (bar): |
| (foo): |
| * microbenchmarks/large-map-iteration-with-mutation.js: Added. |
| (bar): |
| (foo): |
| * microbenchmarks/large-map-iteration.js: Added. |
| (bar): |
| (foo): |
| * microbenchmarks/map-get-get-cse.js: Added. |
| (bar): |
| (foo): |
| * microbenchmarks/map-has-get-cse-opportunity.js: Added. |
| (bar): |
| (foo): |
| * microbenchmarks/sparse-set.js: Added. |
| (bench): |
| * stress/map-cse-correctness.js: Added. |
| (assert): |
| (testHas): |
| (testGet): |
| (foo): |
| * stress/map-iteration.js: Added. |
| (assert): |
| (test1): |
| (test2): |
| (test3): |
| (test4): |
| (test5): |
| (test6): |
| (test7): |
| (test8): |
| (test9): |
| (test10): |
| (test11): |
| (test12): |
| (test13): |
| (test14): |
| (test15): |
| (test16): |
| (test17): |
| (test18): |
| |
| 2016-08-31 Filip Pizlo <fpizlo@apple.com> |
| |
| Butterflies should be allocated in Auxiliary MarkedSpace instead of CopiedSpace and we should rewrite as much of the GC as needed to make this not a regression |
| https://bugs.webkit.org/show_bug.cgi?id=160125 |
| |
| Reviewed by Geoffrey Garen and Keith Miller. |
| |
| Most of the things I did properly covered by existing tests, but I found some simple cases of |
| unshifting that had sketchy coverage. |
| |
| * stress/array-storage-array-unshift.js: Added. |
| * stress/contiguous-array-unshift.js: Added. |
| * stress/double-array-unshift.js: Added. |
| * stress/int32-array-unshift.js: Added. |
| |
| 2016-09-02 Michael Saboff <msaboff@apple.com> |
| |
| Unreviewed fix after importing Chakra test |
| |
| * ChakraCore.yaml: Skipped ChakraCore/test/UnifiedRegex/crazy.js because the original |
| test contained tab characters. I removed the tabs before landing. This test depended |
| on the tab characters and now fails after they were removed. |
| test. |
| |
| 2016-09-01 Michael Saboff <msaboff@apple.com> |
| |
| Import Chakra tests to JSC |
| https://bugs.webkit.org/show_bug.cgi?id=154697 |
| |
| Reviewed by Saam Barati. |
| |
| Added Chakra tests. All these tests are under Chakra/test. This is the same layout |
| for tests in the Chakra tree. |
| |
| Created a ChakraCore.yaml file to be used with run-jsc-stress-tests. This file contains |
| the tests that are run when the original Chakra runtests.py script is run. That script |
| is the test driver for *nix platforms and does not attempt to run all tests or all |
| variations of tests. The runtest.py driver consults rlexe.xml files in each test |
| subdirectory to determine the test to run, the options to pass to the test and how to |
| determine pass/fail of the test. With runtests.py as the start, tests that didn't |
| pass directly where either skipped, with a message describing why or through |
| adjustments to the test infrastructure, as described below, where made to pass. |
| |
| The only modification to the test infrastrucutre are: |
| |
| 1) Added simple mapping of Chakra expected exception text to JSC expected text in |
| test/UnitTestFramework/UnitTestFramework.js. It would make sense to also |
| map some JSC specific exception text to more generic text for the cases where |
| that text contains indetifier names or other source specific strings and the |
| Chakra equivolent exception texts are generic. |
| |
| 2) Created JSC specific expected text files where it is clear that the text work |
| as expected on JSC but the test output is different. Typically the differences |
| fall into three categories, different exception output, different output from |
| toString() of a function, slight numeric differences, and test that rely on |
| iteration order. |
| |
| 3) Stripped the CR's from the CR-LF line terminations of the files. |
| |
| No actual test .js files were modified. |
| |
| * ChakraCore: Added. |
| * ChakraCore.yaml: Added. |
| * ChakraCore/CONTRIBUTING.md: Added. |
| * ChakraCore/LICENSE.txt: Added. |
| * ChakraCore/README.md: Added. |
| * ChakraCore/THIRD-PARTY-NOTICES.txt: Added. |
| * ChakraCore/test: Added this directory and the tests included therein. |
| |
| 2016-09-01 JF Bastien <jfbastien@apple.com> |
| |
| GetByIdWithThis/GetByValWithThis should have ValueProfiles so that they can predict their result types |
| https://bugs.webkit.org/show_bug.cgi?id=160922 |
| |
| Reviewed by Keith Miller. |
| |
| Benchmark GetBy{Id,Val}WithThis in monomorphic and polymorphic uses. |
| The value profile is used by the calc functions, which do some mild math with the result. |
| These benchmarks get ~4% faster with value profiling. |
| |
| * microbenchmarks/super-get-by-id-with-this-monomorphic.js: Added. |
| (A): |
| (A.prototype.set value): |
| (A.prototype.get value): |
| (B.prototype.set value): |
| (B.prototype.get value): |
| (B): |
| (const.bench): |
| * microbenchmarks/super-get-by-id-with-this-polymorphic.js: Added. |
| (A): |
| (A.prototype.set value): |
| (A.prototype.get value): |
| (B.prototype.set value): |
| (B.prototype.get value): |
| (B): |
| (const.bench): |
| * microbenchmarks/super-get-by-val-with-this-monomorphic.js: Added. |
| (value): |
| (A): |
| (A.prototype.set v): |
| (A.prototype.get v): |
| (B.prototype.set v): |
| (B.prototype.get v): |
| (B): |
| (const.bench): |
| * microbenchmarks/super-get-by-val-with-this-polymorphic.js: Added. |
| (value): |
| (A): |
| (A.prototype.set v): |
| (A.prototype.get v): |
| (B.prototype.set v): |
| (B.prototype.get v): |
| (B): |
| (const.bench): |
| |
| 2016-09-01 Benjamin Poulain <bpoulain@apple.com> |
| |
| arith-abs-on-various-types.js is flaky |
| |
| Unreviewed. |
| |
| * stress/arith-abs-on-various-types.js: |
| Two compilation is too small for the worst case. |
| Math.abs() can be typed integer->number->untyped if we are very unlucky. |
| |
| 2016-09-01 Filip Pizlo <fpizlo@apple.com> |
| |
| ObjectAllocationSinkingPhase::insertOSRHintsForUpdate() fails to emit updated hints in some cases |
| https://bugs.webkit.org/show_bug.cgi?id=161492 |
| |
| Reviewed by Mark Lam. |
| |
| This bug affected function->activation references but not object->object field references, |
| because object->object field references are !neededForMaterialization(). So, the object |
| test always passed but the activation/function test used to always fail. It passes now. |
| |
| * stress/materialize-activation-referenced-from-phantom-function.js: Added. |
| (bar): |
| (inc): |
| (dec): |
| (foo): |
| (test): |
| * stress/materialize-object-referenced-from-phantom-object.js: Added. |
| (bar): |
| (foo): |
| (test): |
| |
| 2016-08-31 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| stress/random-53bit.js.ftl-no-cjit-no-inline-validate sometimes fails |
| https://bugs.webkit.org/show_bug.cgi?id=161436 |
| |
| Reviewed by Filip Pizlo. |
| |
| The test checks Math.random() correctly produces 53bit random values. |
| The test can fail by design, but this should be fairly rare. |
| |
| However, when introducing, we wrap the `test()` with 1e4 to ensure the FTL compilation, and this |
| increases the failure rate. By increasing the MAX in the test, we make the failures much more rare case. |
| |
| And we also add getRandomSeed() and setRandomSeed(seed) JSC shell helpers to dump more useful information |
| and reproduce the situation easily. |
| |
| * stress/random-53bit.js: |
| (test): |
| |
| 2016-08-29 Benjamin Poulain <bpoulain@apple.com> |
| |
| [JSC] Improve ArithAbs with polymorphic input |
| https://bugs.webkit.org/show_bug.cgi?id=161286 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/arith-abs-on-various-types.js: Added. |
| New tests. |
| |
| * stress/arith-cos-on-various-types.js: |
| * stress/arith-fround-on-various-types.js: |
| * stress/arith-log-on-various-types.js: |
| * stress/arith-sin-on-various-types.js: |
| * stress/arith-sqrt-on-various-types.js: |
| Extend the existing tests to cover the DCE case. |
| |
| 2016-08-26 Benjamin Poulain <benjamin@webkit.org> |
| |
| [JSC] Implement CompareStrictEq(String, Untyped) in FTL |
| https://bugs.webkit.org/show_bug.cgi?id=161229 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/compare-strict-eq-on-various-types.js: Added. |
| |
| 2016-08-26 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] newPromiseCapabilities should check the given argument is constructor |
| https://bugs.webkit.org/show_bug.cgi?id=161226 |
| |
| Reviewed by Mark Lam. |
| |
| The arrow function should not be a constructor. So the error should be raised. |
| |
| * stress/new-promise-capabilities-requires-constructor.js: Added. |
| (shouldThrow): |
| |
| 2016-08-25 Benjamin Poulain <bpoulain@apple.com> |
| |
| [JSC] Clean up the abstract interpreter for cos/sin/sqrt/fround/log |
| https://bugs.webkit.org/show_bug.cgi?id=161181 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Extend the tests to constants. |
| Add no-argument cases where needed. |
| |
| * stress/arith-cos-on-various-types.js: |
| * stress/arith-fround-on-various-types.js: |
| * stress/arith-log-on-various-types.js: |
| * stress/arith-sin-on-various-types.js: |
| * stress/arith-sqrt-on-various-types.js: |
| |
| 2016-08-25 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG][FTL] Implement ES6 Generators in DFG / FTL |
| https://bugs.webkit.org/show_bug.cgi?id=152723 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/generator-fib-ftl-and-array.js: Added. |
| (fib): |
| * stress/generator-fib-ftl-and-object.js: Added. |
| (fib): |
| * stress/generator-fib-ftl-and-string.js: Added. |
| (fib): |
| * stress/generator-fib-ftl.js: Added. |
| (fib): |
| * stress/generator-frame-empty.js: Added. |
| (shouldThrow): |
| (shouldThrow.fib): |
| * stress/generator-reduced-save-point-put-to-scope.js: Added. |
| (shouldBe): |
| (gen): |
| * stress/generator-transfer-register-beyond-mutiple-yields.js: Added. |
| (shouldBe): |
| (gen): |
| |
| 2016-08-25 JF Bastien <jfbastien@apple.com> |
| |
| TryGetById should have a ValueProfile so that it can predict its output type |
| https://bugs.webkit.org/show_bug.cgi?id=160921 |
| |
| Reviewed by Saam Barati. |
| |
| * microbenchmarks/try-get-by-id-basic.js: Added. |
| (const.check): |
| (const.bench.f.const.fooPlusBar.createBuiltin): |
| * microbenchmarks/try-get-by-id-polymorphic.js: Added. |
| (const.check): |
| (fooPlusBar.createBuiltin): |
| (bench): |
| |
| 2016-08-25 Caio Lima <ticaiolima@gmail.com> |
| |
| NewRegexp should not prevent inlining |
| https://bugs.webkit.org/show_bug.cgi?id=154808 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Added test where functions with NewRegExp can be inlined right now. |
| |
| * stress/new-regex-inline.js: Added. |
| (assert): |
| (testRegexpInline): |
| (toInlineGlobal): |
| (withRegexp): |
| (inlineRegexpNotGlobal): |
| (toInlineRecursive): |
| (regexpContainsRecursive): |
| |
| 2016-08-24 Benjamin Poulain <benjamin@webkit.org> |
| |
| [JSC] Make FRound work with any type |
| https://bugs.webkit.org/show_bug.cgi?id=161129 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/arith-fround-on-various-types.js: Added. |
| |
| 2016-08-24 Filip Pizlo <fpizlo@apple.com> |
| |
| Unreviewed, roll out r204901, r204897, r204866, r204856, r204854. |
| |
| * stress/array-storage-array-unshift.js: Removed. |
| * stress/contiguous-array-unshift.js: Removed. |
| * stress/double-array-unshift.js: Removed. |
| * stress/int32-array-unshift.js: Removed. |
| |
| 2016-08-24 Skachkov Oleksandr <gskachkov@gmail.com> |
| |
| [ES2016] Allow assignment in for-in head in not-strict mode |
| https://bugs.webkit.org/show_bug.cgi?id=160955 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/for-in-tests.js: |
| (foo): |
| (boo): |
| (catch): |
| |
| 2016-08-23 Benjamin Poulain <benjamin@webkit.org> |
| |
| [JSC] Make ArithLog works with any type |
| https://bugs.webkit.org/show_bug.cgi?id=161110 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/arith-log-on-various-types.js: Added. |
| |
| 2016-08-23 Saam Barati <sbarati@apple.com> |
| |
| JSC should have a "microbenchmarks" directory instead of "regress" directory |
| https://bugs.webkit.org/show_bug.cgi?id=161096 |
| |
| Rubber stamped by Mark Lam. |
| |
| * microbenchmarks: Copied from LayoutTests/js/regress/script-tests. |
| |
| 2016-08-23 Keith Miller <keith_miller@apple.com> |
| |
| %TypedArray%.prototype.slice needs to check that the source and destination have not been detached. |
| https://bugs.webkit.org/show_bug.cgi?id=161031 |
| <rdar://problem/27937019> |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/typedarray-slice.js: |
| (get let): |
| (get try): |
| (testSpeciesWithTransferring): |
| |
| 2016-08-22 Filip Pizlo <fpizlo@apple.com> |
| |
| Butterflies should be allocated in Auxiliary MarkedSpace instead of CopiedSpace and we should rewrite as much of the GC as needed to make this not a regression |
| https://bugs.webkit.org/show_bug.cgi?id=160125 |
| |
| Reviewed by Geoffrey Garen. |
| |
| Most of the things I did properly covered by existing tests, but I found some simple cases of |
| unshifting that had sketchy coverage. |
| |
| * stress/array-storage-array-unshift.js: Added. |
| * stress/contiguous-array-unshift.js: Added. |
| * stress/double-array-unshift.js: Added. |
| * stress/int32-array-unshift.js: Added. |
| |
| 2016-08-23 Keith Miller <keith_miller@apple.com> |
| |
| Update/add new test262 tests |
| https://bugs.webkit.org/show_bug.cgi?id=161098 |
| |
| Reviewed by Saam Barati. |
| |
| * test262.yaml: |
| * test262/test/annexB/language/statements/for-in/bare-initializer.js: Added. |
| * test262/test/annexB/language/statements/for-in/const-initializer.js: Added. |
| * test262/test/annexB/language/statements/for-in/let-initializer.js: Added. |
| * test262/test/annexB/language/statements/for-in/nonstrict-initializer.js: Added. |
| (a): |
| * test262/test/annenxB/language/statements/for-in/strict-initializer.js: Added. |
| * test262/test/annexB/language/statements/for-in/var-arraybindingpattern-initializer.js: Added. |
| * test262/test/annexB/language/statements/for-in/var-objectbindingpattern-initializer.js: Added. |
| * test262/test/built-ins/AsyncFunction/AsyncFunction-construct.js: Added. |
| (AsyncFunction.async.foo): |
| * test262/test/built-ins/AsyncFunction/AsyncFunction-is-extensible.js: Added. |
| (AsyncFunction.async): |
| * test262/test/built-ins/AsyncFunction/AsyncFunction-is-subclass.js: Added. |
| (async.foo): |
| * test262/test/built-ins/AsyncFunction/AsyncFunction-length.js: Added. |
| (AsyncFunction.async.foo): |
| * test262/test/built-ins/AsyncFunction/AsyncFunction-name.js: Added. |
| (AsyncFunction.async.foo): |
| * test262/test/built-ins/AsyncFunction/AsyncFunction-prototype.js: Added. |
| (AsyncFunction.async.foo): |
| * test262/test/built-ins/AsyncFunction/AsyncFunction.js: Added. |
| (AsyncFunction.async.foo): |
| * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-is-extensible.js: Added. |
| (AsyncFunction.async.foo): |
| * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-prototype.js: Added. |
| (AsyncFunction.async.foo): |
| * test262/test/built-ins/AsyncFunction/AsyncFunctionPrototype-to-string.js: Added. |
| (AsyncFunction.async.foo): |
| * test262/test/built-ins/AsyncFunction/instance-construct.js: Added. |
| (async.foo): |
| * test262/test/built-ins/AsyncFunction/instance-has-name.js: Added. |
| (async.foo): |
| * test262/test/built-ins/AsyncFunction/instance-length.js: Added. |
| (async.l0): |
| (async.l1): |
| (async.l2): |
| * test262/test/built-ins/AsyncFunction/instance-prototype-property.js: Added. |
| (async.foo): |
| * test262/test/built-ins/AsyncFunction/is-not-a-global.js: Added. |
| * test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-after-integer-byteoffset.js. |
| * test262/test/built-ins/DataView/prototype/getFloat32/detached-buffer-before-outofrange-byteoffset.js: |
| * test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-after-integer-byteoffset.js. |
| * test262/test/built-ins/DataView/prototype/getFloat64/detached-buffer-before-outofrange-byteoffset.js: |
| * test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-after-integer-byteoffset.js. |
| * test262/test/built-ins/DataView/prototype/getInt16/detached-buffer-before-outofrange-byteoffset.js: |
| * test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-after-integer-byteoffset.js. |
| * test262/test/built-ins/DataView/prototype/getInt32/detached-buffer-before-outofrange-byteoffset.js: |
| * test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-after-integer-byteoffset.js. |
| * test262/test/built-ins/DataView/prototype/getInt8/detached-buffer-before-outofrange-byteoffset.js: |
| * test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-after-integer-byteoffset.js. |
| * test262/test/built-ins/DataView/prototype/getUint16/detached-buffer-before-outofrange-byteoffset.js: |
| * test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-after-integer-byteoffset.js. |
| * test262/test/built-ins/DataView/prototype/getUint32/detached-buffer-before-outofrange-byteoffset.js: |
| * test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-after-integer-byteoffset.js. |
| * test262/test/built-ins/DataView/prototype/getUint8/detached-buffer-before-outofrange-byteoffset.js: |
| * test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-after-integer-byteoffset.js. |
| * test262/test/built-ins/DataView/prototype/setFloat32/detached-buffer-before-outofrange-byteoffset.js: |
| * test262/test/built-ins/DataView/prototype/setFloat32/index-check-before-value-conversion.js: |
| * test262/test/built-ins/DataView/prototype/setFloat32/range-check-after-value-conversion.js: |
| * test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-after-integer-byteoffset.js. |
| * test262/test/built-ins/DataView/prototype/setFloat64/detached-buffer-before-outofrange-byteoffset.js: |
| * test262/test/built-ins/DataView/prototype/setFloat64/index-check-before-value-conversion.js: |
| * test262/test/built-ins/DataView/prototype/setFloat64/range-check-after-value-conversion.js: |
| * test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-after-integer-byteoffset.js. |
| * test262/test/built-ins/DataView/prototype/setInt16/detached-buffer-before-outofrange-byteoffset.js: |
| * test262/test/built-ins/DataView/prototype/setInt16/index-check-before-value-conversion.js: |
| * test262/test/built-ins/DataView/prototype/setInt16/range-check-after-value-conversion.js: |
| * test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-after-integer-byteoffset.js. |
| * test262/test/built-ins/DataView/prototype/setInt32/detached-buffer-before-outofrange-byteoffset.js: |
| * test262/test/built-ins/DataView/prototype/setInt32/index-check-before-value-conversion.js: |
| * test262/test/built-ins/DataView/prototype/setInt32/range-check-after-value-conversion.js: |
| * test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-after-integer-byteoffset.js. |
| * test262/test/built-ins/DataView/prototype/setInt8/detached-buffer-before-outofrange-byteoffset.js: |
| * test262/test/built-ins/DataView/prototype/setInt8/index-check-before-value-conversion.js: |
| * test262/test/built-ins/DataView/prototype/setInt8/range-check-after-value-conversion.js: |
| * test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-after-integer-byteoffset.js. |
| * test262/test/built-ins/DataView/prototype/setUint16/detached-buffer-before-outofrange-byteoffset.js: |
| * test262/test/built-ins/DataView/prototype/setUint16/index-check-before-value-conversion.js: |
| * test262/test/built-ins/DataView/prototype/setUint16/range-check-after-value-conversion.js: |
| * test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-after-integer-byteoffset.js. |
| * test262/test/built-ins/DataView/prototype/setUint32/detached-buffer-before-outofrange-byteoffset.js: |
| * test262/test/built-ins/DataView/prototype/setUint32/index-check-before-value-conversion.js: |
| * test262/test/built-ins/DataView/prototype/setUint32/range-check-after-value-conversion.js: |
| * test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-toindex-byteoffset.js: Renamed from JSTests/test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-after-integer-byteoffset.js. |
| * test262/test/built-ins/DataView/prototype/setUint8/detached-buffer-before-outofrange-byteoffset.js: |
| * test262/test/built-ins/DataView/prototype/setUint8/index-check-before-value-conversion.js: |
| * test262/test/built-ins/DataView/prototype/setUint8/range-check-after-value-conversion.js: |
| * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget-bound.js: Added. |
| (A): |
| * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-boundtarget.js: Added. |
| (A): |
| * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-new.js: Added. |
| (A): |
| * test262/test/built-ins/Function/prototype/bind/instance-construct-newtarget-self-reflect.js: Added. |
| (A): |
| * test262/test/built-ins/Function/prototype/toString/AsyncFunction.js: Added. |
| (async.f): |
| * test262/test/built-ins/Function/prototype/toString/async-function-declaration.js: Added. |
| (async.f): |
| * test262/test/built-ins/Function/prototype/toString/async-function-expression.js: Added. |
| (let.f.async.f): |
| * test262/test/built-ins/Function/prototype/toString/async-method.js: Added. |
| (let.f.async.f): |
| (let.g.async.string_appeared_here): |
| * test262/test/built-ins/JSON/parse/reviver-array-define-prop-err.js: Added. |
| (defineProperty): |
| * test262/test/built-ins/JSON/parse/reviver-array-delete-err.js: Added. |
| (deleteProperty): |
| * test262/test/built-ins/JSON/parse/reviver-array-length-coerce-err.js: Added. |
| (uncoercible.valueOf): |
| (get if): |
| * test262/test/built-ins/JSON/parse/reviver-array-length-get-err.js: Added. |
| (get if): |
| * test262/test/built-ins/JSON/parse/reviver-call-err.js: Added. |
| * test262/test/built-ins/JSON/parse/reviver-get-name-err.js: Added. |
| (thrower): |
| * test262/test/built-ins/JSON/parse/reviver-object-define-prop-err.js: Added. |
| (defineProperty): |
| * test262/test/built-ins/JSON/parse/reviver-object-delete-err.js: Added. |
| (deleteProperty): |
| * test262/test/built-ins/JSON/parse/reviver-object-own-keys-err.js: Added. |
| (ownKeys): |
| * test262/test/built-ins/Number/prototype/toExponential/infinity.js: Added. |
| * test262/test/built-ins/Number/prototype/toExponential/nan.js: Added. |
| * test262/test/built-ins/Number/prototype/toExponential/prop-desc.js: Added. |
| * test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits-symbol.js: Added. |
| * test262/test/built-ins/Number/prototype/toExponential/return-abrupt-tointeger-fractiondigits.js: Added. |
| (fd1.valueOf): |
| (fd2.toString): |
| * test262/test/built-ins/Number/prototype/toExponential/return-values.js: Added. |
| * test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-0.js: Added. |
| * test262/test/built-ins/Number/prototype/toExponential/this-is-0-fractiondigits-is-not-0.js: Added. |
| * test262/test/built-ins/Number/prototype/toExponential/this-type-not-number-or-number-object.js: Added. |
| * test262/test/built-ins/Number/prototype/toExponential/tointeger-fractiondigits.js: Added. |
| * test262/test/built-ins/Number/prototype/toExponential/undefined-fractiondigits.js: Added. |
| * test262/test/built-ins/Object/getOwnPropertyDescriptors/duplicate-keys.js: |
| * test262/test/built-ins/Object/getOwnPropertyDescriptors/proxy-undefined-descriptor.js: Added. |
| (badProxyHandlers.allowProxyTraps.getOwnPropertyDescriptor): |
| (badProxyHandlers.allowProxyTraps.ownKeys): |
| * test262/test/built-ins/Proxy/setPrototypeOf/boolean-trap-result-extensible-target.js: Removed. |
| (setPrototypeOf): Deleted. |
| * test262/test/built-ins/Proxy/setPrototypeOf/internals-call-order.js: Added. |
| (target.new.Proxy.Object.create.isExtensible): |
| (target.new.Proxy.Object.create.getPrototypeOf): |
| (target.new.Proxy.Object.create): |
| (setPrototypeOf): |
| * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-not-same-target-prototype.js: |
| (setPrototypeOf): |
| * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-target-same-target-prototype.js: |
| (setPrototypeOf): |
| * test262/test/built-ins/Proxy/setPrototypeOf/not-extensible-trap-is-false-return-false.js: Removed. |
| (setPrototypeOf): Deleted. |
| * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-get-trap.js: Added. |
| * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-isextensible-target.js: Added. |
| (isExtensible): |
| (setPrototypeOf): |
| * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-target-getprototypeof.js: Added. |
| (getPrototypeOf): |
| (setPrototypeOf): |
| * test262/test/built-ins/Proxy/setPrototypeOf/return-abrupt-from-trap.js: Renamed from JSTests/test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js. |
| (setPrototypeOf): |
| * test262/test/built-ins/Proxy/setPrototypeOf/return-is-abrupt.js: |
| (setPrototypeOf): Deleted. |
| * test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-false.js: Added. |
| (isExtensible): |
| (setPrototypeOf): |
| * test262/test/built-ins/Proxy/setPrototypeOf/toboolean-trap-result-true-target-is-extensible.js: Added. |
| (isExtensible): |
| (getPrototypeOf): |
| (setPrototypeOf): |
| * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-not-callable.js: |
| * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined-or-null.js: Added. |
| (setPrototypeOf): |
| * test262/test/built-ins/Proxy/setPrototypeOf/trap-is-undefined.js: Removed. |
| * test262/test/built-ins/RegExp/lastIndex.js: Added. |
| * test262/test/built-ins/RegExp/prototype/global/15.10.7.2-1.js: Removed. |
| * test262/test/built-ins/RegExp/prototype/global/this-val-invalid-obj.js: Added. |
| (get Object): |
| * test262/test/built-ins/RegExp/prototype/global/this-val-non-obj.js: Added. |
| (get Object): |
| * test262/test/built-ins/RegExp/prototype/global/this-val-regexp-prototype.js: Added. |
| * test262/test/built-ins/RegExp/prototype/ignoreCase/15.10.7.3-1.js: Removed. |
| * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-invalid-obj.js: Added. |
| (get Object): |
| * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-non-obj.js: Added. |
| (get Object): |
| * test262/test/built-ins/RegExp/prototype/ignoreCase/this-val-regexp-prototype.js: Added. |
| * test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-1.js: Removed. |
| * test262/test/built-ins/RegExp/prototype/lastIndex/15.10.7.5-2.js: Removed. |
| * test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A8.js: Removed. |
| (__re.hasOwnProperty): Deleted. |
| (__re.propertyIsEnumerable): Deleted. |
| (count.0): Deleted. |
| * test262/test/built-ins/RegExp/prototype/lastIndex/S15.10.7.5_A9.js: Removed. |
| (__re.hasOwnProperty): Deleted. |
| (catch): Deleted. |
| * test262/test/built-ins/RegExp/prototype/multiline/15.10.7.4-1.js: Removed. |
| * test262/test/built-ins/RegExp/prototype/multiline/this-val-invalid-obj.js: Added. |
| (get Object): |
| * test262/test/built-ins/RegExp/prototype/multiline/this-val-non-obj.js: Added. |
| (get Object): |
| * test262/test/built-ins/RegExp/prototype/multiline/this-val-regexp-prototype.js: Added. |
| * test262/test/built-ins/RegExp/prototype/no-regexp-matcher.js: Added. |
| * test262/test/built-ins/RegExp/prototype/source/15.10.7.1-1.js: Removed. |
| * test262/test/built-ins/RegExp/prototype/source/this-val-invalid-obj.js: Added. |
| (get Object): |
| * test262/test/built-ins/RegExp/prototype/source/this-val-non-obj.js: Added. |
| (get Object): |
| * test262/test/built-ins/RegExp/prototype/source/this-val-regexp-prototype.js: Added. |
| * test262/test/built-ins/RegExp/prototype/source/value-empty.js: Added. |
| * test262/test/built-ins/RegExp/prototype/source/value-line-terminator.js: Added. |
| * test262/test/built-ins/RegExp/prototype/source/value-u.js: Added. |
| * test262/test/built-ins/RegExp/prototype/source/value.js: Added. |
| * test262/test/built-ins/RegExp/prototype/sticky/this-val-invalid-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-invalid-obj.js. |
| * test262/test/built-ins/RegExp/prototype/sticky/this-val-non-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-non-obj.js. |
| * test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp-prototype.js: Added. |
| * test262/test/built-ins/RegExp/prototype/sticky/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/sticky/this-regexp.js. |
| * test262/test/built-ins/RegExp/prototype/unicode/this-val-invalid-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-invald-obj.js. |
| * test262/test/built-ins/RegExp/prototype/unicode/this-val-non-obj.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-non-obj.js. |
| * test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp-prototype.js: Added. |
| * test262/test/built-ins/RegExp/prototype/unicode/this-val-regexp.js: Renamed from JSTests/test262/test/built-ins/RegExp/prototype/unicode/this-regexp.js. |
| * test262/test/built-ins/String/numeric-properties.js: Added. |
| * test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-infinity-throws.js: Added. |
| * test262/test/intl402/DateTimeFormat/prototype/formatToParts/date-is-nan-throws.js: Added. |
| * test262/test/intl402/DateTimeFormat/prototype/formatToParts/formatToParts.js: Added. |
| * test262/test/intl402/DateTimeFormat/prototype/formatToParts/length.js: Added. |
| * test262/test/intl402/DateTimeFormat/prototype/formatToParts/main.js: Added. |
| (reduce): |
| (compareFTPtoFormat): |
| * test262/test/intl402/DateTimeFormat/prototype/formatToParts/name.js: Added. |
| * test262/test/intl402/DateTimeFormat/prototype/formatToParts/return-abrupt-tonumber-date.js: Added. |
| (obj1.valueOf): |
| (obj2.toString): |
| * test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added. |
| * test262/test/intl402/DateTimeFormat/prototype/formatToParts/this-is-not-object-throws.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/formatToParts.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/length.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/main.js: Added. |
| (reduce): |
| (compareFTPtoFormat): |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/name.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/return-abrupt-tonumber.js: Added. |
| (obj1.valueOf): |
| (obj2.toString): |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/this-has-not-internal-throws.js: Added. |
| * test262/test/intl402/NumberFormat/prototype/formatToParts/this-is-not-object-throws.js: Added. |
| * test262/test/language/arguments-object/10.6-10-c-ii-2-s.js: |
| (foo): Deleted. |
| * test262/test/language/arguments-object/unmapped/via-params-dflt.js: Added. |
| (dflt): |
| * test262/test/language/arguments-object/unmapped/via-params-dstr.js: Added. |
| (dstr): |
| * test262/test/language/arguments-object/unmapped/via-params-rest.js: Added. |
| (rest): |
| * test262/test/language/arguments-object/unmapped/via-strict.js: Renamed from JSTests/test262/test/language/arguments-object/10.6-10-c-ii-2-s.js. |
| (foo): |
| * test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js: |
| (f): Deleted. |
| * test262/test/language/eval-code/direct/super-call-arrow.js: Added. |
| (catch): |
| * test262/test/language/eval-code/direct/super-call-fn.js: Added. |
| (f): |
| * test262/test/language/eval-code/direct/super-call.js: Added. |
| (catch): |
| * test262/test/language/eval-code/direct/super-prop-arrow.js: Added. |
| (catch): |
| * test262/test/language/eval-code/direct/super-prop-method.js: Added. |
| (o.method): |
| * test262/test/language/eval-code/direct/super-prop.js: Added. |
| (catch): |
| * test262/test/language/eval-code/indirect/super-call.js: Added. |
| (catch): |
| (try.m): |
| * test262/test/language/eval-code/indirect/super-prop.js: Added. |
| (catch): |
| (try.m): |
| * test262/test/language/expressions/arrow-function/params-trailing-comma-length.js: Added. |
| (assert.sameValue): |
| * test262/test/language/expressions/arrow-function/params-trailing-comma.js: Added. |
| * test262/test/language/expressions/async-arrow-function/arrow-returns-promise.js: Added. |
| (p.then): |
| * test262/test/language/expressions/async-arrow-function/early-errors-arrow-NSPL-with-USD.js: Added. |
| (async): |
| * test262/test/language/expressions/async-arrow-function/early-errors-arrow-arguments-in-formal-parameters.js: Added. |
| (async): |
| * test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals-default.js: Added. |
| (async): |
| * test262/test/language/expressions/async-arrow-function/early-errors-arrow-await-in-formals.js: Added. |
| (async): |
| * test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-call.js: Added. |
| (async): |
| * test262/test/language/expressions/async-arrow-function/early-errors-arrow-body-contains-super-property.js: Added. |
| (async): |
| * test262/test/language/expressions/async-arrow-function/early-errors-arrow-duplicate-parameters.js: Added. |
| (async): |
| * test262/test/language/expressions/async-arrow-function/early-errors-arrow-eval-in-formal-parameters.js: Added. |
| (async): |
| * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-body-duplicate.js: Added. |
| (async): |
| * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-call.js: Added. |
| (async.foo.super): |
| * test262/test/language/expressions/async-arrow-function/early-errors-arrow-formals-contains-super-property.js: Added. |
| (async): |
| * test262/test/language/expressions/async-function/early-errors-expression-NSPL-with-USD.js: Added. |
| (async): |
| * test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-arguments.js: Added. |
| (async.arguments): |
| * test262/test/language/expressions/async-function/early-errors-expression-binding-identifier-eval.js: Added. |
| (async.eval): |
| * test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-call.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/async-function/early-errors-expression-body-contains-super-property.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/async-function/early-errors-expression-eval-in-formal-parameters.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/async-function/early-errors-expression-formals-body-duplicate.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-call.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/async-function/early-errors-expression-formals-contains-super-property.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/async-function/early-errors-expression-not-simple-assignment-target.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/async-function/expression-returns-promise.js: Added. |
| (p.async): |
| * test262/test/language/expressions/async-function/syntax-expression-is-PrimaryExpression.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/await/await-BindingIdentifier-in-global.js: Added. |
| (async.await): |
| * test262/test/language/expressions/await/await-BindingIdentifier-nested.js: Added. |
| (async.foo.await): |
| (async.foo): |
| * test262/test/language/expressions/await/await-awaits-thenable-not-callable.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/await/await-awaits-thenables-that-throw.js: Added. |
| (thenable.then): |
| (async.foo): |
| * test262/test/language/expressions/await/await-awaits-thenables.js: Added. |
| (thenable.then): |
| (async.foo): |
| * test262/test/language/expressions/await/await-in-function.js: Added. |
| (foo): |
| * test262/test/language/expressions/await/await-in-generator.js: Added. |
| (foo): |
| * test262/test/language/expressions/await/await-in-global.js: Added. |
| * test262/test/language/expressions/await/await-in-nested-function.js: Added. |
| (async.foo.bar): |
| (async.foo): |
| * test262/test/language/expressions/await/await-in-nested-generator.js: Added. |
| (async.foo.bar): |
| (async.foo): |
| * test262/test/language/expressions/await/await-throws-rejections.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/await/early-errors-await-not-simple-assignment-target.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/await/no-operand.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/await/syntax-await-has-UnaryExpression-with-MultiplicativeExpression.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/await/syntax-await-has-UnaryExpression.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/call/trailing-comma.js: Added. |
| (foo): |
| * test262/test/language/expressions/function/arguments-with-arguments-fn.js: Added. |
| (f): |
| * test262/test/language/expressions/function/arguments-with-arguments-lex.js: Added. |
| (f): |
| * test262/test/language/expressions/function/params-trailing-comma-arguments.js: Added. |
| (f1): |
| (f2): |
| * test262/test/language/expressions/function/params-trailing-comma-length.js: Added. |
| (assert.sameValue): |
| * test262/test/language/expressions/function/params-trailing-comma.js: Added. |
| * test262/test/language/expressions/generators/arguments-with-arguments-fn.js: Added. |
| (g): |
| * test262/test/language/expressions/generators/arguments-with-arguments-lex.js: Added. |
| (g): |
| * test262/test/language/expressions/generators/params-trailing-comma-arguments.js: Added. |
| (f1): |
| (f2): |
| * test262/test/language/expressions/generators/params-trailing-comma-length.js: Added. |
| (assert.sameValue): |
| * test262/test/language/expressions/generators/params-trailing-comma.js: Added. |
| * test262/test/language/expressions/object/computed-property-evaluation-order.js: Added. |
| * test262/test/language/expressions/object/method-definition/async-super-call-body.js: Added. |
| (sup.method): |
| (child.async.method): |
| * test262/test/language/expressions/object/method-definition/async-super-call-param.js: Added. |
| (sup.method): |
| (child.async.method.x.super.method): |
| * test262/test/language/expressions/object/method-definition/early-errors-object-method-NSPL-with-USD.js: Added. |
| (foo): |
| * test262/test/language/expressions/object/method-definition/early-errors-object-method-arguments-in-formal-parameters.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals-default.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/object/method-definition/early-errors-object-method-await-in-formals.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/object/method-definition/early-errors-object-method-body-contains-super-call.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/object/method-definition/early-errors-object-method-duplicate-parameters.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/object/method-definition/early-errors-object-method-eval-in-formal-parameters.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-body-duplicate.js: Added. |
| (async.foo): |
| * test262/test/language/expressions/object/method-definition/early-errors-object-method-formals-contains-super-call.js: Added. |
| (async.foo.foo.super): |
| * test262/test/language/expressions/object/method-definition/object-method-returns-promise.js: Added. |
| (obj.async.method): |
| * test262/test/language/expressions/object/method-definition/params-trailing-comma-arguments.js: Added. |
| (obj.f1): |
| (obj.f2): |
| * test262/test/language/expressions/object/method-definition/params-trailing-comma-length.js: Added. |
| (obj.one): |
| (obj.two): |
| * test262/test/language/expressions/object/method-definition/params-trailing-comma-rest.js: Added. |
| (m): |
| * test262/test/language/expressions/object/method-definition/params-trailing-comma.js: Added. |
| (one): |
| (two): |
| * test262/test/language/global-code/decl-func-dup.js: Renamed from JSTests/test262/test/language/block-scope/syntax/redeclaration-global/allowed-to-redeclare-function-declaration-with-function-declaration.js. |
| (f): |
| * test262/test/language/global-code/decl-func.js: Added. |
| (brandNew): |
| * test262/test/language/global-code/decl-lex-configurable-global.js: Added. |
| * test262/test/language/global-code/decl-lex-deletion.js: Added. |
| (test262class): |
| * test262/test/language/global-code/decl-lex-restricted-global.js: Added. |
| * test262/test/language/global-code/decl-lex.js: Added. |
| (test262class): |
| * test262/test/language/global-code/decl-var.js: Added. |
| * test262/test/language/global-code/return.js: Added. |
| * test262/test/language/global-code/script-decl-func-dups.js: Added. |
| * test262/test/language/global-code/script-decl-func-err-non-configurable.js: Added. |
| * test262/test/language/global-code/script-decl-func-err-non-extensible.js: Added. |
| * test262/test/language/global-code/script-decl-func.js: Added. |
| * test262/test/language/global-code/script-decl-lex-deletion.js: Added. |
| * test262/test/language/global-code/script-decl-lex-lex.js: Added. |
| (test262Class): |
| * test262/test/language/global-code/script-decl-lex-restricted-global.js: Added. |
| * test262/test/language/global-code/script-decl-lex-var.js: Added. |
| (test262Fn): |
| * test262/test/language/global-code/script-decl-lex.js: Added. |
| * test262/test/language/global-code/script-decl-var-collision.js: Added. |
| (test262Class): |
| * test262/test/language/global-code/script-decl-var-err.js: Added. |
| * test262/test/language/global-code/script-decl-var.js: Added. |
| * test262/test/language/global-code/super-call-arrow.js: Added. |
| * test262/test/language/global-code/super-call.js: Added. |
| * test262/test/language/global-code/super-prop-arrow.js: Added. |
| * test262/test/language/global-code/super-prop.js: Added. |
| * test262/test/language/global-code/yield-non-strict.js: Added. |
| (catch): |
| * test262/test/language/global-code/yield-strict.js: Added. |
| * test262/test/language/literals/regexp/lastIndex.js: Added. |
| * test262/test/language/literals/regexp/u-unicode-esc-bounds.js: |
| * test262/test/language/literals/regexp/y-assertion-start.js: Added. |
| * test262/test/language/module-code/instn-star-err-not-found-faulty_FIXTURE.js: |
| * test262/test/language/module-code/instn-star-err-not-found.js: |
| * test262/test/language/module-code/namespace/internals/get-own-property-str-found-init.js: |
| * test262/test/language/module-code/parse-err-return.js: Added. |
| * test262/test/language/module-code/parse-err-yield.js: Added. |
| * test262/test/language/rest-parameters/params-trailing-comma-rest.js: Added. |
| * test262/test/language/statements/async-function/declaration-returns-promise.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/early-errors-declaration-NSPL-with-USD.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/early-errors-declaration-arguments-in-formal-parameters.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/early-errors-declaration-await-in-formals-default.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/early-errors-declaration-await-in-formals.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-arguments.js: Added. |
| (async.arguments): |
| * test262/test/language/statements/async-function/early-errors-declaration-binding-identifier-eval.js: Added. |
| (async.eval): |
| * test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-call.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/early-errors-declaration-body-contains-super-property.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/early-errors-declaration-duplicate-parameters.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/early-errors-declaration-eval-in-formal-parameters.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/early-errors-declaration-formals-body-duplicate.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-call.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/early-errors-declaration-formals-contains-super-property.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/early-errors-no-async-generator.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/evaluation-body-that-returns-after-await.js: Added. |
| (async.foo): |
| (foo.then): |
| * test262/test/language/statements/async-function/evaluation-body-that-returns.js: Added. |
| (async.foo): |
| (foo.then): |
| * test262/test/language/statements/async-function/evaluation-body-that-throws-after-await.js: Added. |
| (async.foo): |
| (foo.then): |
| * test262/test/language/statements/async-function/evaluation-body-that-throws.js: Added. |
| (async.foo): |
| (foo.then): |
| * test262/test/language/statements/async-function/evaluation-body.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/evaluation-default-that-throws.js: Added. |
| (async.foo): |
| (foo.then): |
| * test262/test/language/statements/async-function/evaluation-mapped-arguments.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/evaluation-this-value-global.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/evaluation-this-value-passed.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/evaluation-unmapped-arguments.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/syntax-declaration-line-terminators-allowed.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/syntax-declaration-no-line-terminator.js: Added. |
| (async.foo): |
| * test262/test/language/statements/async-function/syntax-declaration.js: Added. |
| (async.foo): |
| (foo.then): |
| * test262/test/language/statements/class/definition/class-method-returns-promise.js: Added. |
| (Foo.prototype.async.method): |
| (Foo): |
| * test262/test/language/statements/class/definition/early-errors-class-method-NSPL-with-USD.js: Added. |
| (Foo.prototype.async.bar): |
| (Foo): |
| * test262/test/language/statements/class/definition/early-errors-class-method-arguments-in-formal-parameters.js: Added. |
| (Foo.prototype.async.foo): |
| (Foo): |
| * test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals-default.js: Added. |
| (Foo.prototype.async.foo): |
| (Foo): |
| * test262/test/language/statements/class/definition/early-errors-class-method-await-in-formals.js: Added. |
| (Foo.prototype.async.foo): |
| (Foo): |
| * test262/test/language/statements/class/definition/early-errors-class-method-body-contains-super-call.js: Added. |
| (Foo.prototype.async.foo): |
| (Foo): |
| * test262/test/language/statements/class/definition/early-errors-class-method-duplicate-parameters.js: Added. |
| (Foo.prototype.async.foo): |
| (Foo): |
| * test262/test/language/statements/class/definition/early-errors-class-method-eval-in-formal-parameters.js: Added. |
| (Foo.prototype.async.foo): |
| (Foo): |
| * test262/test/language/statements/class/definition/early-errors-class-method-formals-body-duplicate.js: Added. |
| (Foo.async.foo): |
| (Foo): |
| * test262/test/language/statements/class/definition/early-errors-class-method-formals-contains-super-call.js: Added. |
| (Foo.prototype.async.foo): |
| (Foo): |
| * test262/test/language/statements/class/definition/methods-async-super-call-body.js: Added. |
| (A.prototype.async.method): |
| (A): |
| (B.prototype.async.method): |
| (B): |
| * test262/test/language/statements/class/definition/methods-async-super-call-param.js: Added. |
| (A.prototype.async.method): |
| (A): |
| (B.prototype.async.method): |
| (B): |
| * test262/test/language/statements/class/definition/params-trailing-comma-arguments.js: Added. |
| (C.prototype.f1): |
| (C.prototype.f2): |
| (C): |
| * test262/test/language/statements/class/definition/params-trailing-comma-length.js: Added. |
| (C.prototype.one): |
| (C.prototype.two): |
| (C): |
| * test262/test/language/statements/class/definition/params-trailing-comma-rest.js: Added. |
| (C.prototype.m): |
| (C): |
| * test262/test/language/statements/class/definition/params-trailing-comma.js: Added. |
| (C.prototype.one): |
| (C.prototype.two): |
| (C): |
| * test262/test/language/statements/function/arguments-with-arguments-fn.js: Added. |
| (f): |
| * test262/test/language/statements/function/arguments-with-arguments-lex.js: Added. |
| (f): |
| * test262/test/language/statements/function/params-trailing-comma-arguments.js: Added. |
| (f1): |
| (f2): |
| * test262/test/language/statements/function/params-trailing-comma-length.js: Added. |
| (one): |
| (two): |
| * test262/test/language/statements/function/params-trailing-comma.js: Added. |
| (one): |
| (two): |
| * test262/test/language/statements/generators/arguments-with-arguments-fn.js: Added. |
| (g): |
| * test262/test/language/statements/generators/arguments-with-arguments-lex.js: Added. |
| (g): |
| * test262/test/language/statements/generators/params-trailing-comma-length.js: Added. |
| (one): |
| (two): |
| * test262/test/language/statements/generators/params-trailing-comma.js: Added. |
| (one): |
| (two): |
| * test262/test262-Revision.txt: |
| |
| 2016-08-23 Benjamin Poulain <bpoulain@apple.com> |
| |
| [JSC] Make Math.cos() and Math.sin() work with any argument type |
| https://bugs.webkit.org/show_bug.cgi?id=161069 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/arith-cos-on-various-types.js: Added. |
| * stress/arith-sin-on-various-types.js: Added. |
| |
| 2016-08-23 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] Module namespace object's Symbol.iterator method should only accept module namespace objects |
| https://bugs.webkit.org/show_bug.cgi?id=161097 |
| |
| Reviewed by Keith Miller. |
| |
| * test262.yaml: |
| |
| 2016-08-22 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] Modules' `export default function/class` should be declaration |
| https://bugs.webkit.org/show_bug.cgi?id=160499 |
| |
| Reviewed by Saam Barati. |
| |
| Add several module tests. And flip the failed tests flags in test262. |
| |
| * modules/export-default-function-name-in-assignment-expression.js: Added. |
| (export.default): |
| * modules/export-default-function-name-in-class-declaration.js: Added. |
| * modules/export-default-function-name-in-function-declaration.js: Added. |
| (export.default): |
| * modules/export-default-function-name-in-generator-declaration.js: Added. |
| (export.default): |
| * stress/method-name.js: Added. |
| (testSyntax): |
| (testSyntaxError): |
| (testSyntaxError.Hello.prototype.hello.hello): |
| (testSyntaxError.Hello): |
| (SyntaxError.Unexpected.identifier.string_appeared_here.Expected.an.opening.string_appeared_here.before.a.method.testSyntaxError.let.obj.hello.hello): |
| (testSyntaxError.Hello.prototype.get hello): |
| (testSyntaxError.Hello.prototype.set hello): |
| * test262.yaml: |
| |
| 2016-08-22 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] Module should not allow HTML comments |
| https://bugs.webkit.org/show_bug.cgi?id=161041 |
| |
| Reviewed by Saam Barati. |
| |
| * modules/html-comments.js: Added. |
| (shouldThrow): |
| * test262.yaml: |
| |
| 2016-08-21 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Should not fixup AnyIntUse in 32_64 |
| https://bugs.webkit.org/show_bug.cgi?id=161029 |
| |
| Reviewed by Saam Barati. |
| |
| * typeProfiler/int52-dfg.js: Added. |
| (test): |
| |
| 2016-08-21 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| Unreviewed, rolling out r204697 |
| https://bugs.webkit.org/show_bug.cgi?id=161029 |
| |
| * typeProfiler/int52-dfg.js: Removed. |
| (test): Deleted. |
| * typeProfiler/number-filter-dfg.js: Removed. |
| (test): Deleted. |
| |
| 2016-08-21 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [DFG] Should not fixup AnyIntUse in 32_64 |
| https://bugs.webkit.org/show_bug.cgi?id=161029 |
| |
| Reviewed by Saam Barati. |
| |
| * typeProfiler/int52-dfg.js: Added. |
| (test): |
| * typeProfiler/number-filter-dfg.js: Added. |
| (test): |
| |
| 2016-08-19 Benjamin Poulain <bpoulain@apple.com> |
| |
| [JSC] ArithSqrt should work with any argument type |
| https://bugs.webkit.org/show_bug.cgi?id=160954 |
| |
| Reviewed by Saam Barati. |
| |
| * stress/arith-sqrt-on-various-types.js: Added. |
| (let.validInputTypedTestCases.validInputTestCases.map): |
| (isIdentical): |
| (opaqueAllTypesSqrt): |
| (testAllTypesCall): |
| (testSingleTypeCall): |
| (opaqueSqrtForSideEffects): |
| (testSideEffect.let.testObject.valueOf): |
| (testSideEffect): |
| (opaqueSqrtForCSE): |
| (testCSE.let.testObject.valueOf): |
| (testCSE): |
| (testException.opaqueSqrtWithException): |
| (testException): |
| |
| 2016-08-19 Joseph Pecoraro <pecoraro@apple.com> |
| |
| Make custom Error properties (line, column, sourceURL) configurable and writable |
| https://bugs.webkit.org/show_bug.cgi?id=160984 |
| <rdar://problem/27905979> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/native-error-properties.js: Added. |
| (assert): |
| (shouldNotThrow): |
| |
| (checkEmptyErrorPropertiesDescriptors): |
| (checkNonEmptyErrorPropertiesDescriptors): |
| The spec only describes the "message" property, so |
| ensure it has the right descriptor attributes. |
| |
| (checkErrorPropertiesWritable): |
| Ensure common error property names are writable. |
| In strict mode this would have thrown an exception |
| if they were readonly. |
| |
| 2016-08-18 Mark Lam <mark.lam@apple.com> |
| |
| ScopedArguments is using the wrong owner object for a write barrier. |
| https://bugs.webkit.org/show_bug.cgi?id=160976 |
| <rdar://problem/27328506> |
| |
| Reviewed by Keith Miller. |
| |
| * stress/scoped-arguments-write-barrier-should-be-on-scope-object.js: Added. |
| |
| 2016-08-17 JF Bastien <jfbastien@apple.com> |
| |
| We allow assignments to const variables when in a for-in/for-of loop |
| https://bugs.webkit.org/show_bug.cgi?id=156673 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/for-in-of-const.js: Added. |
| (expect_nothrow): |
| (expect_throw): |
| (capture): |
| |
| 2016-08-17 Mark Lam <mark.lam@apple.com> |
| |
| Remove an invalid assertion in the DFG backend's GetById emitter. |
| https://bugs.webkit.org/show_bug.cgi?id=160925 |
| <rdar://problem/27248961> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/dfg-get-by-id-should-not-assert-non-null-prediction.js: Added. |
| |
| 2016-08-16 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Unreviewed, rolling out r204464. |
| |
| This is no longer needed after r204495. |
| |
| Reverted changeset: |
| |
| "Skip failing test mozilla/ecma/LexicalConventions/7.7.3.js" |
| https://bugs.webkit.org/show_bug.cgi?id=160662 |
| http://trac.webkit.org/changeset/204464 |
| |
| 2016-08-15 Ryan Haddad <ryanhaddad@apple.com> |
| |
| Skip failing test mozilla/ecma/LexicalConventions/7.7.3.js |
| https://bugs.webkit.org/show_bug.cgi?id=160662 |
| |
| Unreviewed test gardening. |
| |
| * mozilla/ecma/LexicalConventions/7.7.3.js: |
| |
| 2016-08-14 Skachkov Oleksandr <gskachkov@gmail.com> |
| |
| [2016] Set correct status for test262 after implementation of Object.values&Object.entries |
| https://bugs.webkit.org/show_bug.cgi?id=160844 |
| |
| Reviewed by Saam Barati. |
| |
| Patch contains fix statuses of specs in the test262 test collection after implementation of |
| Object.values and Object.entries functions. Also patch contains small fixes in tests of the |
| tests for Object.values/entries functions. |
| |
| * stress/object-entries.js: |
| (Object.getOwnPropertyDescriptor): |
| * stress/object-values.js: |
| (Object.getOwnPropertyDescriptor): |
| * test262.yaml: |
| |
| 2016-08-12 Saam Barati <sbarati@apple.com> |
| |
| Inline store loop for CopyRest in DFG and FTL for certain array modes |
| https://bugs.webkit.org/show_bug.cgi?id=159612 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/rest-parameter-having-a-bad-time.js: Added. |
| * stress/rest-parameter-many-arguments.js: Added. |
| * stress/rest-parameter-various-types.js: Added. |
| |
| 2016-08-12 Skachkov Oleksandr <gskachkov@gmail.com> |
| |
| [ES2016] Implement Object.entries |
| https://bugs.webkit.org/show_bug.cgi?id=160412 |
| |
| Reviewed by Saam Barati. |
| |
| Patch contains tests for Object.entries function and |
| fix of wrong tests for Object.values function. |
| |
| * stress/object-entries.js: |
| (compare): |
| (string_appeared_here.forEach): |
| (const.getInvokedFunctions.): |
| (const.getInvokedFunctions): |
| (Array.prototype.push): |
| * stress/object-values.js: |
| |
| 2016-08-11 Mark Lam <mark.lam@apple.com> |
| |
| OverridesHasInstance should not branch across register allocations. |
| https://bugs.webkit.org/show_bug.cgi?id=160792 |
| <rdar://problem/27361778> |
| |
| Reviewed by Benjamin Poulain. |
| |
| * stress/OverrideHasInstance-should-not-branch-across-register-allocations.js: Added. |
| |
| 2016-08-11 Mark Lam <mark.lam@apple.com> |
| |
| The jsc shell's Element host constructor should throw if it fails to construct an object. |
| https://bugs.webkit.org/show_bug.cgi?id=160773 |
| <rdar://problem/27328608> |
| |
| Reviewed by Saam Barati. |
| |
| * stress/generational-opaque-roots.js: |
| |
| 2016-08-11 Mark Lam <mark.lam@apple.com> |
| |
| Disallow synchronous sweeping for eden GCs. |
| https://bugs.webkit.org/show_bug.cgi?id=160716 |
| |
| Reviewed by Geoffrey Garen. |
| |
| * stress/eden-gc-with-retired-blocks.js: Added. |
| - This test is just in case we add back support for eden GCs with synchronous |
| sweeping in the future. |
| |
| 2016-08-10 Michael Saboff <msaboff@apple.com> |
| |
| Baseline GetByVal and PutByVal for cache ID stubs need to handle exceptions |
| https://bugs.webkit.org/show_bug.cgi?id=160749 |
| |
| Reviewed by Filip Pizlo. |
| |
| New test that causes baseline GetByValWithCachedId and PutByValWithCachedId |
| stubs to be generated and then throws exceptions for those stub to handle |
| to verify that they are properly handled. |
| |
| * stress/regress-160749.js: Added. |
| (testCachedGetByVal.): |
| (testCachedGetByVal.get for): |
| (testCachedGetByVal): |
| (testCachedPutByVal.): |
| (testCachedPutByVal.set for): |
| (testCachedPutByVal): |
| |
| 2016-08-10 Mark Lam <mark.lam@apple.com> |
| |
| DFG's flushForTerminal() needs to add PhantomLocals for bytecode live locals. |
| https://bugs.webkit.org/show_bug.cgi?id=160755 |
| <rdar://problem/27488507> |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/need-bytecode-liveness-for-unreachable-blocks-at-dfg-time.js: Added. |
| |
| 2016-08-09 Skachkov Oleksandr <gskachkov@gmail.com> |
| |
| [ES2016] Implement Object.values |
| https://bugs.webkit.org/show_bug.cgi?id=160410 |
| |
| Reviewed by Saam Barati, Yusuke Suzuki. |
| |
| * stress/object-values.js: Added. |
| (compare): |
| (string_appeared_here.forEach): |
| (const.getInvokedFunctions.): |
| (const.getInvokedFunctions): |
| (Array.prototype.push): |
| |
| 2016-08-09 Saam Barati <sbarati@apple.com> |
| |
| JSBoundFunction should lazily generate its name string |
| https://bugs.webkit.org/show_bug.cgi?id=160678 |
| <rdar://problem/27043194> |
| |
| Reviewed by Mark Lam. |
| |
| * stress/bound-function-lazy-name-generation.js: Added. |
| (assert): |
| (test.let.f): |
| (test.f): |
| (test): |
| |
| 2016-08-08 Mark Lam <mark.lam@apple.com> |
| |
| ASSERTION FAILED: hasInlineStorage() in JSFinalObject::visitChildren(). |
| https://bugs.webkit.org/show_bug.cgi?id=160666 |
| |
| Reviewed by Keith Miller. |
| |
| * stress/object-constructor-should-be-new-target-aware.js: |
| |
| 2016-08-07 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] Module namespace object should not allow unset IC |
| https://bugs.webkit.org/show_bug.cgi?id=160553 |
| |
| Reviewed by Saam Barati. |
| |
| * modules/namespace-object-get-property.js: Added. |
| (import.as.ns.from.string_appeared_here.shouldThrow): |
| * modules/namespace-object-has-property.js: Added. |
| * modules/namespace-object-inline-caching.js: Added. |
| (import.as.A.from.string_appeared_here.import.as.B.from.string_appeared_here.lookup): |
| (shouldBe.lookup.lookup): |
| (shouldBe.lookup): |
| * modules/namespace-object-inline-caching/a.js: Added. |
| * modules/namespace-object-inline-caching/b.js: Added. |
| * modules/namespace-object-try-get.js: Added. |
| (import.as.ns.from.string_appeared_here.tryGetByIdText): |
| (tryGetByIdTextStrict): |
| * modules/namespace-object-typed-array-fast-path.js: Added. |
| * test262.yaml: |
| |
| 2016-08-05 Saam Barati <sbarati@apple.com> |
| |
| various math operations don't properly check for an exception after calling toNumber() on the lhs |
| https://bugs.webkit.org/show_bug.cgi?id=160154 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/to-number-throws-correct-exception.js: Added. |
| (test.let.test.runTest.): |
| (test.let.test.runTest.get f): |
| (test.let.test.runTest): |
| (test.let.test): |
| (test): |
| (test2.runTest.): |
| (test2.runTest.get f): |
| (test2.runTest): |
| (test2): |
| |
| 2016-08-05 Saam Barati <sbarati@apple.com> |
| |
| Assertion failure when accessing TDZ variable in catch through eval |
| https://bugs.webkit.org/show_bug.cgi?id=160554 |
| |
| Reviewed by Mark Lam and Keith Miller. |
| |
| * stress/catch-variables-under-tdz.js: Added. |
| (test): |
| |
| 2016-08-04 Yusuke Suzuki <utatane.tea@gmail.com> |
| |
| [ES6] JSModuleNamespaceObject's Symbol.iterator function should have name |
| https://bugs.webkit.org/show_bug.cgi?id=160549 |
| |
| Reviewed by Saam Barati. |
| |
| * modules/namespace-object-symbol-iterator-name.js: Added. |
| * test262.yaml: |
| |
| 2016-08-04 Keith Miller <keith_miller@apple.com> |
| |
| ASSERTION FAILED: !hasInstanceValueNode->isCellConstant() || defaultHasInstanceFunction == hasInstanceValueNode->asCell() |
| https://bugs.webkit.org/show_bug.cgi?id=160562 |
| |
| Reviewed by Mark Lam. |
| |
| * stress/instanceof-late-constant-folding.js: Added. |
| (Constructor): |
| (value): |
| (body): |
| |
| 2016-08-04 Caitlin Potter <caitp@igalia.com> |
| |
| [JSC] fix generator-syntax.js JSTest again after yield grammar fix |
| https://bugs.webkit.org/show_bug.cgi?id=160550 |
| |
| Reviewed by Yusuke Suzuki. |
| |
| * stress/generator-syntax.js: |
| (testYieldBindingIdentifier): |
| |
| 2016-08-03 Caitlin Potter <caitp@igalia.com> |
| |
| Clarify SyntaxErrors around yield and unskip tests |
| https://bugs.webkit.org/show_bug.cgi?id=158460 |
| |
| Reviewed by Saam Barati. |
| |
| Fix and unskip tests which erroneously asserted that `yield` is not a |
| valid BindingIdentifier, and improve error message for YieldExpressions |
| occuring in Arrow formal parameters. |
| |
| * stress/generator-syntax.js: |
| * stress/yield-out-of-generator.js: |
| |
| 2016-08-03 Filip Pizlo <fpizlo@apple.com> |
| |
| REGRESSION(r203368): broke some test262 tests |
| https://bugs.webkit.org/show_bug.cgi?id=160479 |
| |
| Reviewed by Mark Lam. |
| |
| Added a stress test for this case, since we don't always run test262. |
| |
| * stress/freeze-setter.js: Added. |
| (let.o.set foo): |
| |
| 2016-08-03 Saam Barati <sbarati@apple.com> |
| |
| Implement nested rest destructuring w.r.t the ES7 spec |
| https://bugs.webkit.org/show_bug.cgi?id=160423 |
| |
| Reviewed by Filip Pizlo. |
| |
| * stress/destructuring-rest-element.js: Added. |
| (assert): |
| (test): |
| (arr): |
| (eq): |
| (gen): |
| (fakeGen.return.Symbol.iterator): |
| (fakeGen): |
| * stress/rest-elements.js: |
| (testSyntaxError.String.raw): |
| * stress/rest-parameter-is-destructuring.js: Added. |
| (assert): |
| (test): |
| (foo): |
| (bar): |
| * test262.yaml: |
| |
| 2016-08-02 Saam Barati <sbarati@apple.com> |
| |
| Rename Changelog to ChangeLog |
| |
| Rubber stamped by Keith Miller. |
| |
| * Changelog: Removed. |
| |
| 2016-08-02 Saam Barati <sbarati@apple.com> |
| |
| update a class extending null w.r.t the ES7 spec |
| https://bugs.webkit.org/show_bug.cgi?id=160417 |
| |
| Reviewed by Keith Miller. |
| |
| * Changelog: |
| * stress/class-derived-from-null.js: Added. |
| (assert): |
| (test): |
| (test1.C): |
| (test1): |
| (jsNull): |
| (test2.C): |
| (test2): |
| (test3.C): |
| (test3.D): |
| (test3.E): |
| (test3): |
| (test4.E): |
| (test4): |
| (test5.E): |
| (test5): |
| (test6.Base): |
| (test6.D): |
| (test6.E): |
| (test6.F): |
| (test6.G): |
| (test6): |
| * test262.yaml: |
| |
| 2016-08-01 Filip Pizlo <fpizlo@apple.com> |
| |
| Rationalize varargs stack overflow checks |
| https://bugs.webkit.org/show_bug.cgi?id=160425 |
| |
| Reviewed by Michael Saboff. |
| |
| * stress/arity-check-ftl-throw-more-args.js: Added. |
| (catch): |
| |
| 2016-08-01 Keith Miller <keith_miller@apple.com> |
| |
| We should not keep the JavaScript tests inside the Source/JavaScriptCore/ directory. |
| https://bugs.webkit.org/show_bug.cgi?id=160372 |
| |
| Rubber stamped by Geoffrey Garen. |
| |
| This patch moves all the JavaScript tests from Source/JavaScriptCore/tests to |
| a new top level directory, JSTests. Having the tests in the Source directory |
| was both confusing an inconvenient for people that just want to checkout the |
| source code of WebKit. Since there is no other obvious place to put all the |
| JavaScript tests a new top level directory seemed the most sensible. |
| |
| * tests/: Deleted. |