Trait wasmtime_runtime::ModuleRuntimeInfo
source · [−]pub trait ModuleRuntimeInfo: Send + Sync + 'static {
fn module(&self) -> &Arc<Module>;
fn signature(&self, index: SignatureIndex) -> VMSharedSignatureIndex;
fn image_base(&self) -> usize;
fn function_info(&self, func_index: DefinedFuncIndex) -> &FunctionInfo;
fn memory_image(
&self,
memory: DefinedMemoryIndex
) -> Result<Option<&Arc<MemoryImage>>>;
fn unique_id(&self) -> Option<CompiledModuleId>;
fn wasm_data(&self) -> &[u8]ⓘNotable traits for &'_ [u8]impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
;
fn signature_ids(&self) -> &[VMSharedSignatureIndex];
}
Expand description
Functionality required by this crate for a particular module. This is chiefly needed for lazy initialization of various bits of instance state.
When an instance is created, it holds an Arcwasmtime::module::ModuleInner
. Since the runtime crate sits at
the bottom of the dependence DAG though, we don’t know or care about
that; we just need some implementor of this trait for each
allocation request.
Required methods
fn signature(&self, index: SignatureIndex) -> VMSharedSignatureIndex
fn signature(&self, index: SignatureIndex) -> VMSharedSignatureIndex
The signatures.
fn image_base(&self) -> usize
fn image_base(&self) -> usize
The base address of where JIT functions are located.
fn function_info(&self, func_index: DefinedFuncIndex) -> &FunctionInfo
fn function_info(&self, func_index: DefinedFuncIndex) -> &FunctionInfo
Descriptors about each compiled function, such as the offset from
image_base
.
fn memory_image(
&self,
memory: DefinedMemoryIndex
) -> Result<Option<&Arc<MemoryImage>>>
fn memory_image(
&self,
memory: DefinedMemoryIndex
) -> Result<Option<&Arc<MemoryImage>>>
Returns the MemoryImage
structure used for copy-on-write
initialization of the memory, if it’s applicable.
fn unique_id(&self) -> Option<CompiledModuleId>
fn unique_id(&self) -> Option<CompiledModuleId>
A unique ID for this particular module. This can be used to allow for fastpaths to optimize a “re-instantiate the same module again” case.
A slice pointing to all data that is referenced by this instance.
fn signature_ids(&self) -> &[VMSharedSignatureIndex]
fn signature_ids(&self) -> &[VMSharedSignatureIndex]
Returns an array, indexed by SignatureIndex
of all
VMSharedSignatureIndex
entries corresponding to the SignatureIndex
.