From 5140fd251a10df1f2d212ad4c0012631dd9b4906 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Tue, 15 Jun 2021 22:56:10 -0500 Subject: [PATCH] Update wasm-tools crates (#2989) * Update wasm-tools crates This brings in recent updates, notably including more improvements to wasm-smith which will hopefully help exercise non-trapping wasm more. * Fix some wat --- Cargo.lock | 42 +++++++++---------- Cargo.toml | 6 +-- cranelift/codegen/Cargo.toml | 2 +- cranelift/peepmatic/Cargo.toml | 2 +- cranelift/peepmatic/crates/fuzzing/Cargo.toml | 2 +- cranelift/peepmatic/crates/runtime/Cargo.toml | 2 +- cranelift/peepmatic/crates/souper/Cargo.toml | 2 +- .../peepmatic/crates/test-operator/Cargo.toml | 2 +- cranelift/wasm/Cargo.toml | 2 +- cranelift/wasm/src/code_translator.rs | 1 - crates/cranelift/Cargo.toml | 2 +- crates/debug/Cargo.toml | 2 +- crates/environ/Cargo.toml | 2 +- crates/fuzzing/Cargo.toml | 8 ++-- crates/jit/Cargo.toml | 2 +- crates/lightbeam/Cargo.toml | 2 +- crates/lightbeam/wasmtime/Cargo.toml | 2 +- crates/wasmtime/Cargo.toml | 2 +- crates/wast/Cargo.toml | 2 +- crates/wiggle/tests/wasmtime_async.rs | 7 ++-- crates/wiggle/tests/wasmtime_integration.rs | 5 ++- crates/wiggle/tests/wasmtime_sync.rs | 5 ++- fuzz/Cargo.toml | 2 +- 23 files changed, 54 insertions(+), 52 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 442131cad701..30fa7e662b6e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -583,7 +583,7 @@ dependencies = [ "smallvec", "souper-ir", "target-lexicon", - "wast 35.0.2", + "wast 36.0.0", ] [[package]] @@ -1977,7 +1977,7 @@ dependencies = [ "peepmatic-test-operator", "peepmatic-traits", "serde", - "wast 35.0.2", + "wast 36.0.0", "z3", ] @@ -2005,7 +2005,7 @@ dependencies = [ "peepmatic-traits", "rand 0.8.3", "serde", - "wast 35.0.2", + "wast 36.0.0", ] [[package]] @@ -2030,7 +2030,7 @@ dependencies = [ "serde", "serde_test", "thiserror", - "wast 35.0.2", + "wast 36.0.0", ] [[package]] @@ -2042,7 +2042,7 @@ dependencies = [ "peepmatic", "peepmatic-test-operator", "souper-ir", - "wast 35.0.2", + "wast 36.0.0", ] [[package]] @@ -2063,7 +2063,7 @@ version = "0.75.0" dependencies = [ "peepmatic-traits", "serde", - "wast 35.0.2", + "wast 36.0.0", ] [[package]] @@ -3424,18 +3424,18 @@ checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f" [[package]] name = "wasm-encoder" -version = "0.4.1" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b4949d4f2b25a4b208317dcf86aacef9e7a5884e48dfc45d4aeb91808d6f86" +checksum = "72b3fb3541f4cdc05f0eacd7ce5544d69a4cc3e922ef1e7f37c1e7cb8b1e8e66" dependencies = [ "leb128", ] [[package]] name = "wasm-smith" -version = "0.4.5" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7e95fdeed16adeffed44efdc7ccf27d4f57ff2e99de417c75bcee7dee09049b" +checksum = "c0b73bf3c616211529547284f12db7bb1e4d9bca11c738533490546239bbd120" dependencies = [ "arbitrary", "indexmap", @@ -3469,15 +3469,15 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.78.2" +version = "0.79.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52144d4c78e5cf8b055ceab8e5fa22814ce4315d6002ad32cfd914f37c12fd65" +checksum = "5b5894be15a559c85779254700e1d35f02f843b5a69152e5c82c626d9fd66c0e" [[package]] name = "wasmprinter" -version = "0.2.26" +version = "0.2.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ccec894c70710c2e4669320a532cb2b9cfb97adb0429745642f8ce76916ed85" +checksum = "fe6f65000c9b653a87ba9b8bebe9230371337db2b7e70db724ee4b79d2b9936f" dependencies = [ "anyhow", "wasmparser", @@ -3617,7 +3617,7 @@ dependencies = [ "wasmtime-wasi-crypto", "wasmtime-wasi-nn", "wasmtime-wast", - "wast 35.0.2", + "wast 36.0.0", "wat", ] @@ -3848,7 +3848,7 @@ version = "0.28.0" dependencies = [ "anyhow", "wasmtime", - "wast 35.0.2", + "wast 36.0.0", ] [[package]] @@ -3862,20 +3862,20 @@ dependencies = [ [[package]] name = "wast" -version = "35.0.2" +version = "36.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ef140f1b49946586078353a453a1d28ba90adfc54dde75710bc1931de204d68" +checksum = "8b5d7ba374a364571da1cb0a379a3dc302582a2d9937a183bfe35b68ad5bb9c4" dependencies = [ "leb128", ] [[package]] name = "wat" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ec280a739b69173e0ffd12c1658507996836ba4e992ed9bc1e5385a0bd72a02" +checksum = "16383df7f0e3901484c2dda6294ed6895caa3627ce4f6584141dcf30a33a23e6" dependencies = [ - "wast 35.0.2", + "wast 36.0.0", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index e39fc67bf02b..d244f1408cf0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,12 +38,12 @@ anyhow = "1.0.19" target-lexicon = { version = "0.12.0", default-features = false } pretty_env_logger = "0.4.0" file-per-thread-logger = "0.1.1" -wat = "1.0.37" +wat = "1.0.38" libc = "0.2.60" log = "0.4.8" rayon = "1.5.0" humantime = "2.0.0" -wasmparser = "0.78.1" +wasmparser = "0.79.0" lazy_static = "1.4.0" [dev-dependencies] @@ -56,7 +56,7 @@ wasmtime-fuzzing = { path = "crates/fuzzing" } wasmtime-runtime = { path = "crates/runtime" } tokio = { version = "1.5.0", features = ["rt", "time", "macros", "rt-multi-thread"] } tracing-subscriber = "0.2.16" -wast = "35.0.0" +wast = "36.0.0" criterion = "0.3.4" num_cpus = "1.13.0" diff --git a/cranelift/codegen/Cargo.toml b/cranelift/codegen/Cargo.toml index c79479ddd992..943e76e468dd 100644 --- a/cranelift/codegen/Cargo.toml +++ b/cranelift/codegen/Cargo.toml @@ -28,7 +28,7 @@ peepmatic-traits = { path = "../peepmatic/crates/traits", optional = true, versi peepmatic-runtime = { path = "../peepmatic/crates/runtime", optional = true, version = "0.75.0" } regalloc = { version = "0.0.31" } souper-ir = { version = "2.1.0", optional = true } -wast = { version = "35.0.0", optional = true } +wast = { version = "36.0.0", optional = true } # It is a goal of the cranelift-codegen crate to have minimal external dependencies. # Please don't add any unless they are essential to the task of creating binary # machine code. Integration tests that need external dependencies can be diff --git a/cranelift/peepmatic/Cargo.toml b/cranelift/peepmatic/Cargo.toml index 6f7b119e96da..c6d826d87b14 100644 --- a/cranelift/peepmatic/Cargo.toml +++ b/cranelift/peepmatic/Cargo.toml @@ -15,7 +15,7 @@ peepmatic-macro = { version = "0.75.0", path = "crates/macro" } peepmatic-runtime = { version = "0.75.0", path = "crates/runtime", features = ["construct"] } peepmatic-traits = { version = "0.75.0", path = "crates/traits" } serde = { version = "1.0.105", features = ["derive"] } -wast = "35.0.0" +wast = "36.0.0" z3 = { version = "0.7.1", features = ["static-link-z3"] } [dev-dependencies] diff --git a/cranelift/peepmatic/crates/fuzzing/Cargo.toml b/cranelift/peepmatic/crates/fuzzing/Cargo.toml index 4d265700feba..394408dd54b1 100644 --- a/cranelift/peepmatic/crates/fuzzing/Cargo.toml +++ b/cranelift/peepmatic/crates/fuzzing/Cargo.toml @@ -21,4 +21,4 @@ peepmatic-test-operator = { path = "../test-operator" } peepmatic-traits = { path = "../traits" } rand = { version = "0.8.3", features = ["small_rng"] } serde = "1.0.106" -wast = "35.0.0" +wast = "36.0.0" diff --git a/cranelift/peepmatic/crates/runtime/Cargo.toml b/cranelift/peepmatic/crates/runtime/Cargo.toml index d73e6a6c780c..d1ac8cfb01ee 100644 --- a/cranelift/peepmatic/crates/runtime/Cargo.toml +++ b/cranelift/peepmatic/crates/runtime/Cargo.toml @@ -16,7 +16,7 @@ peepmatic-automata = { version = "0.75.0", path = "../automata", features = ["se peepmatic-traits = { version = "0.75.0", path = "../traits" } serde = { version = "1.0.105", features = ["derive"] } thiserror = "1.0.15" -wast = { version = "35.0.0", optional = true } +wast = { version = "36.0.0", optional = true } [dev-dependencies] peepmatic-test-operator = { version = "0.75.0", path = "../test-operator" } diff --git a/cranelift/peepmatic/crates/souper/Cargo.toml b/cranelift/peepmatic/crates/souper/Cargo.toml index 5a49413d819f..598842ec416b 100644 --- a/cranelift/peepmatic/crates/souper/Cargo.toml +++ b/cranelift/peepmatic/crates/souper/Cargo.toml @@ -16,4 +16,4 @@ log = "0.4.8" [dev-dependencies] peepmatic = { path = "../..", version = "0.75.0" } peepmatic-test-operator = { version = "0.75.0", path = "../test-operator" } -wast = "35.0.0" +wast = "36.0.0" diff --git a/cranelift/peepmatic/crates/test-operator/Cargo.toml b/cranelift/peepmatic/crates/test-operator/Cargo.toml index 8d3ccbc4374a..23b6094b5121 100644 --- a/cranelift/peepmatic/crates/test-operator/Cargo.toml +++ b/cranelift/peepmatic/crates/test-operator/Cargo.toml @@ -11,4 +11,4 @@ edition = "2018" [dependencies] peepmatic-traits = { version = "0.75.0", path = "../traits" } serde = { version = "1.0.105", features = ["derive"] } -wast = "35.0.0" +wast = "36.0.0" diff --git a/cranelift/wasm/Cargo.toml b/cranelift/wasm/Cargo.toml index 0111db63052d..154f3de9d5da 100644 --- a/cranelift/wasm/Cargo.toml +++ b/cranelift/wasm/Cargo.toml @@ -12,7 +12,7 @@ keywords = ["webassembly", "wasm"] edition = "2018" [dependencies] -wasmparser = { version = "0.78", default-features = false } +wasmparser = { version = "0.79", default-features = false } cranelift-codegen = { path = "../codegen", version = "0.75.0", default-features = false } cranelift-entity = { path = "../entity", version = "0.75.0" } cranelift-frontend = { path = "../frontend", version = "0.75.0", default-features = false } diff --git a/cranelift/wasm/src/code_translator.rs b/cranelift/wasm/src/code_translator.rs index ac3ba444ce9e..ab92db177a8b 100644 --- a/cranelift/wasm/src/code_translator.rs +++ b/cranelift/wasm/src/code_translator.rs @@ -552,7 +552,6 @@ pub fn translate_operator( Operator::Try { .. } | Operator::Catch { .. } | Operator::Throw { .. } - | Operator::Unwind | Operator::Rethrow { .. } | Operator::Delegate { .. } | Operator::CatchAll => { diff --git a/crates/cranelift/Cargo.toml b/crates/cranelift/Cargo.toml index 5e3d03a59d8a..c3c6647da489 100644 --- a/crates/cranelift/Cargo.toml +++ b/crates/cranelift/Cargo.toml @@ -17,5 +17,5 @@ cranelift-wasm = { path = "../../cranelift/wasm", version = "0.75.0" } cranelift-codegen = { path = "../../cranelift/codegen", version = "0.75.0" } cranelift-frontend = { path = "../../cranelift/frontend", version = "0.75.0" } cranelift-entity = { path = "../../cranelift/entity", version = "0.75.0" } -wasmparser = "0.78.0" +wasmparser = "0.79.0" target-lexicon = "0.12" diff --git a/crates/debug/Cargo.toml b/crates/debug/Cargo.toml index 35b22a319db4..5db2bbfb14f5 100644 --- a/crates/debug/Cargo.toml +++ b/crates/debug/Cargo.toml @@ -13,7 +13,7 @@ edition = "2018" [dependencies] gimli = "0.24.0" -wasmparser = "0.78" +wasmparser = "0.79" object = { version = "0.25.0", default-features = false, features = ["read_core", "elf", "write"] } wasmtime-environ = { path = "../environ", version = "0.28.0" } target-lexicon = { version = "0.12.0", default-features = false } diff --git a/crates/environ/Cargo.toml b/crates/environ/Cargo.toml index 4bda4fcb1b34..1a92ea059bae 100644 --- a/crates/environ/Cargo.toml +++ b/crates/environ/Cargo.toml @@ -15,7 +15,7 @@ edition = "2018" cranelift-codegen = { path = "../../cranelift/codegen", version = "0.75.0", features = ["enable-serde"] } cranelift-entity = { path = "../../cranelift/entity", version = "0.75.0", features = ["enable-serde"] } cranelift-wasm = { path = "../../cranelift/wasm", version = "0.75.0", features = ["enable-serde"] } -wasmparser = "0.78" +wasmparser = "0.79" indexmap = { version = "1.0.2", features = ["serde-1"] } thiserror = "1.0.4" serde = { version = "1.0.94", features = ["derive"] } diff --git a/crates/fuzzing/Cargo.toml b/crates/fuzzing/Cargo.toml index 57eb48296147..e8555fa61869 100644 --- a/crates/fuzzing/Cargo.toml +++ b/crates/fuzzing/Cargo.toml @@ -13,12 +13,12 @@ arbitrary = { version = "1.0.0", features = ["derive"] } env_logger = "0.8.1" log = "0.4.8" rayon = "1.2.1" -wasmparser = "0.78" -wasmprinter = "0.2.26" +wasmparser = "0.79" +wasmprinter = "0.2.27" wasmtime = { path = "../wasmtime" } wasmtime-wast = { path = "../wast" } -wasm-encoder = "0.4.1" -wasm-smith = "0.4.5" +wasm-encoder = "0.5.0" +wasm-smith = "0.5.0" wasmi = "0.7.0" [dev-dependencies] diff --git a/crates/jit/Cargo.toml b/crates/jit/Cargo.toml index b66aa30c30f4..4a286da19cb2 100644 --- a/crates/jit/Cargo.toml +++ b/crates/jit/Cargo.toml @@ -28,7 +28,7 @@ rayon = { version = "1.0", optional = true } region = "2.2.0" thiserror = "1.0.4" target-lexicon = { version = "0.12.0", default-features = false } -wasmparser = "0.78" +wasmparser = "0.79" more-asserts = "0.2.1" anyhow = "1.0" cfg-if = "1.0" diff --git a/crates/lightbeam/Cargo.toml b/crates/lightbeam/Cargo.toml index 9cef53ddcc9a..c6a88735216a 100644 --- a/crates/lightbeam/Cargo.toml +++ b/crates/lightbeam/Cargo.toml @@ -24,7 +24,7 @@ more-asserts = "0.2.1" smallvec = "1.6.1" thiserror = "1.0.9" typemap = "0.3" -wasmparser = "0.78" +wasmparser = "0.79" [dev-dependencies] lazy_static = "1.2" diff --git a/crates/lightbeam/wasmtime/Cargo.toml b/crates/lightbeam/wasmtime/Cargo.toml index 43e32a140954..fd2805e862d5 100644 --- a/crates/lightbeam/wasmtime/Cargo.toml +++ b/crates/lightbeam/wasmtime/Cargo.toml @@ -13,6 +13,6 @@ edition = "2018" [dependencies] lightbeam = { path = "..", version = "0.28.0" } -wasmparser = "0.78" +wasmparser = "0.79" cranelift-codegen = { path = "../../../cranelift/codegen", version = "0.75.0" } wasmtime-environ = { path = "../../environ", version = "0.28.0" } diff --git a/crates/wasmtime/Cargo.toml b/crates/wasmtime/Cargo.toml index 66d060c163de..65cc5847d74e 100644 --- a/crates/wasmtime/Cargo.toml +++ b/crates/wasmtime/Cargo.toml @@ -21,7 +21,7 @@ wasmtime-cache = { path = "../cache", version = "0.28.0", optional = true } wasmtime-profiling = { path = "../profiling", version = "0.28.0" } wasmtime-fiber = { path = "../fiber", version = "0.28.0", optional = true } target-lexicon = { version = "0.12.0", default-features = false } -wasmparser = "0.78" +wasmparser = "0.79" anyhow = "1.0.19" region = "2.2.0" libc = "0.2" diff --git a/crates/wast/Cargo.toml b/crates/wast/Cargo.toml index 0c2caae0ccd7..70769c28349d 100644 --- a/crates/wast/Cargo.toml +++ b/crates/wast/Cargo.toml @@ -13,7 +13,7 @@ edition = "2018" [dependencies] anyhow = "1.0.19" wasmtime = { path = "../wasmtime", version = "0.28.0", default-features = false } -wast = "35.0.2" +wast = "36.0.0" [badges] maintenance = { status = "actively-developed" } diff --git a/crates/wiggle/tests/wasmtime_async.rs b/crates/wiggle/tests/wasmtime_async.rs index 65cb021b4f50..471a8fd3fd7a 100644 --- a/crates/wiggle/tests/wasmtime_async.rs +++ b/crates/wiggle/tests/wasmtime_async.rs @@ -136,11 +136,12 @@ fn shim_module(engine: &Engine) -> Module { engine, r#" (module - (memory 1) - (export "memory" (memory 0)) (import "atoms" "int_float_args" (func $int_float_args (param i32 f32) (result i32))) (import "atoms" "double_int_return_float" (func $double_int_return_float (param i32 i32) (result i32))) + (memory 1) + (export "memory" (memory 0)) + (func $int_float_args_shim (param i32 f32) (result i32) local.get 0 local.get 1 @@ -154,7 +155,7 @@ fn shim_module(engine: &Engine) -> Module { (export "int_float_args_shim" (func $int_float_args_shim)) (export "double_int_return_float_shim" (func $double_int_return_float_shim)) ) - "#, + "#, ) .unwrap() } diff --git a/crates/wiggle/tests/wasmtime_integration.rs b/crates/wiggle/tests/wasmtime_integration.rs index 59c1cae2ecae..756d8ca8f69a 100644 --- a/crates/wiggle/tests/wasmtime_integration.rs +++ b/crates/wiggle/tests/wasmtime_integration.rs @@ -110,11 +110,12 @@ fn shim_module(engine: &Engine) -> Module { engine, r#" (module - (memory 1) - (export "memory" (memory 0)) (import "atoms" "int_float_args" (func $int_float_args (param i32 f32) (result i32))) (import "atoms" "double_int_return_float" (func $double_int_return_float (param i32 i32) (result i32))) + (memory 1) + (export "memory" (memory 0)) + (func $int_float_args_shim (param i32 f32) (result i32) local.get 0 local.get 1 diff --git a/crates/wiggle/tests/wasmtime_sync.rs b/crates/wiggle/tests/wasmtime_sync.rs index afd9f6081080..d96187066871 100644 --- a/crates/wiggle/tests/wasmtime_sync.rs +++ b/crates/wiggle/tests/wasmtime_sync.rs @@ -98,11 +98,12 @@ fn shim_module(engine: &Engine) -> Module { engine, r#" (module - (memory 1) - (export "memory" (memory 0)) (import "atoms" "int_float_args" (func $int_float_args (param i32 f32) (result i32))) (import "atoms" "double_int_return_float" (func $double_int_return_float (param i32 i32) (result i32))) + (memory 1) + (export "memory" (memory 0)) + (func $int_float_args_shim (param i32 f32) (result i32) local.get 0 local.get 1 diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index ee36b07154e3..ac46fe8387ae 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -17,7 +17,7 @@ target-lexicon = "0.12" peepmatic-fuzzing = { path = "../cranelift/peepmatic/crates/fuzzing", optional = true } wasmtime = { path = "../crates/wasmtime" } wasmtime-fuzzing = { path = "../crates/fuzzing" } -wasm-smith = "0.4.0" +wasm-smith = "0.5.0" [features] # Leave a stub feature with no side-effects in place for now: the OSS-Fuzz