Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Wasm-GC] Begin importing GC spec tests #6067

Conversation

takikawa
Copy link
Contributor

@takikawa takikawa commented Nov 3, 2022

8ac6345

[Wasm-GC] Begin importing GC spec tests
https://bugs.webkit.org/show_bug.cgi?id=247336

Reviewed by Justin Michaud.

This patch creates a Wasm GC proposal spec test harness and test suite
from the upstream repository at

  https://github.com/WebAssembly/gc (commit 5404857b61a42b4d9fdd99f6b78d8febb266f1fc)

The tests contain a subset of the upstream tests that are currently
runnable in JSC. Some of the tests are commented out due to open bugs
that block them.

In addition, this patch fixes a small bug (a missing type expansion use)
revealed by the tests.

* JSTests/wasm.yaml:
* JSTests/wasm/gc-spec-harness.js: Added.
(import.string_appeared_here.then):
(test):
(promise_test):
(let.assert_unreached):
(let.console.log):
* JSTests/wasm/gc-spec-harness/async_index.js: Added.
(let.testNum):
(uniqueTest):
(assertThrows):
(externref):
(is_externref):
(is_funcref):
(eq_externref):
(eq_funcref):
(binary):
(module):
(assert_invalid):
(instance):
(exports):
(then.):
(reinitializeRegistry.get promise_test):
(reinitializeRegistry):
(catch):
(assert_exhaustion):
(get const):
* JSTests/wasm/gc-spec-harness/sync_index.js: Added.
(let.testNum):
(assertThrows):
(_assert):
(ValueResult):
(ErrorResult):
(Result.prototype.isError):
(externref):
(is_externref):
(is_funcref):
(eq_externref):
(eq_funcref):
(reinitializeRegistry.let.handler.get return):
(binary):
(module):
* JSTests/wasm/gc-spec-tests/type-canon.wast.js: Added.
* JSTests/wasm/gc-spec-tests/type-equivalence.wast.js: Added.
* JSTests/wasm/gc-spec-tests/type-rec.wast.js: Added.
* JSTests/wasm/gc-spec-tests/type-subtyping.wast.js: Added.
* Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp:
(JSC::WebAssemblyFunction::jsCallEntrypointSlow):
* Tools/Scripts/run-jsc-stress-tests:

Canonical link: https://commits.webkit.org/256417@main

fa454d2

Misc iOS, tvOS & watchOS macOS Linux Windows
βœ… πŸ§ͺ style βœ… πŸ›  ios βœ… πŸ›  mac βœ… πŸ›  wpe βœ… πŸ›  πŸ§ͺ win
βœ… πŸ§ͺ bindings βœ… πŸ›  ios-sim βœ… πŸ›  mac-debug βœ… πŸ›  gtk βœ… πŸ›  wincairo
βœ… πŸ§ͺ webkitperl βœ… πŸ§ͺ ios-wk2 βœ… πŸ›  mac-AS-debug βœ… πŸ§ͺ gtk-wk2
βœ… πŸ§ͺ api-ios βœ… πŸ§ͺ api-mac βœ… πŸ§ͺ api-gtk
βœ… πŸ›  πŸ§ͺ jsc βœ… πŸ›  tv   πŸ§ͺ mac-wk1 βœ… πŸ›  jsc-armv7
βœ… πŸ›  tv-sim βœ… πŸ§ͺ mac-wk2 βœ… πŸ§ͺ jsc-armv7-tests
βœ… πŸ›  πŸ§ͺ merge βœ… πŸ›  watch βœ… πŸ§ͺ mac-AS-debug-wk2 βœ… πŸ›  jsc-mips
βœ… πŸ›  watch-sim βœ… πŸ§ͺ mac-wk2-stress βœ… πŸ§ͺ jsc-mips-tests

@takikawa takikawa self-assigned this Nov 3, 2022
@takikawa takikawa added WebAssembly For bugs in JavaScript WebAssembly WebKit Nightly Build labels Nov 3, 2022
@webkit-ews-buildbot webkit-ews-buildbot added the merging-blocked Applied to prevent a change from being merged label Nov 5, 2022
@takikawa takikawa removed the merging-blocked Applied to prevent a change from being merged label Nov 5, 2022
@takikawa takikawa force-pushed the eng/Wasm-GC-Begin-importing-GC-spec-tests branch from 0e64418 to fa454d2 Compare November 5, 2022 23:13
@takikawa takikawa marked this pull request as ready for review November 7, 2022 18:09
@takikawa takikawa requested review from a team and JonWBedard as code owners November 7, 2022 18:09
Copy link
Contributor

@justinmichaud justinmichaud left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

r=me

@justinmichaud justinmichaud added the merge-queue Applied to send a pull request to merge-queue label Nov 7, 2022
https://bugs.webkit.org/show_bug.cgi?id=247336

Reviewed by Justin Michaud.

This patch creates a Wasm GC proposal spec test harness and test suite
from the upstream repository at

  https://github.com/WebAssembly/gc (commit 5404857b61a42b4d9fdd99f6b78d8febb266f1fc)

The tests contain a subset of the upstream tests that are currently
runnable in JSC. Some of the tests are commented out due to open bugs
that block them.

In addition, this patch fixes a small bug (a missing type expansion use)
revealed by the tests.

* JSTests/wasm.yaml:
* JSTests/wasm/gc-spec-harness.js: Added.
(import.string_appeared_here.then):
(test):
(promise_test):
(let.assert_unreached):
(let.console.log):
* JSTests/wasm/gc-spec-harness/async_index.js: Added.
(let.testNum):
(uniqueTest):
(assertThrows):
(externref):
(is_externref):
(is_funcref):
(eq_externref):
(eq_funcref):
(binary):
(module):
(assert_invalid):
(instance):
(exports):
(then.):
(reinitializeRegistry.get promise_test):
(reinitializeRegistry):
(catch):
(assert_exhaustion):
(get const):
* JSTests/wasm/gc-spec-harness/sync_index.js: Added.
(let.testNum):
(assertThrows):
(_assert):
(ValueResult):
(ErrorResult):
(Result.prototype.isError):
(externref):
(is_externref):
(is_funcref):
(eq_externref):
(eq_funcref):
(reinitializeRegistry.let.handler.get return):
(binary):
(module):
* JSTests/wasm/gc-spec-tests/type-canon.wast.js: Added.
* JSTests/wasm/gc-spec-tests/type-equivalence.wast.js: Added.
* JSTests/wasm/gc-spec-tests/type-rec.wast.js: Added.
* JSTests/wasm/gc-spec-tests/type-subtyping.wast.js: Added.
* Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp:
(JSC::WebAssemblyFunction::jsCallEntrypointSlow):
* Tools/Scripts/run-jsc-stress-tests:

Canonical link: https://commits.webkit.org/256417@main
@webkit-commit-queue webkit-commit-queue force-pushed the eng/Wasm-GC-Begin-importing-GC-spec-tests branch from fa454d2 to 8ac6345 Compare November 7, 2022 19:06
@webkit-commit-queue
Copy link
Collaborator

Committed 256417@main (8ac6345): https://commits.webkit.org/256417@main

Reviewed commits have been landed. Closing PR #6067 and removing active labels.

@webkit-commit-queue webkit-commit-queue merged commit 8ac6345 into WebKit:main Nov 7, 2022
@webkit-commit-queue webkit-commit-queue removed the merge-queue Applied to send a pull request to merge-queue label Nov 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
WebAssembly For bugs in JavaScript WebAssembly
Projects
None yet
5 participants