From c12b003980dd6081af47fb30c7917cbbef8deb4a Mon Sep 17 00:00:00 2001 From: Robin Freyler Date: Sun, 15 Jan 2023 00:25:55 +0100 Subject: [PATCH] move StoreInner conversion a bit --- crates/wasmi/src/engine/executor.rs | 11 ++--------- crates/wasmi/src/engine/mod.rs | 10 ++++++++-- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/crates/wasmi/src/engine/executor.rs b/crates/wasmi/src/engine/executor.rs index 290ef7dfd5..4ac6651a72 100644 --- a/crates/wasmi/src/engine/executor.rs +++ b/crates/wasmi/src/engine/executor.rs @@ -4,7 +4,6 @@ use super::{ cache::InstanceCache, code_map::InstructionPtr, stack::ValueStackRef, - AsContextMut, CallOutcome, DropKeep, FuncFrame, @@ -26,18 +25,12 @@ use wasmi_core::{Pages, UntypedValue}; /// - If the execution of the function `frame` trapped. #[inline(always)] pub fn execute_frame<'engine>( - mut ctx: impl AsContextMut, + ctx: &mut StoreInner, value_stack: &'engine mut ValueStack, cache: &'engine mut InstanceCache, frame: &mut FuncFrame, ) -> Result { - Executor::new( - value_stack, - &mut ctx.as_context_mut().store.inner, - cache, - frame, - ) - .execute() + Executor::new(value_stack, ctx, cache, frame).execute() } /// The function signature of Wasm load operations. diff --git a/crates/wasmi/src/engine/mod.rs b/crates/wasmi/src/engine/mod.rs index 95a82f59e8..e4467879d1 100644 --- a/crates/wasmi/src/engine/mod.rs +++ b/crates/wasmi/src/engine/mod.rs @@ -714,7 +714,7 @@ impl<'engine> EngineExecutor<'engine> { #[inline(always)] fn execute_frame( &mut self, - ctx: impl AsContextMut, + mut ctx: impl AsContextMut, frame: &mut FuncFrame, cache: &mut InstanceCache, ) -> Result { @@ -729,6 +729,12 @@ impl<'engine> EngineExecutor<'engine> { } let value_stack = &mut self.stack.values; - execute_frame(ctx, value_stack, cache, frame).map_err(make_trap) + execute_frame( + &mut ctx.as_context_mut().store.inner, + value_stack, + cache, + frame, + ) + .map_err(make_trap) } }