pub struct DylibArtifact { /* private fields */ }
Expand description
A compiled Wasm module, ready to be instantiated.
Implementations§
Source§impl DylibArtifact
impl DylibArtifact
Sourcepub fn is_deserializable(bytes: &[u8]) -> bool
pub fn is_deserializable(bytes: &[u8]) -> bool
Check if the provided bytes look like DylibArtifact
.
This means, if the bytes look like a shared object file in the target system.
Sourcepub fn get_default_extension(triple: &Triple) -> &'static str
pub fn get_default_extension(triple: &Triple) -> &'static str
Get the default extension when serializing this artifact
Sourcepub fn from_parts_crosscompiled(
metadata: ModuleMetadata,
dylib_path: PathBuf,
) -> Result<Self, CompileError>
pub fn from_parts_crosscompiled( metadata: ModuleMetadata, dylib_path: PathBuf, ) -> Result<Self, CompileError>
Construct a DylibArtifact
from component parts.
Sourcepub fn from_parts(
engine_inner: &mut DylibEngineInner,
metadata: ModuleMetadata,
dylib_path: PathBuf,
lib: Library,
) -> Result<Self, CompileError>
pub fn from_parts( engine_inner: &mut DylibEngineInner, metadata: ModuleMetadata, dylib_path: PathBuf, lib: Library, ) -> Result<Self, CompileError>
Construct a DylibArtifact
from component parts.
Sourcepub fn new(_engine: &DylibEngine, _data: &[u8]) -> Result<Self, CompileError>
pub fn new(_engine: &DylibEngine, _data: &[u8]) -> Result<Self, CompileError>
Compile a data buffer into a DylibArtifact
, which may
then be instantiated.
Sourcepub unsafe fn deserialize(
engine: &DylibEngine,
bytes: &[u8],
) -> Result<Self, DeserializeError>
pub unsafe fn deserialize( engine: &DylibEngine, bytes: &[u8], ) -> Result<Self, DeserializeError>
Deserialize a DylibArtifact
from bytes.
§Safety
The bytes must represent a serialized WebAssembly module.
Sourcepub unsafe fn deserialize_from_file(
engine: &DylibEngine,
path: &Path,
) -> Result<Self, DeserializeError>
pub unsafe fn deserialize_from_file( engine: &DylibEngine, path: &Path, ) -> Result<Self, DeserializeError>
Deserialize a DylibArtifact
from a file path.
§Safety
The file’s content must represent a serialized WebAssembly module.
Sourcepub unsafe fn deserialize_from_file_unchecked(
engine: &DylibEngine,
path: &Path,
) -> Result<Self, DeserializeError>
pub unsafe fn deserialize_from_file_unchecked( engine: &DylibEngine, path: &Path, ) -> Result<Self, DeserializeError>
Deserialize a DylibArtifact
from a file path (unchecked).
§Safety
The file’s content must represent a serialized WebAssembly module.
Trait Implementations§
Source§impl Artifact for DylibArtifact
impl Artifact for DylibArtifact
Source§fn register_frame_info(&self)
fn register_frame_info(&self)
Register thie
Artifact
stack frame information into the global scope. Read moreSource§fn finished_functions(&self) -> &BoxedSlice<LocalFunctionIndex, FunctionBodyPtr>
fn finished_functions(&self) -> &BoxedSlice<LocalFunctionIndex, FunctionBodyPtr>
Returns the functions allocated in memory or this
Artifact
ready to be run.Source§fn finished_function_call_trampolines(
&self,
) -> &BoxedSlice<SignatureIndex, VMTrampoline>
fn finished_function_call_trampolines( &self, ) -> &BoxedSlice<SignatureIndex, VMTrampoline>
Returns the function call trampolines allocated in memory of this
Artifact
, ready to be run.Source§fn finished_dynamic_function_trampolines(
&self,
) -> &BoxedSlice<FunctionIndex, FunctionBodyPtr>
fn finished_dynamic_function_trampolines( &self, ) -> &BoxedSlice<FunctionIndex, FunctionBodyPtr>
Returns the dynamic function trampolines allocated in memory
of this
Artifact
, ready to be run.Source§fn signatures(&self) -> &BoxedSlice<SignatureIndex, VMSharedSignatureIndex>
fn signatures(&self) -> &BoxedSlice<SignatureIndex, VMSharedSignatureIndex>
Returns the associated VM signatures for this
Artifact
.Source§fn func_data_registry(&self) -> &FuncDataRegistry
fn func_data_registry(&self) -> &FuncDataRegistry
Get the func data registry
Source§fn preinstantiate(&self) -> Result<(), InstantiationError>
fn preinstantiate(&self) -> Result<(), InstantiationError>
Do preinstantiation logic that is executed before instantiating
Source§unsafe fn instantiate(
&self,
tunables: &dyn Tunables,
resolver: &dyn Resolver,
host_state: Box<dyn Any>,
) -> Result<InstanceHandle, InstantiationError>
unsafe fn instantiate( &self, tunables: &dyn Tunables, resolver: &dyn Resolver, host_state: Box<dyn Any>, ) -> Result<InstanceHandle, InstantiationError>
Source§unsafe fn finish_instantiation(
&self,
trap_handler: &(dyn TrapHandler + 'static),
handle: &InstanceHandle,
) -> Result<(), InstantiationError>
unsafe fn finish_instantiation( &self, trap_handler: &(dyn TrapHandler + 'static), handle: &InstanceHandle, ) -> Result<(), InstantiationError>
Finishes the instantiation of a just created
InstanceHandle
. Read moreSource§impl ArtifactCreate for DylibArtifact
impl ArtifactCreate for DylibArtifact
Source§fn module(&self) -> Arc<ModuleInfo>
fn module(&self) -> Arc<ModuleInfo>
Return a reference-counted pointer to the module
Source§fn module_ref(&self) -> &ModuleInfo
fn module_ref(&self) -> &ModuleInfo
Return a pointer to a module.
Source§fn module_mut(&mut self) -> Option<&mut ModuleInfo>
fn module_mut(&mut self) -> Option<&mut ModuleInfo>
Gets a mutable reference to the info. Read more
Source§fn cpu_features(&self) -> EnumSet<CpuFeature>
fn cpu_features(&self) -> EnumSet<CpuFeature>
Returns the CPU features for this Artifact
Source§fn data_initializers(&self) -> &[OwnedDataInitializer]
fn data_initializers(&self) -> &[OwnedDataInitializer]
Returns data initializers to pass to
InstanceHandle::initialize
Source§fn memory_styles(&self) -> &PrimaryMap<MemoryIndex, MemoryStyle>
fn memory_styles(&self) -> &PrimaryMap<MemoryIndex, MemoryStyle>
Returns the memory styles associated with this
Artifact
.Source§fn table_styles(&self) -> &PrimaryMap<TableIndex, TableStyle>
fn table_styles(&self) -> &PrimaryMap<TableIndex, TableStyle>
Returns the table plans associated with this
Artifact
.Source§fn serialize_to_file(&self, path: &Path) -> Result<(), SerializeError>
fn serialize_to_file(&self, path: &Path) -> Result<(), SerializeError>
Serializes an artifact into a file path
Source§impl Drop for DylibArtifact
impl Drop for DylibArtifact
Source§impl MemoryUsage for DylibArtifact
impl MemoryUsage for DylibArtifact
Source§fn size_of_val(&self, visited: &mut dyn MemoryUsageTracker) -> usize
fn size_of_val(&self, visited: &mut dyn MemoryUsageTracker) -> usize
Returns the size of the referenced value in bytes. Read more
Auto Trait Implementations§
impl !Freeze for DylibArtifact
impl RefUnwindSafe for DylibArtifact
impl Send for DylibArtifact
impl Sync for DylibArtifact
impl Unpin for DylibArtifact
impl UnwindSafe for DylibArtifact
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Upcastable for T
impl<T> Upcastable for T
Source§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
Source§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref