Browse Source
* Update the consequences of disabling the `gc` crate feature This commit updates what happens when the `gc` Cargo feature is disabled at compile time when compiling Wasmtime itself. Previously this would disable the reference-types proposal (and eventually once finished the gc/function-references proposal). This has the downside, however, of additionally disabling non-gc-related features that were bundled into the `reference-types` proposal such as multi-table and the encodings of table indices as LEBs in `call_indirect` instructions for example. The change in this commit is to instead toggle the newly-added `GC_TYPES` feature in `wasmparser`. This feature does not correspond to upstream wasm proposals and instead only gates types such as `externref` or `anyref`. The `funcref` and `exnref` types are not gated as they're not expected to require a full GC. This means that in Wasmtime the `reference-types` feature is now always active by default regardless of crate features. If the `gc` crate feature is disabled then only `externref` values are disallowed. This additionally flags `GC_TYPES` as unsupported in Winch due to no support for `externref` yet. This means, though, that Winch can be considered as supporting the `reference-types` proposal (and things like multi-table) as expected. Disabling `externref` support switched a few tests to failing so those exceptions are now listed in `tests/wast.rs` * Fix aarch64 tests * Fix older invocations of `check_cfg_bool`pull/9168/head
Alex Crichton
3 months ago
committed by
GitHub
3 changed files with 22 additions and 21 deletions
Loading…
Reference in new issue