Trait wasmer_engine::Artifact[][src]

pub trait Artifact: Send + Sync + Upcastable + MemoryUsage {
Show 17 methods fn module(&self) -> Arc<ModuleInfo>;
fn module_ref(&self) -> &ModuleInfo;
fn module_mut(&mut self) -> Option<&mut ModuleInfo>;
fn register_frame_info(&self);
fn features(&self) -> &Features;
fn memory_styles(&self) -> &PrimaryMap<MemoryIndex, MemoryStyle>;
fn table_styles(&self) -> &PrimaryMap<TableIndex, TableStyle>;
fn data_initializers(&self) -> &[OwnedDataInitializer]
Notable traits for &'_ mut [u8]
impl<'_> Write for &'_ mut [u8]impl<'_> Read for &'_ [u8]
;
fn finished_functions(
        &self
    ) -> &BoxedSlice<LocalFunctionIndex, FunctionBodyPtr>;
fn finished_function_call_trampolines(
        &self
    ) -> &BoxedSlice<SignatureIndex, VMTrampoline>;
fn finished_dynamic_function_trampolines(
        &self
    ) -> &BoxedSlice<FunctionIndex, FunctionBodyPtr>;
fn signatures(&self) -> &BoxedSlice<SignatureIndex, VMSharedSignatureIndex>;
fn serialize(&self) -> Result<Vec<u8>, SerializeError>; fn serialize_to_file(&self, path: &Path) -> Result<(), SerializeError> { ... }
fn preinstantiate(&self) -> Result<(), InstantiationError> { ... }
unsafe fn instantiate(
        &self,
        tunables: &dyn Tunables,
        resolver: &dyn Resolver,
        host_state: Box<dyn Any>,
        config: InstanceConfig
    ) -> Result<InstanceHandle, InstantiationError> { ... }
unsafe fn finish_instantiation(
        &self,
        trap_handler: &dyn TrapHandler,
        handle: &InstanceHandle
    ) -> Result<(), InstantiationError> { ... }
}
Expand description

An Artifact is the product that the Engine implementation produce and use.

The Artifact contains the compiled data for a given module as well as extra information needed to run the module at runtime, such as ModuleInfo and Features.

Required methods

Return a reference-counted pointer to the module

Return a pointer to a module.

Gets a mutable reference to the info.

Note: this will return None if the module is already instantiated.

Register thie Artifact stack frame information into the global scope.

This is required to ensure that any traps can be properly symbolicated.

Returns the features for this Artifact

Returns the memory styles associated with this Artifact.

Returns the table plans associated with this Artifact.

Returns data initializers to pass to InstanceHandle::initialize

Returns the functions allocated in memory or this Artifact ready to be run.

Returns the function call trampolines allocated in memory of this Artifact, ready to be run.

Returns the dynamic function trampolines allocated in memory of this Artifact, ready to be run.

Returns the associated VM signatures for this Artifact.

Serializes an artifact into bytes

Provided methods

Serializes an artifact into a file path

Do preinstantiation logic that is executed before instantiating

Crate an Instance from this Artifact.

Safety

See InstanceHandle::new.

Finishes the instantiation of a just created InstanceHandle.

Safety

See InstanceHandle::finish_instantiation.

Implementations

Try to downcast the artifact into a given type.

Try to downcast the artifact into a given type mutably.

Implementors