Update wasm-tools crates (#5631)

Nothing major pulled in here, but wanted to update to the latest
versions which enable tail calls by default. When used in Wasmtime,
however, the feature is disabled without the possibility of being
enabled since it's not implemented.
This commit is contained in:
Alex Crichton
2023-01-25 10:33:26 -06:00
committed by GitHub
parent b58a197d33
commit a7d0d00e57
7 changed files with 94 additions and 31 deletions

View File

@@ -311,6 +311,10 @@ impl<'a> Arbitrary<'a> for Config {
module_config: u.arbitrary()?,
};
// This is pulled from `u` by default via `wasm-smith`, but Wasmtime
// doesn't implement this yet, so forcibly always disable it.
config.module_config.config.tail_call_enabled = false;
config
.wasmtime
.codegen

View File

@@ -198,6 +198,11 @@ impl Config {
ret.wasm_bulk_memory(true);
ret.wasm_simd(true);
ret.wasm_backtrace_details(WasmBacktraceDetails::Environment);
// This is on-by-default in `wasmparser` since it's a stage 4+ proposal
// but it's not implemented in Wasmtime yet so disable it.
ret.features.tail_call = false;
ret
}

View File

@@ -163,7 +163,6 @@ struct WasmFeatures {
component_model: bool,
simd: bool,
threads: bool,
tail_call: bool,
multi_memory: bool,
exceptions: bool,
memory64: bool,
@@ -187,6 +186,7 @@ impl Metadata {
memory64,
relaxed_simd,
extended_const,
memory_control,
// Always on; we don't currently have knobs for these.
mutable_global: _,
@@ -195,6 +195,9 @@ impl Metadata {
floats: _,
} = engine.config().features;
assert!(!memory_control);
assert!(!tail_call);
Metadata {
target: engine.compiler().triple().to_string(),
shared_flags: engine.compiler().flags(),
@@ -207,7 +210,6 @@ impl Metadata {
component_model,
simd,
threads,
tail_call,
multi_memory,
exceptions,
memory64,
@@ -372,7 +374,6 @@ impl Metadata {
component_model,
simd,
threads,
tail_call,
multi_memory,
exceptions,
memory64,
@@ -402,7 +403,6 @@ impl Metadata {
)?;
Self::check_bool(simd, other.simd, "WebAssembly SIMD support")?;
Self::check_bool(threads, other.threads, "WebAssembly threads support")?;
Self::check_bool(tail_call, other.tail_call, "WebAssembly tail-call support")?;
Self::check_bool(
multi_memory,
other.multi_memory,