From 0575b7b632eb41db1c9d4fb3f69c2d742e47d2a0 Mon Sep 17 00:00:00 2001 From: Robin Freyler Date: Mon, 25 Dec 2023 11:18:26 +0100 Subject: [PATCH 1/3] update Wasmi to v0.32.0-beta.2 Adds CompilationMode and removes EngineBackend parameter. --- tools/benchtool/Cargo.toml | 2 +- tools/benchtool/src/backend.rs | 8 ++++---- tools/benchtool/src/backend/backend_wasmi.rs | 9 +++++---- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/tools/benchtool/Cargo.toml b/tools/benchtool/Cargo.toml index a220aae3..69c6adc4 100644 --- a/tools/benchtool/Cargo.toml +++ b/tools/benchtool/Cargo.toml @@ -16,7 +16,7 @@ libc = { workspace = true } libloading = { version = "0.8.1", optional = true } log = { workspace = true } object = { version = "0.32.1", default-features = false, features = ["std", "elf"], optional = true } -wasmi = { git = "https://github.com/paritytech/wasmi.git", rev = "ea3a29ce66ca116489b7bbcec520c5415ace17b2", optional = true } +wasmi = { version = "0.32.0-beta.2", optional = true } [target.'cfg(target_arch = "x86_64")'.dependencies] ckb-vm = { version = "0.24.6", features = ["asm"], optional = true } diff --git a/tools/benchtool/src/backend.rs b/tools/benchtool/src/backend.rs index 99cf2e94..95f046f7 100644 --- a/tools/benchtool/src/backend.rs +++ b/tools/benchtool/src/backend.rs @@ -272,9 +272,9 @@ define_backends! { Wasm3 => backend_wasm3::Wasm3(), #[cfg(feature = "wasmi")] - Wasmi_StackMachine => backend_wasmi::Wasmi(wasmi::EngineBackend::StackMachine), + Wasmi_Eager => backend_wasmi::Wasmi(wasmi::CompilationMode::Eager), #[cfg(feature = "wasmi")] - Wasmi_RegisterMachine => backend_wasmi::Wasmi(wasmi::EngineBackend::RegisterMachine), + Wasmi_Lazy => backend_wasmi::Wasmi(wasmi::CompilationMode::Lazy), #[cfg(feature = "native")] Native => backend_native::Native() @@ -297,8 +297,8 @@ impl BenchmarkKind { BenchmarkKind::WebAssembly => { #[cfg(feature = "wasmi")] { - output.push(BackendKind::Wasmi_StackMachine); - output.push(BackendKind::Wasmi_RegisterMachine); + output.push(BackendKind::Wasmi_Eager); + output.push(BackendKind::Wasmi_Lazy); } #[cfg(any(target_arch = "x86_64", target_arch = "aarch64"))] diff --git a/tools/benchtool/src/backend/backend_wasmi.rs b/tools/benchtool/src/backend/backend_wasmi.rs index 630f88f5..433d0dcb 100644 --- a/tools/benchtool/src/backend/backend_wasmi.rs +++ b/tools/benchtool/src/backend/backend_wasmi.rs @@ -1,7 +1,7 @@ use super::backend_prelude::*; #[derive(Copy, Clone)] -pub struct Wasmi(pub wasmi::EngineBackend); +pub struct Wasmi(pub wasmi::CompilationMode); pub struct WasmiInstance { store: wasmi::Store<()>, @@ -17,14 +17,15 @@ impl Backend for Wasmi { fn name(&self) -> &'static str { match self.0 { - wasmi::EngineBackend::StackMachine => "wasmi_stack", - wasmi::EngineBackend::RegisterMachine => "wasmi_register", + wasmi::CompilationMode::Eager => "wasmi_eager", + wasmi::CompilationMode::LazyTranslation => "wasmi_lazy_translation)", + wasmi::CompilationMode::Lazy => "wasmi_lazy", } } fn create(&self) -> Self::Engine { let mut config = wasmi::Config::default(); - config.set_engine_backend(self.0); + config.compilation_mode(self.0); wasmi::Engine::new(&config) } From 41c9af0cdcc44b09439247ed1e4d8bca9e63b913 Mon Sep 17 00:00:00 2001 From: Robin Freyler Date: Mon, 25 Dec 2023 12:10:39 +0100 Subject: [PATCH 2/3] update Cargo.lock --- Cargo.lock | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 915c5715..4c8a874c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1432,6 +1432,17 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "num-derive" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfb77679af88f8b125209d354a202862602672222e7f2313fdd6dc349bad4712" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.38", +] + [[package]] name = "num-integer" version = "0.1.45" @@ -2798,10 +2809,13 @@ dependencies = [ [[package]] name = "wasmi" -version = "0.31.0" -source = "git+https://github.com/paritytech/wasmi.git?rev=ea3a29ce66ca116489b7bbcec520c5415ace17b2#ea3a29ce66ca116489b7bbcec520c5415ace17b2" +version = "0.32.0-beta.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aab06f5b4dadd225f47efe41308550ab01f0b6aa2585d7823c3f215e5777ebd" dependencies = [ "multi-stash", + "num-derive", + "num-traits", "smallvec", "spin", "wasmi_arena", @@ -2812,12 +2826,14 @@ dependencies = [ [[package]] name = "wasmi_arena" version = "0.4.0" -source = "git+https://github.com/paritytech/wasmi.git?rev=ea3a29ce66ca116489b7bbcec520c5415ace17b2#ea3a29ce66ca116489b7bbcec520c5415ace17b2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "401c1f35e413fac1846d4843745589d9ec678977ab35a384db8ae7830525d468" [[package]] name = "wasmi_core" -version = "0.13.0" -source = "git+https://github.com/paritytech/wasmi.git?rev=ea3a29ce66ca116489b7bbcec520c5415ace17b2#ea3a29ce66ca116489b7bbcec520c5415ace17b2" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ac482df6761020b2b75c9aade41c105993c5b9f64156c349bb7ccad226a6ecd" dependencies = [ "downcast-rs", "libm", From b56c45c43647b355069917c103cefc3a44aaa228 Mon Sep 17 00:00:00 2001 From: Koute Date: Mon, 25 Dec 2023 21:23:13 +0900 Subject: [PATCH 3/3] Update tools/benchtool/src/backend/backend_wasmi.rs --- tools/benchtool/src/backend/backend_wasmi.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/benchtool/src/backend/backend_wasmi.rs b/tools/benchtool/src/backend/backend_wasmi.rs index 433d0dcb..4a4df896 100644 --- a/tools/benchtool/src/backend/backend_wasmi.rs +++ b/tools/benchtool/src/backend/backend_wasmi.rs @@ -18,7 +18,7 @@ impl Backend for Wasmi { fn name(&self) -> &'static str { match self.0 { wasmi::CompilationMode::Eager => "wasmi_eager", - wasmi::CompilationMode::LazyTranslation => "wasmi_lazy_translation)", + wasmi::CompilationMode::LazyTranslation => "wasmi_lazy_translation", wasmi::CompilationMode::Lazy => "wasmi_lazy", } }