From f1cd21c9048593e0bff08a7de3c345411fbf1f56 Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Thu, 4 Apr 2024 13:12:27 -0700 Subject: [PATCH] chore: update to wasmtime 19.0.1 This looks like a pretty uneventful upgrade. --- Cargo.lock | 154 +++++++++++++++++++++--------------------- Cargo.toml | 6 +- fvm/src/engine/mod.rs | 7 +- 3 files changed, 85 insertions(+), 82 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index adbd11e22..060752dbc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -816,18 +816,18 @@ dependencies = [ [[package]] name = "cranelift-bforest" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e7c0d51205b863591dd1e7aaa0fb69c2ea7bed48ffa63d6c4a848b07a35a732" +checksum = "5b3775cc6cc00c90d29eebea55feedb2b0168e23f5415bab7859c4004d7323d1" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-codegen" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ffb467cbc25543e4c20d2ad669bf8275598047b03c89652ad5fe2a0f47fc0e1" +checksum = "637f3184ba5bfa48d425bad1d2e4faf5fcf619f5e0ca107edc6dc02f589d4d74" dependencies = [ "bumpalo", "cranelift-bforest", @@ -846,33 +846,33 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc7e74aed5c2b91e38d090653506afbd2cd3be1ff70593e2aa6bb82b3c6b77ff" +checksum = "e4b35b8240462341d94d31aab807cad704683988708261aecae3d57db48b7212" dependencies = [ "cranelift-codegen-shared", ] [[package]] name = "cranelift-codegen-shared" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ff2dd24cce0775566da85770cb48aa58fef901cf2bff30275b42e7dbe62cbd5" +checksum = "8f3cd1555aa9df1d6d8375732de41b4cb0d787006948d55b6d004d521e9efeb0" [[package]] name = "cranelift-control" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8bcf4d5c73bbca309edf3af2839b5218e5c74cfbf22b0ac492af8a1d11120d9" +checksum = "14b31a562a10e98ab148fa146801e20665c5f9eda4fce9b2c5a3836575887d74" dependencies = [ "arbitrary", ] [[package]] name = "cranelift-entity" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "286754159b1a685475d6a0b4710832f950d6f4846a817002e2c23ff001321a65" +checksum = "af1e0467700a3f4fccf5feddbaebdf8b0eb82535b06a9600c4bc5df40872e75d" dependencies = [ "serde", "serde_derive", @@ -880,9 +880,9 @@ dependencies = [ [[package]] name = "cranelift-frontend" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67150a1fef9857caba710f8c0c8223d640f02c0e5d1ebbfc75ed62912599cb6b" +checksum = "6cb918ee2c23939262efd1b99d76a21212ac7bd35129582133e21a22a6ff0467" dependencies = [ "cranelift-codegen", "log", @@ -892,15 +892,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb7ceea70d3e0d7f69df7657f99de902e32016731c5a8d2788c1df0215f00952" +checksum = "966e4cfb23cf6d7f1d285d53a912baaffc5f06bcd9c9b0a2d8c66a184fae534b" [[package]] name = "cranelift-native" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "707e5d9384ce4fa3c40af1abf4c3ec49857745cced5187593385f4a2c0b95445" +checksum = "bea803aadfc4aabdfae7c3870f1b1f6dd4332f4091859e9758ef5fca6bf8cc87" dependencies = [ "cranelift-codegen", "libc", @@ -909,17 +909,17 @@ dependencies = [ [[package]] name = "cranelift-wasm" -version = "0.104.1" +version = "0.106.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d957e3ff2a14c2f974a66c22bfcedcd2bd0272af8dce4236869c3942f5a471" +checksum = "11d18a3572cd897555bba3621e568029417d8f5cc26aeede2d7cb0bad6afd916" dependencies = [ "cranelift-codegen", "cranelift-entity", "cranelift-frontend", - "itertools 0.10.5", + "itertools 0.12.1", "log", "smallvec", - "wasmparser 0.118.1", + "wasmparser 0.201.0", "wasmtime-types", ] @@ -3156,6 +3156,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.9" @@ -5121,9 +5130,9 @@ dependencies = [ [[package]] name = "wasm-encoder" -version = "0.38.1" +version = "0.201.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ad2b51884de9c7f4fe2fd1043fccb8dcad4b1e29558146ee57a144d15779f3f" +checksum = "b9c7d2731df60006819b013f64ccc2019691deccf6e11a1804bc850cd6748f1a" dependencies = [ "leb128", ] @@ -5150,10 +5159,11 @@ dependencies = [ [[package]] name = "wasmparser" -version = "0.118.1" +version = "0.201.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ee9723b928e735d53000dec9eae7b07a60e490c85ab54abb66659fc61bfcd9" +checksum = "84e5df6dba6c0d7fafc63a450f1738451ed7a0b52295d83e868218fa286bf708" dependencies = [ + "bitflags 2.4.1", "indexmap 2.0.2", "semver", ] @@ -5170,48 +5180,53 @@ dependencies = [ [[package]] name = "wasmtime" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8acb6aa966be38f613954c3debe7ba6c7a02ffd0537432be438da0b038955cdf" +checksum = "516be5b58a8f75d39b01378516dcb0ff7b9bc39c7f1f10eec5b338d4916cf988" dependencies = [ "anyhow", "bincode", "bumpalo", "cfg-if", "fxprof-processed-profile", + "gimli", "indexmap 2.0.2", + "ittapi", "libc", "log", "object", "once_cell", "paste", "rayon", + "rustix 0.38.31", "serde", "serde_derive", "serde_json", "target-lexicon", - "wasmparser 0.118.1", + "wasmparser 0.201.0", "wasmtime-cranelift", "wasmtime-environ", - "wasmtime-jit", + "wasmtime-jit-debug", + "wasmtime-jit-icache-coherence", "wasmtime-runtime", + "wasmtime-slab", "windows-sys 0.52.0", ] [[package]] name = "wasmtime-asm-macros" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1495ef4d46aec14f967b672e946e391dd8a14a443cda3d5e0779ff67fb6e28d" +checksum = "e8d22d88a92d69385f18143c946884bf6aaa9ec206ce54c85a2d320c1362b009" dependencies = [ "cfg-if", ] [[package]] name = "wasmtime-cranelift" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df08a8bd9a68732577bee05ac685e4c247238b5e79ad9c062e2dfb4d04dca132" +checksum = "961ab5ee4b17e627001b18069ee89ef906edbbd3f84955515f6aad5ab6d82299" dependencies = [ "anyhow", "cfg-if", @@ -5226,7 +5241,7 @@ dependencies = [ "object", "target-lexicon", "thiserror", - "wasmparser 0.118.1", + "wasmparser 0.201.0", "wasmtime-cranelift-shared", "wasmtime-environ", "wasmtime-versioned-export-macros", @@ -5234,9 +5249,9 @@ dependencies = [ [[package]] name = "wasmtime-cranelift-shared" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "404201c9e669083f189f01337b3ed0aa0eb081157fb4e170bbfe193df9497771" +checksum = "bc4db94596be14cd1f85844ce85470bf68acf235143098b9d9bf72b49e47b917" dependencies = [ "anyhow", "cranelift-codegen", @@ -5250,11 +5265,12 @@ dependencies = [ [[package]] name = "wasmtime-environ" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e696b4911c9a69c3c2892ec05eb41bb15436d1a46d8830a755c40f5df47546a" +checksum = "420b13858ef27dfd116f1fdb0513e9593a307a632ade2ea58334b639a3d8d24e" dependencies = [ "anyhow", + "bincode", "cranelift-entity", "gimli", "indexmap 2.0.2", @@ -5264,39 +5280,15 @@ dependencies = [ "serde_derive", "target-lexicon", "thiserror", - "wasmparser 0.118.1", + "wasmparser 0.201.0", "wasmtime-types", ] -[[package]] -name = "wasmtime-jit" -version = "17.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c56519882d936c680bd191d58ac04cff071a470eca2dcc664adcd60f986a731" -dependencies = [ - "anyhow", - "bincode", - "cfg-if", - "gimli", - "ittapi", - "log", - "object", - "rustix 0.38.31", - "serde", - "serde_derive", - "target-lexicon", - "wasmtime-environ", - "wasmtime-jit-debug", - "wasmtime-jit-icache-coherence", - "wasmtime-runtime", - "windows-sys 0.52.0", -] - [[package]] name = "wasmtime-jit-debug" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "babc65e64ab0dd4e1ce65624db64e24ed0fbdebb16148729173fa0da9f70e53c" +checksum = "7b849f19ad1d4a8133ff05b82c438144f17fb49b08e5f7995f8c1e25cf35f390" dependencies = [ "object", "rustix 0.38.31", @@ -5305,9 +5297,9 @@ dependencies = [ [[package]] name = "wasmtime-jit-icache-coherence" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7ec5b11c12d9acb09612e7ce04c4c8aea3e8dc79b2591ffdead986a5ce8ec49" +checksum = "59c48eb4223d6556ffbf3decb146d0da124f1fd043f41c98b705252cb6a5c186" dependencies = [ "cfg-if", "libc", @@ -5316,9 +5308,9 @@ dependencies = [ [[package]] name = "wasmtime-runtime" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28e1c31bbdf67cb86f149bcead5193749f23f77c93c5244ec9ac8d192f90966c" +checksum = "7fefac2cb5f5a6f365234a3584bf40bd2e45e7f6cd90a689d9b2afbb9881978f" dependencies = [ "anyhow", "cc", @@ -5333,7 +5325,7 @@ dependencies = [ "psm", "rustix 0.38.31", "sptr", - "wasm-encoder 0.38.1", + "wasm-encoder 0.201.0", "wasmtime-asm-macros", "wasmtime-environ", "wasmtime-versioned-export-macros", @@ -5341,24 +5333,30 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "wasmtime-slab" +version = "19.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52d7b97b92df126fdbe994a53d2215828ec5ed5087535e6d4703b1fbd299f0e3" + [[package]] name = "wasmtime-types" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52e799cff634d30fd042db96b417d515e54f903b95f8c1e0ec60e8f604479485" +checksum = "509c88abb830819b259c49e2d4e4f22b555db066ba08ded0b76b071a2aa53ddf" dependencies = [ "cranelift-entity", "serde", "serde_derive", "thiserror", - "wasmparser 0.118.1", + "wasmparser 0.201.0", ] [[package]] name = "wasmtime-versioned-export-macros" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e10fe166d4e4c95d5d80c5b47e1e12256af2099ac525ddb9a19b1aeb8896e5e1" +checksum = "f1d81c092a61ca1667013e2eb08fed7c6c53e496dbbaa32d5685dc5152b0a772" dependencies = [ "proc-macro2", "quote", @@ -5367,9 +5365,9 @@ dependencies = [ [[package]] name = "wasmtime-wmemcheck" -version = "17.0.1" +version = "19.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5da08ab734954e16f57be38423b90c25a0b13420e51cbd0a2e37b86a468a988c" +checksum = "b77212b6874bbc86d220bb1d28632d0c11c6afe996c3e1ddcf746b1a6b4919b9" [[package]] name = "wast" diff --git a/Cargo.toml b/Cargo.toml index 9c265c9e5..f583fbce0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -54,9 +54,9 @@ libsecp256k1 = { version = "0.7.1" } bls-signatures = { version = "0.15", default-features = false } # wasmtime -wasmtime = {version = "17.0.1", default-features = false, features = ["cranelift", "pooling-allocator", "parallel-compilation"] } -wasmtime-environ = "17.0.1" -wasmtime-runtime = { version = "17.0.1", default-features = false } +wasmtime = {version = "19.0.1", default-features = false, features = ["cranelift", "pooling-allocator", "parallel-compilation"] } +wasmtime-environ = "19.0.1" +wasmtime-runtime = { version = "19.0.1", default-features = false } # misc libfuzzer-sys = "0.4" diff --git a/fvm/src/engine/mod.rs b/fvm/src/engine/mod.rs index f7f5c29d8..b56f48df4 100644 --- a/fvm/src/engine/mod.rs +++ b/fvm/src/engine/mod.rs @@ -196,8 +196,14 @@ fn wasmtime_config(ec: &EngineConfig) -> anyhow::Result { // wasmtime default: false // Cool proposal to allow function references, but we don't support it yet. + #[cfg(feature = "wasmtime/gc")] c.wasm_function_references(false); + // wasmtime default: false + // Wasmtime function reference proposal. + #[cfg(feature = "wasmtime/gc")] + c.wasm_gc(false); + // wasmtime default: false // // from wasmtime docs: @@ -225,7 +231,6 @@ fn wasmtime_config(ec: &EngineConfig) -> anyhow::Result { c.native_unwind_info(false); c.wasm_backtrace(false); c.wasm_backtrace_details(WasmBacktraceDetails::Disable); - c.wasm_reference_types(false); // Reiterate some defaults c.guard_before_linear_memory(true);