1 mod control_effect; 2 pub(crate) mod fatpointer; 3 pub(crate) mod instructions; 4 5 pub(crate) mod builtins { 6 macro_rules! define_builtin_accessors { 7 ( $( $name:ident , )* ) => { 8 $( 9 #[inline] 10 pub fn $name( 11 func_env: &mut crate::func_environ::FuncEnvironment<'_>, 12 func: &mut crate::ir::Function, 13 ) -> wasmtime_environ::WasmResult<crate::ir::FuncRef> { 14 #[cfg(feature = "stack-switching")] 15 { 16 return Ok(func_env.builtin_functions.$name(func)); 17 } 18 19 #[cfg(not(feature = "stack-switching"))] 20 { 21 let _ = (func, func_env); 22 return Err(wasmtime_environ::wasm_unsupported!( 23 "support for Wasm Stack Switching disabled at compile time because the `stack-switching` cargo \ 24 feature was not enabled" 25 )); 26 } 27 } 28 )* 29 }; 30 } 31 32 define_builtin_accessors! { 33 cont_new, 34 table_grow_cont_obj, 35 table_fill_cont_obj, 36 } 37 } 38