alexcrichton opened issue #9566:
I've done some recent refactoring over the past month or so of the
tests/wast.rs
test suite. The general idea is that it should not only assert that passing tests pass but it should additionally assert that failing tests fail. This ensures that we keep an accurate picture of where tests are at and we know to enable spec tests once support is implemented.This is problematic on Winch for AArch64, however. The problem is that when a test is supposed to fail it's run anyway and it's expected to return an error through
Result
. Failures such as panics and segfaults are not currently recoverable. Currently, though, tests on the AArch64 backend for Winch often panic (e.g.todo!()
items) or segfault (likely because something isn't finished yet).The way that
tests/wast.rs
works for now is that it pretends that all tests require the reference-types feature for wasm which is hardcoded as "doesn't work on aarch64 winch". This causes all tests to fail early inConfig::validate
before the backend is used. This isn't great though because some tests do indeed pass on Winch right now and it might be reasonable to start ratcheting support to ensure it doesn't regress.cc @saulecabrera and @vulc41n as y'all may be interested in this. I'll clarify that this is not an urgent issue by any means -- I don't intend to put pressure on either of y'all. Instead I wanted to make y'all aware of this if you're looking for future aarch64 work.
alexcrichton added the winch label to Issue #9566.
github-actions[bot] commented on issue #9566:
Subscribe to Label Action
cc @saulecabrera
<details>
This issue or pull request has been labeled: "winch"Thus the following users have been cc'd because of the following labels:
- saulecabrera: winch
To subscribe or unsubscribe from this label, edit the <code>.github/subscribe-to-label.json</code> configuration file.
Learn more.
</details>
saulecabrera commented on issue #9566:
This isn't great though because some tests do indeed pass on Winch right now and it might be reasonable to start ratcheting support to ensure it doesn't regress.
Agreed, thanks for putting this issue together (I'll add it to the Winch board if you don't mind) -- we're almost at parity with the x64 backend (see https://github.com/bytecodealliance/wasmtime/issues/8321#issue-2235957816). After finishing epoch my plan is to finalize the 11 instructions needed in order to have the
aarch64
backend be at parity withx64
, which will enable running spec tests inaarch64
.For the unrecoverable errors, I hope that https://github.com/bytecodealliance/wasmtime/issues/8096, will address that issue and make it easier to integrate with your refactoring for test handling. I will most likely address that one after having finished support for
aarch64
.
alexcrichton commented on issue #9566:
That all sounds great to me :+1:
Last updated: Nov 22 2024 at 16:03 UTC