pub struct ArtifactBuild { /* private fields */ }core or std only.Expand description
A compiled wasm module, ready to be instantiated.
Implementations§
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>
Available on crate feature compiler only.
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>
compiler only.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 UnsafeUnpin for ArtifactBuild
impl UnwindSafe for ArtifactBuild
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.Source§impl<T> Pointable for T
impl<T> Pointable for T
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)
core or std only.Source§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
core or std only.