Upgrade wasmtime to 0.40.0 (#12096)

* Upgrade wasmtime to 0.40.0

* ".git/.scripts/bench-bot.sh" pallet dev pallet_contracts

* Update in the other Cargo.toml

* ".git/.scripts/bench-bot.sh" pallet dev pallet_contracts

Co-authored-by: command-bot <>
Co-authored-by: Alexander Theißen <alex.theissen@me.com>
This commit is contained in:
Bastian Köcher
2022-09-08 09:57:23 +01:00
committed by GitHub
parent 972ac424f0
commit bec123a50f
5 changed files with 739 additions and 771 deletions
@@ -21,7 +21,7 @@ parity-wasm = "0.42.0"
# When bumping wasmtime do not forget to also bump rustix
# to exactly the same version as used by wasmtime!
wasmtime = { version = "0.38.0", default-features = false, features = [
wasmtime = { version = "0.40.1", default-features = false, features = [
"cache",
"cranelift",
"jitdump",
@@ -35,16 +35,13 @@ sp-runtime-interface = { version = "6.0.0", path = "../../../primitives/runtime-
sp-sandbox = { version = "0.10.0-dev", path = "../../../primitives/sandbox" }
sp-wasm-interface = { version = "6.0.0", features = ["wasmtime"], path = "../../../primitives/wasm-interface" }
[target.'cfg(target_os = "linux")'.dependencies]
rustix = { version = "0.35.6", default-features = false, features = ["std", "mm", "fs", "param", "use-libc"] }
once_cell = "1.12.0"
# Here we include the rustix crate used by wasmtime just to enable its 'use-libc' flag.
#
# By default rustix directly calls the appropriate syscalls completely bypassing libc;
# this doesn't have any actual benefits for us besides making it harder to debug memory
# problems (since then `mmap` etc. cannot be easily hooked into).
rustix_wasmtime = { package = "rustix", version = "0.33.7", default-features = false, features = ["std", "use-libc"] }
rustix = { version = "0.35.9", default-features = false, features = ["std", "mm", "fs", "param", "use-libc"] }
once_cell = "1.12.0"
[dev-dependencies]
wat = "1.0"
@@ -320,9 +320,7 @@ fn common_config(semantics: &Semantics) -> std::result::Result<wasmtime::Config,
wasmtime::ProfilingStrategy::None
},
};
config
.profiler(profiler)
.map_err(|e| WasmError::Instantiation(format!("fail to set profiler: {:#}", e)))?;
config.profiler(profiler);
let native_stack_max = match semantics.deterministic_stack_limit {
Some(DeterministicStackLimit { native_stack_max, .. }) => native_stack_max,
@@ -334,9 +332,7 @@ fn common_config(semantics: &Semantics) -> std::result::Result<wasmtime::Config,
None => 1024 * 1024,
};
config
.max_wasm_stack(native_stack_max as usize)
.map_err(|e| WasmError::Other(format!("cannot set max wasm stack: {:#}", e)))?;
config.max_wasm_stack(native_stack_max as usize);
config.parallel_compilation(semantics.parallel_compilation);