pub struct ModuleInstance { /* private fields */ }
Expand description
Module instance.
Implementations§
Source§impl ModuleInstance
impl ModuleInstance
Sourcepub fn new<'a>(
program: Weak<ProgramInstanceEssence>,
name: String,
module: Module,
) -> Result<Self, Error>
pub fn new<'a>( program: Weak<ProgramInstanceEssence>, name: String, module: Module, ) -> Result<Self, Error>
Instantiate given module within program context.
Sourcepub fn instantiate<'a>(
&mut self,
externals: Option<&'a HashMap<String, Arc<dyn ModuleInstanceInterface + 'a>>>,
) -> Result<(), Error>
pub fn instantiate<'a>( &mut self, externals: Option<&'a HashMap<String, Arc<dyn ModuleInstanceInterface + 'a>>>, ) -> Result<(), Error>
Run instantiation-time procedures (validation). Module is not completely validated until this call.
Sourcepub fn run_start_function(&self) -> Result<(), Error>
pub fn run_start_function(&self) -> Result<(), Error>
Run start function [if any].
Trait Implementations§
Source§impl ModuleInstanceInterface for ModuleInstance
impl ModuleInstanceInterface for ModuleInstance
Source§fn execute_index(
&self,
index: u32,
params: ExecutionParams<'_>,
) -> Result<Option<RuntimeValue>, Error>
fn execute_index( &self, index: u32, params: ExecutionParams<'_>, ) -> Result<Option<RuntimeValue>, Error>
Execute function with the given index.
Source§fn execute_export(
&self,
name: &str,
params: ExecutionParams<'_>,
) -> Result<Option<RuntimeValue>, Error>
fn execute_export( &self, name: &str, params: ExecutionParams<'_>, ) -> Result<Option<RuntimeValue>, Error>
Execute function with the given export name.
Source§fn export_entry<'a>(
&self,
name: &str,
required_type: &ExportEntryType<'_>,
) -> Result<Internal, Error>
fn export_entry<'a>( &self, name: &str, required_type: &ExportEntryType<'_>, ) -> Result<Internal, Error>
Get export entry.
Source§fn memory(&self, index: ItemIndex) -> Result<Arc<MemoryInstance>, Error>
fn memory(&self, index: ItemIndex) -> Result<Arc<MemoryInstance>, Error>
Get memory reference.
Source§fn global<'a>(
&self,
index: ItemIndex,
variable_type: Option<VariableType>,
externals: Option<&'a HashMap<String, Arc<dyn ModuleInstanceInterface + 'a>>>,
) -> Result<Arc<VariableInstance>, Error>
fn global<'a>( &self, index: ItemIndex, variable_type: Option<VariableType>, externals: Option<&'a HashMap<String, Arc<dyn ModuleInstanceInterface + 'a>>>, ) -> Result<Arc<VariableInstance>, Error>
Get global reference.
Source§fn function_type(
&self,
function_index: ItemIndex,
) -> Result<FunctionSignature<'_>, Error>
fn function_type( &self, function_index: ItemIndex, ) -> Result<FunctionSignature<'_>, Error>
Get function type for given function index.
Source§fn function_type_by_index(
&self,
type_index: u32,
) -> Result<FunctionSignature<'_>, Error>
fn function_type_by_index( &self, type_index: u32, ) -> Result<FunctionSignature<'_>, Error>
Get function type for given function index.
Source§fn function_reference<'a>(
&self,
index: ItemIndex,
externals: Option<&'a HashMap<String, Arc<dyn ModuleInstanceInterface + 'a>>>,
) -> Result<InternalFunctionReference<'a>, Error>
fn function_reference<'a>( &self, index: ItemIndex, externals: Option<&'a HashMap<String, Arc<dyn ModuleInstanceInterface + 'a>>>, ) -> Result<InternalFunctionReference<'a>, Error>
Get function reference.
Source§fn function_reference_indirect<'a>(
&self,
table_idx: u32,
type_idx: u32,
func_idx: u32,
externals: Option<&'a HashMap<String, Arc<dyn ModuleInstanceInterface + 'a>>>,
) -> Result<InternalFunctionReference<'a>, Error>
fn function_reference_indirect<'a>( &self, table_idx: u32, type_idx: u32, func_idx: u32, externals: Option<&'a HashMap<String, Arc<dyn ModuleInstanceInterface + 'a>>>, ) -> Result<InternalFunctionReference<'a>, Error>
Get function indirect reference.
Source§fn function_body<'a>(
&'a self,
internal_index: u32,
) -> Result<Option<InternalFunction<'a>>, Error>
fn function_body<'a>( &'a self, internal_index: u32, ) -> Result<Option<InternalFunction<'a>>, Error>
Get internal function for interpretation.
Source§fn call_internal_function(
&self,
outer: CallerContext<'_>,
index: u32,
) -> Result<Option<RuntimeValue>, Error>
fn call_internal_function( &self, outer: CallerContext<'_>, index: u32, ) -> Result<Option<RuntimeValue>, Error>
Call function with given internal index.
Auto Trait Implementations§
impl Freeze for ModuleInstance
impl !RefUnwindSafe for ModuleInstance
impl !Send for ModuleInstance
impl !Sync for ModuleInstance
impl Unpin for ModuleInstance
impl !UnwindSafe for ModuleInstance
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more