pub struct ArtifactBuild {
serializable: SerializableModule,
}Expand description
A compiled wasm module, ready to be instantiated.
Fields§
§serializable: SerializableModuleImplementations§
Source§impl ArtifactBuild
impl ArtifactBuild
Sourcepub const MAGIC_HEADER: &'static [u8; 16] = b"wasmer-universal"
pub const MAGIC_HEADER: &'static [u8; 16] = b"wasmer-universal"
Header signature for wasmu binary
Sourcepub fn is_deserializable(bytes: &[u8]) -> bool
pub fn is_deserializable(bytes: &[u8]) -> bool
Check if the provided bytes look like a serialized ArtifactBuild.
Sourcepub fn new(
inner_engine: &mut EngineInner,
data: &[u8],
target: &Target,
memory_styles: PrimaryMap<MemoryIndex, MemoryStyle>,
table_styles: PrimaryMap<TableIndex, TableStyle>,
progress_callback: Option<&CompilationProgressCallback>,
) -> Result<Self, CompileError>
pub fn new( inner_engine: &mut EngineInner, data: &[u8], target: &Target, memory_styles: PrimaryMap<MemoryIndex, MemoryStyle>, table_styles: PrimaryMap<TableIndex, TableStyle>, progress_callback: Option<&CompilationProgressCallback>, ) -> Result<Self, CompileError>
Compile a data buffer into a ArtifactBuild, which may then be instantiated.
Sourcepub fn from_serializable(serializable: SerializableModule) -> Self
pub fn from_serializable(serializable: SerializableModule) -> Self
Create a new ArtifactBuild from a SerializableModule
Sourcepub fn get_function_bodies_ref(
&self,
) -> &PrimaryMap<LocalFunctionIndex, FunctionBody>
pub fn get_function_bodies_ref( &self, ) -> &PrimaryMap<LocalFunctionIndex, FunctionBody>
Get Functions Bodies ref
Sourcepub fn get_function_call_trampolines_ref(
&self,
) -> &PrimaryMap<SignatureIndex, FunctionBody>
pub fn get_function_call_trampolines_ref( &self, ) -> &PrimaryMap<SignatureIndex, FunctionBody>
Get Functions Call Trampolines ref
Sourcepub fn get_dynamic_function_trampolines_ref(
&self,
) -> &PrimaryMap<FunctionIndex, FunctionBody>
pub fn get_dynamic_function_trampolines_ref( &self, ) -> &PrimaryMap<FunctionIndex, FunctionBody>
Get Dynamic Functions Call Trampolines ref
Sourcepub fn get_custom_sections_ref(
&self,
) -> &PrimaryMap<SectionIndex, CustomSection>
pub fn get_custom_sections_ref( &self, ) -> &PrimaryMap<SectionIndex, CustomSection>
Get Custom Sections ref
Sourcepub fn get_function_relocations(
&self,
) -> &PrimaryMap<LocalFunctionIndex, Vec<Relocation>>
pub fn get_function_relocations( &self, ) -> &PrimaryMap<LocalFunctionIndex, Vec<Relocation>>
Get Function Relocations
Sourcepub fn get_custom_section_relocations_ref(
&self,
) -> &PrimaryMap<SectionIndex, Vec<Relocation>>
pub fn get_custom_section_relocations_ref( &self, ) -> &PrimaryMap<SectionIndex, Vec<Relocation>>
Get Function Relocations ref
Sourcepub fn get_libcall_trampolines(&self) -> SectionIndex
pub fn get_libcall_trampolines(&self) -> SectionIndex
Get LibCall Trampoline Section Index
Sourcepub fn get_libcall_trampoline_len(&self) -> usize
pub fn get_libcall_trampoline_len(&self) -> usize
Get LibCall Trampoline Length
Sourcepub fn get_unwind_info(&self) -> &UnwindInfo
pub fn get_unwind_info(&self) -> &UnwindInfo
Get a reference to the UnwindInfo.
Sourcepub fn get_got_ref(&self) -> &GOT
pub fn get_got_ref(&self) -> &GOT
Get a reference to the GOT.
Sourcepub fn get_frame_info_ref(
&self,
) -> &PrimaryMap<LocalFunctionIndex, CompiledFunctionFrameInfo>
pub fn get_frame_info_ref( &self, ) -> &PrimaryMap<LocalFunctionIndex, CompiledFunctionFrameInfo>
Get Function Relocations ref
Sourcepub fn get_function_max_stack_usage(
&self,
) -> &PrimaryMap<LocalFunctionIndex, Option<usize>>
pub fn get_function_max_stack_usage( &self, ) -> &PrimaryMap<LocalFunctionIndex, Option<usize>>
The maximum stack allocation directly connected to the function itself if tracked (does not include any potential function calls). Available only for the Singlepass compiler
Trait Implementations§
Source§impl<'a> ArtifactCreate<'a> for ArtifactBuild
impl<'a> ArtifactCreate<'a> for ArtifactBuild
Source§type OwnedDataInitializer = &'a OwnedDataInitializer
type OwnedDataInitializer = &'a OwnedDataInitializer
OwnedDataInitializer returned by the data_initializers methodSource§type OwnedDataInitializerIterator = Iter<'a, OwnedDataInitializer>
type OwnedDataInitializerIterator = Iter<'a, OwnedDataInitializer>
data_initializers methodSource§fn create_module_info(&self) -> Arc<ModuleInfo>
fn create_module_info(&self) -> Arc<ModuleInfo>
ModuleInfo for instantiationSource§fn set_module_info_name(&mut self, name: String) -> bool
fn set_module_info_name(&mut self, name: String) -> bool
ModuleInfo nameSource§fn module_info(&self) -> &ModuleInfo
fn module_info(&self) -> &ModuleInfo
ModuleInfo for instantiationSource§fn cpu_features(&self) -> EnumSet<CpuFeature>
fn cpu_features(&self) -> EnumSet<CpuFeature>
Source§fn data_initializers(&'a self) -> Self::OwnedDataInitializerIterator
fn data_initializers(&'a self) -> Self::OwnedDataInitializerIterator
VMInstance::initializeSource§fn memory_styles(&self) -> &PrimaryMap<MemoryIndex, MemoryStyle>
fn memory_styles(&self) -> &PrimaryMap<MemoryIndex, MemoryStyle>
Artifact.Source§fn table_styles(&self) -> &PrimaryMap<TableIndex, TableStyle>
fn table_styles(&self) -> &PrimaryMap<TableIndex, TableStyle>
Artifact.Auto Trait Implementations§
impl Freeze for ArtifactBuild
impl RefUnwindSafe for ArtifactBuild
impl Send for ArtifactBuild
impl Sync for ArtifactBuild
impl Unpin for ArtifactBuild
impl UnwindSafe for ArtifactBuild
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more