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:
38
Cargo.lock
generated
38
Cargo.lock
generated
@@ -3257,18 +3257,18 @@ checksum = "d554b7f530dee5964d9a9468d95c1f8b8acae4f282807e7d27d4b03099a46744"
|
||||
|
||||
[[package]]
|
||||
name = "wasm-encoder"
|
||||
version = "0.21.0"
|
||||
version = "0.22.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "29ab2fe77b325731603297debb4573e002d06ae0aa1f4dc108585c81961e0609"
|
||||
checksum = "ef126be0e14bdf355ac1a8b41afc89195289e5c7179f80118e3abddb472f0810"
|
||||
dependencies = [
|
||||
"leb128",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-mutate"
|
||||
version = "0.2.14"
|
||||
version = "0.2.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c2f8b34ecab2aadb3a974fc96d38a37780793b1a44f9e681ed68f7e69757ca90"
|
||||
checksum = "dd32bdc265dba5092bf434475b12b9e54dd405938a487bdd86aa41873fbd8532"
|
||||
dependencies = [
|
||||
"egg",
|
||||
"log",
|
||||
@@ -3280,9 +3280,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasm-smith"
|
||||
version = "0.11.11"
|
||||
version = "0.12.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "00e76ca2ad5d10fdcd08d9af00ac02585a1e53a60020b0eda8874922f5d49bff"
|
||||
checksum = "efa1d0e7cff965d746a1f559470bf4d9fbafd34fe11d4e34cfd0c382259bb986"
|
||||
dependencies = [
|
||||
"arbitrary",
|
||||
"flagset",
|
||||
@@ -3332,9 +3332,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasmparser"
|
||||
version = "0.97.0"
|
||||
version = "0.99.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b98123a0d2bacf9286239231b116cbd66c65d9b89793f7c9bba3a3ae7f1b15f3"
|
||||
checksum = "9ef3b717afc67f848f412d4f02c127dd3e35a0eecd58c684580414df4fde01d3"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"url",
|
||||
@@ -3351,9 +3351,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasmprinter"
|
||||
version = "0.2.46"
|
||||
version = "0.2.49"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "595cca929e47a7bec3c941b5a8e133f51b17e6d9dd8c82ab97902196f5a07b42"
|
||||
checksum = "27c13dff901f9354fa9a6a877152d9c5642513645985635c9b83bcca99e40ea1"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"wasmparser",
|
||||
@@ -3505,7 +3505,7 @@ dependencies = [
|
||||
"wasmtime-wasi-crypto",
|
||||
"wasmtime-wasi-nn",
|
||||
"wasmtime-wast",
|
||||
"wast 51.0.0",
|
||||
"wast 52.0.2",
|
||||
"wat",
|
||||
"windows-sys",
|
||||
]
|
||||
@@ -3779,7 +3779,7 @@ dependencies = [
|
||||
"anyhow",
|
||||
"log",
|
||||
"wasmtime",
|
||||
"wast 51.0.0",
|
||||
"wast 52.0.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -3814,9 +3814,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wast"
|
||||
version = "51.0.0"
|
||||
version = "52.0.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a1f621e6e9af96438d3e05f0699da5b1dae59f2df964a2982166aa9b03c5b599"
|
||||
checksum = "707a9fd59b0144c530f0a31f21737036ffea6ece492918cae0843dd09b6f9bc9"
|
||||
dependencies = [
|
||||
"leb128",
|
||||
"memchr",
|
||||
@@ -3826,11 +3826,11 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wat"
|
||||
version = "1.0.53"
|
||||
version = "1.0.56"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5dd18c1168d7e8743d9b4f713c0203924f5dcc4a3983eb5e584de9614f9fccde"
|
||||
checksum = "91d73cbaa81acc2f8a3303e2289205c971d99c89245c2f56ab8765c4daabc2be"
|
||||
dependencies = [
|
||||
"wast 51.0.0",
|
||||
"wast 52.0.2",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -4069,9 +4069,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wit-parser"
|
||||
version = "0.4.0"
|
||||
version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "02cfa79275011530f37e0e164183c606bae1cdc466ea90bcd364d50605486a4d"
|
||||
checksum = "2e60c4242d4cf4394fac7587c0d96c39b3c0fb09e638815c3f244f6bb5356f04"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"id-arena",
|
||||
|
||||
16
Cargo.toml
16
Cargo.toml
@@ -161,14 +161,14 @@ winch-test-macros = { path = "winch/test-macros" }
|
||||
|
||||
target-lexicon = { version = "0.12.3", default-features = false, features = ["std"] }
|
||||
anyhow = "1.0.22"
|
||||
wasmparser = "0.97.0"
|
||||
wat = "1.0.53"
|
||||
wast = "51.0.0"
|
||||
wasmprinter = "0.2.46"
|
||||
wasm-encoder = "0.21.0"
|
||||
wasm-smith = "0.11.11"
|
||||
wasm-mutate = "0.2.14"
|
||||
wit-parser = "0.4"
|
||||
wasmparser = "0.99.0"
|
||||
wat = "1.0.56"
|
||||
wast = "52.0.2"
|
||||
wasmprinter = "0.2.49"
|
||||
wasm-encoder = "0.22.0"
|
||||
wasm-smith = "0.12.0"
|
||||
wasm-mutate = "0.2.16"
|
||||
wit-parser = "0.4.1"
|
||||
windows-sys = "0.42.0"
|
||||
env_logger = "0.9"
|
||||
rustix = "0.36.7"
|
||||
|
||||
@@ -2117,6 +2117,12 @@ pub fn translate_operator<FE: FuncEnvironment + ?Sized>(
|
||||
Operator::ReturnCall { .. } | Operator::ReturnCallIndirect { .. } => {
|
||||
return Err(wasm_unsupported!("proposed tail-call operator {:?}", op));
|
||||
}
|
||||
Operator::MemoryDiscard { .. } => {
|
||||
return Err(wasm_unsupported!(
|
||||
"proposed memory-control operator {:?}",
|
||||
op
|
||||
));
|
||||
}
|
||||
Operator::I8x16RelaxedSwizzle
|
||||
| Operator::I32x4RelaxedTruncSatF32x4S
|
||||
| Operator::I32x4RelaxedTruncSatF32x4U
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -619,6 +619,12 @@ criteria = "safe-to-deploy"
|
||||
version = "0.21.0"
|
||||
notes = "The Bytecode Alliance is the author of this crate."
|
||||
|
||||
[[audits.wasm-encoder]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
version = "0.22.0"
|
||||
notes = "The Bytecode Alliance is the author of this crate."
|
||||
|
||||
[[audits.wasm-encoder]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
@@ -685,6 +691,12 @@ criteria = "safe-to-run"
|
||||
version = "0.2.14"
|
||||
notes = "The Bytecode Alliance is the author of this crate."
|
||||
|
||||
[[audits.wasm-mutate]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-run"
|
||||
version = "0.2.16"
|
||||
notes = "The Bytecode Alliance is the author of this crate."
|
||||
|
||||
[[audits.wasm-smith]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
@@ -745,6 +757,12 @@ criteria = "safe-to-run"
|
||||
version = "0.11.11"
|
||||
notes = "The Bytecode Alliance is the author of this crate."
|
||||
|
||||
[[audits.wasm-smith]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-run"
|
||||
version = "0.12.0"
|
||||
notes = "The Bytecode Alliance is the author of this crate."
|
||||
|
||||
[[audits.wasmi]]
|
||||
who = "Robin Freyler <robin.freyler@gmail.com>"
|
||||
criteria = "safe-to-run"
|
||||
@@ -853,6 +871,12 @@ criteria = "safe-to-deploy"
|
||||
version = "0.97.0"
|
||||
notes = "The Bytecode Alliance is the author of this crate."
|
||||
|
||||
[[audits.wasmparser]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
version = "0.99.0"
|
||||
notes = "The Bytecode Alliance is the author of this crate."
|
||||
|
||||
[[audits.wasmparser-nostd]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-run"
|
||||
@@ -924,6 +948,12 @@ criteria = "safe-to-deploy"
|
||||
version = "0.2.46"
|
||||
notes = "The Bytecode Alliance is the author of this crate."
|
||||
|
||||
[[audits.wasmprinter]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
version = "0.2.49"
|
||||
notes = "The Bytecode Alliance is the author of this crate."
|
||||
|
||||
[[audits.wast]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
@@ -984,6 +1014,12 @@ criteria = "safe-to-deploy"
|
||||
version = "51.0.0"
|
||||
notes = "The Bytecode Alliance is the author of this crate."
|
||||
|
||||
[[audits.wast]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
version = "52.0.2"
|
||||
notes = "The Bytecode Alliance is the author of this crate."
|
||||
|
||||
[[audits.wat]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
@@ -1026,6 +1062,12 @@ criteria = "safe-to-deploy"
|
||||
version = "1.0.53"
|
||||
notes = "The Bytecode Alliance is the author of this crate."
|
||||
|
||||
[[audits.wat]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
version = "1.0.56"
|
||||
notes = "The Bytecode Alliance is the author of this crate."
|
||||
|
||||
[[audits.wat]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
@@ -1104,3 +1146,9 @@ criteria = "safe-to-deploy"
|
||||
version = "0.4.0"
|
||||
notes = "The Bytecode Alliance is the author of this crate."
|
||||
|
||||
[[audits.wit-parser]]
|
||||
who = "Alex Crichton <alex@alexcrichton.com>"
|
||||
criteria = "safe-to-deploy"
|
||||
version = "0.4.1"
|
||||
notes = "The Bytecode Alliance is the author of this crate."
|
||||
|
||||
|
||||
Reference in New Issue
Block a user