Add `bulk_memory` to wast configuration (#12883)Allows enabling/disabling this wasm proposal on a per-test basis.
Refactor how wasm features are calculated for `*.wast` tests (#9560)* Refactor how wasm features are calculated for `*.wast` testsThis commit refactors the `tests/wast.rs` test suite which runs a
Refactor how wasm features are calculated for `*.wast` tests (#9560)* Refactor how wasm features are calculated for `*.wast` testsThis commit refactors the `tests/wast.rs` test suite which runs all ofthe upstream spec tests as `*.wast` files as well as our own`misc_testsuite` which has its own suite of `*.wast` files. Previouslythe set of wasm features active for each test was a sort of randommishmash and convoluted set of conditionals which was updated and editedover time as upstream proposal test suites evolved. This was thenmirrored into our own conventions for `misc_testsuite` as well. Overallthough this has a number of downsides I'm trying to fix here:* The calculation of what features are enabled is quite complicated and effectively a random mishmash of `||` conditionals with hierarchies that don't make any sense beyond "this is just required to get things to pass".* There is no means of per-test configuration. For example `canonicalize-nans.wast` had hardcoded logic in `tests/wast.rs` that it needed a different setting turned on in `Config`.* There was no easy means to write tests for Wasmtime which take a union of a number of proposals together without having lots of sub-folders that may not make sense.* Tests that require a particular proposal had to have duplicate logic for Winch as it doesn't support the full suite of features of all proposals that Cranelift does.The new system implemented in this commit takes a leaf out of the`disas` tests. There is a new `TestConfig` structure in the`tests/wast.rs` harness which is decoded from each test (leading `;;!`comments) which enables specifying, in each test, what's required. Thisencompasses many wasm proposals but additionally captures other behaviorlike nan-canonicalization. This means that all test files in`misc_testsuite/**/*.wast` are now manually annotated with what wasmfeatures they require and what's needed to run. This makes per-testconfiguration much easier, per-config-setting much easier, and blanketignore-by-proposal for Winch much easier as well.For spec tests we can't modify the contents of the upstream `*.wast`files. To handle this they're handled specially where `TestConfig` ismanually created and manipulated for each spec proposal and the maintest suite itself. This enables per-proposal configuration that doesn'tleak into any others and makes it more obvious what proposals are doingwhat.* Hack around Winch support for aarch64
show more ...
Update the wasm-tools family of crates (#4165)* Update the wasm-tools family of crates This commit updates these crates as used by Wasmtime for the recently published versions to pull in change
Update the wasm-tools family of crates (#4165)* Update the wasm-tools family of crates This commit updates these crates as used by Wasmtime for the recently published versions to pull in changes necessary to support the component model. I've split this out from #4005 to make it clear what's impacted here and #4005 can simply rebase on top of this to pick up the necessary changes. * More test fixes
Update wasm-tools cratesNothing major here, just a routine update with a few extra things tohandle here-and-there.
Update a number of dependencies (#2594)This commit goes through the dependencies that wasmtime has and updates versions where possible. This notably brings in a wasmparser/wast update which has s
Update a number of dependencies (#2594)This commit goes through the dependencies that wasmtime has and updates versions where possible. This notably brings in a wasmparser/wast update which has some simd spec changes with new instructions. Otherwise most of these are just routine updates.
Add initial support for the multi-memory proposal (#2263)This commit adds initial (gated) support for the multi-memory wasm proposal. This was actually quite easy since almost all of wasmtime alr
Add initial support for the multi-memory proposal (#2263)This commit adds initial (gated) support for the multi-memory wasm proposal. This was actually quite easy since almost all of wasmtime already expected multi-memory to be implemented one day. The only real substantive change is the `memory.copy` intrinsic changes, which now accounts for the source/destination memories possibly being different.