diff --git a/cranelift/wasm/src/environ/spec.rs b/cranelift/wasm/src/environ/spec.rs index 6837e30187..71c11e0b23 100644 --- a/cranelift/wasm/src/environ/spec.rs +++ b/cranelift/wasm/src/environ/spec.rs @@ -6,6 +6,7 @@ //! //! [Wasmtime]: https://github.com/CraneStation/wasmtime +use crate::state::TranslationState; use crate::translation_utils::{ FuncIndex, Global, GlobalIndex, Memory, MemoryIndex, SignatureIndex, Table, TableIndex, }; @@ -262,6 +263,7 @@ pub trait FuncEnvironment { &mut self, _op: &Operator, _builder: &mut FunctionBuilder, + _state: &mut TranslationState, ) -> WasmResult<()> { Ok(()) } @@ -272,6 +274,7 @@ pub trait FuncEnvironment { &mut self, _op: &Operator, _builder: &mut FunctionBuilder, + _state: &mut TranslationState, ) -> WasmResult<()> { Ok(()) } diff --git a/cranelift/wasm/src/func_translator.rs b/cranelift/wasm/src/func_translator.rs index 9d9e923db5..84c76297aa 100644 --- a/cranelift/wasm/src/func_translator.rs +++ b/cranelift/wasm/src/func_translator.rs @@ -207,9 +207,9 @@ fn parse_function_body( while !state.control_stack.is_empty() { builder.set_srcloc(cur_srcloc(&reader)); let op = reader.read_operator()?; - environ.before_translate_operator(&op, builder)?; + environ.before_translate_operator(&op, builder, state)?; translate_operator(&op, builder, state, environ)?; - environ.after_translate_operator(&op, builder)?; + environ.after_translate_operator(&op, builder, state)?; } // The final `End` operator left us in the exit block where we need to manually add a return diff --git a/cranelift/wasm/src/lib.rs b/cranelift/wasm/src/lib.rs index db10a7936c..04ccb90451 100644 --- a/cranelift/wasm/src/lib.rs +++ b/cranelift/wasm/src/lib.rs @@ -63,6 +63,7 @@ pub use crate::environ::{ }; pub use crate::func_translator::FuncTranslator; pub use crate::module_translator::translate_module; +pub use crate::state::TranslationState; pub use crate::translation_utils::{ get_vmctx_value_label, DefinedFuncIndex, DefinedGlobalIndex, DefinedMemoryIndex, DefinedTableIndex, FuncIndex, Global, GlobalIndex, GlobalInit, Memory, MemoryIndex,