pub struct UniversalExecutable { /* private fields */ }Expand description
A wasm module compiled to some shape, ready to be loaded with UniversalEngine to produce an
UniversalArtifact.
This is the result obtained after validating and compiling a WASM module with any of the
supported compilers. This type falls in-between a module and Artifact.
Trait Implementations§
Source§impl Archive for UniversalExecutablewhere
PrimaryMap<LocalFunctionIndex, FunctionBody>: Archive,
PrimaryMap<LocalFunctionIndex, Vec<Relocation>>: Archive,
PrimaryMap<LocalFunctionIndex, JumpTableOffsets>: Archive,
PrimaryMap<LocalFunctionIndex, CompiledFunctionFrameInfo>: Archive,
PrimaryMap<SignatureIndex, FunctionBody>: Archive,
PrimaryMap<FunctionIndex, FunctionBody>: Archive,
PrimaryMap<SectionIndex, CustomSection>: Archive,
PrimaryMap<SectionIndex, Vec<Relocation>>: Archive,
Option<Dwarf>: Archive,
Option<TrampolinesSection>: Archive,
CompileModuleInfo: Archive,
Vec<OwnedDataInitializer>: Archive,
u64: Archive,
impl Archive for UniversalExecutablewhere
PrimaryMap<LocalFunctionIndex, FunctionBody>: Archive,
PrimaryMap<LocalFunctionIndex, Vec<Relocation>>: Archive,
PrimaryMap<LocalFunctionIndex, JumpTableOffsets>: Archive,
PrimaryMap<LocalFunctionIndex, CompiledFunctionFrameInfo>: Archive,
PrimaryMap<SignatureIndex, FunctionBody>: Archive,
PrimaryMap<FunctionIndex, FunctionBody>: Archive,
PrimaryMap<SectionIndex, CustomSection>: Archive,
PrimaryMap<SectionIndex, Vec<Relocation>>: Archive,
Option<Dwarf>: Archive,
Option<TrampolinesSection>: Archive,
CompileModuleInfo: Archive,
Vec<OwnedDataInitializer>: Archive,
u64: Archive,
Source§impl<__D: Fallible + ?Sized> Deserialize<UniversalExecutable, __D> for Archived<UniversalExecutable>where
PrimaryMap<LocalFunctionIndex, FunctionBody>: Archive,
Archived<PrimaryMap<LocalFunctionIndex, FunctionBody>>: Deserialize<PrimaryMap<LocalFunctionIndex, FunctionBody>, __D>,
PrimaryMap<LocalFunctionIndex, Vec<Relocation>>: Archive,
Archived<PrimaryMap<LocalFunctionIndex, Vec<Relocation>>>: Deserialize<PrimaryMap<LocalFunctionIndex, Vec<Relocation>>, __D>,
PrimaryMap<LocalFunctionIndex, JumpTableOffsets>: Archive,
Archived<PrimaryMap<LocalFunctionIndex, JumpTableOffsets>>: Deserialize<PrimaryMap<LocalFunctionIndex, JumpTableOffsets>, __D>,
PrimaryMap<LocalFunctionIndex, CompiledFunctionFrameInfo>: Archive,
Archived<PrimaryMap<LocalFunctionIndex, CompiledFunctionFrameInfo>>: Deserialize<PrimaryMap<LocalFunctionIndex, CompiledFunctionFrameInfo>, __D>,
PrimaryMap<SignatureIndex, FunctionBody>: Archive,
Archived<PrimaryMap<SignatureIndex, FunctionBody>>: Deserialize<PrimaryMap<SignatureIndex, FunctionBody>, __D>,
PrimaryMap<FunctionIndex, FunctionBody>: Archive,
Archived<PrimaryMap<FunctionIndex, FunctionBody>>: Deserialize<PrimaryMap<FunctionIndex, FunctionBody>, __D>,
PrimaryMap<SectionIndex, CustomSection>: Archive,
Archived<PrimaryMap<SectionIndex, CustomSection>>: Deserialize<PrimaryMap<SectionIndex, CustomSection>, __D>,
PrimaryMap<SectionIndex, Vec<Relocation>>: Archive,
Archived<PrimaryMap<SectionIndex, Vec<Relocation>>>: Deserialize<PrimaryMap<SectionIndex, Vec<Relocation>>, __D>,
Option<Dwarf>: Archive,
Archived<Option<Dwarf>>: Deserialize<Option<Dwarf>, __D>,
Option<TrampolinesSection>: Archive,
Archived<Option<TrampolinesSection>>: Deserialize<Option<TrampolinesSection>, __D>,
CompileModuleInfo: Archive,
Archived<CompileModuleInfo>: Deserialize<CompileModuleInfo, __D>,
Vec<OwnedDataInitializer>: Archive,
Archived<Vec<OwnedDataInitializer>>: Deserialize<Vec<OwnedDataInitializer>, __D>,
u64: Archive,
Archived<u64>: Deserialize<u64, __D>,
impl<__D: Fallible + ?Sized> Deserialize<UniversalExecutable, __D> for Archived<UniversalExecutable>where
PrimaryMap<LocalFunctionIndex, FunctionBody>: Archive,
Archived<PrimaryMap<LocalFunctionIndex, FunctionBody>>: Deserialize<PrimaryMap<LocalFunctionIndex, FunctionBody>, __D>,
PrimaryMap<LocalFunctionIndex, Vec<Relocation>>: Archive,
Archived<PrimaryMap<LocalFunctionIndex, Vec<Relocation>>>: Deserialize<PrimaryMap<LocalFunctionIndex, Vec<Relocation>>, __D>,
PrimaryMap<LocalFunctionIndex, JumpTableOffsets>: Archive,
Archived<PrimaryMap<LocalFunctionIndex, JumpTableOffsets>>: Deserialize<PrimaryMap<LocalFunctionIndex, JumpTableOffsets>, __D>,
PrimaryMap<LocalFunctionIndex, CompiledFunctionFrameInfo>: Archive,
Archived<PrimaryMap<LocalFunctionIndex, CompiledFunctionFrameInfo>>: Deserialize<PrimaryMap<LocalFunctionIndex, CompiledFunctionFrameInfo>, __D>,
PrimaryMap<SignatureIndex, FunctionBody>: Archive,
Archived<PrimaryMap<SignatureIndex, FunctionBody>>: Deserialize<PrimaryMap<SignatureIndex, FunctionBody>, __D>,
PrimaryMap<FunctionIndex, FunctionBody>: Archive,
Archived<PrimaryMap<FunctionIndex, FunctionBody>>: Deserialize<PrimaryMap<FunctionIndex, FunctionBody>, __D>,
PrimaryMap<SectionIndex, CustomSection>: Archive,
Archived<PrimaryMap<SectionIndex, CustomSection>>: Deserialize<PrimaryMap<SectionIndex, CustomSection>, __D>,
PrimaryMap<SectionIndex, Vec<Relocation>>: Archive,
Archived<PrimaryMap<SectionIndex, Vec<Relocation>>>: Deserialize<PrimaryMap<SectionIndex, Vec<Relocation>>, __D>,
Option<Dwarf>: Archive,
Archived<Option<Dwarf>>: Deserialize<Option<Dwarf>, __D>,
Option<TrampolinesSection>: Archive,
Archived<Option<TrampolinesSection>>: Deserialize<Option<TrampolinesSection>, __D>,
CompileModuleInfo: Archive,
Archived<CompileModuleInfo>: Deserialize<CompileModuleInfo, __D>,
Vec<OwnedDataInitializer>: Archive,
Archived<Vec<OwnedDataInitializer>>: Deserialize<Vec<OwnedDataInitializer>, __D>,
u64: Archive,
Archived<u64>: Deserialize<u64, __D>,
Source§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<UniversalExecutable, __D::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<UniversalExecutable, __D::Error>
Deserializes using the given deserializer
Source§impl Executable for UniversalExecutable
impl Executable for UniversalExecutable
Source§fn load(
&self,
engine: &(dyn Engine + 'static),
) -> Result<Arc<dyn Artifact>, CompileError>
fn load( &self, engine: &(dyn Engine + 'static), ) -> Result<Arc<dyn Artifact>, CompileError>
Load this executable with the specified engine. Read more
Source§fn cpu_features(&self) -> EnumSet<CpuFeature>
fn cpu_features(&self) -> EnumSet<CpuFeature>
The CPU features this
Executable requires.Source§fn serialize(&self) -> Result<Vec<u8>, Box<dyn Error + Send + Sync + 'static>>
fn serialize(&self) -> Result<Vec<u8>, Box<dyn Error + Send + Sync + 'static>>
Serializes the artifact into bytes
Source§fn function_name(&self, index: FunctionIndex) -> Option<&str>
fn function_name(&self, index: FunctionIndex) -> Option<&str>
Obtain a best effort description for the function at the given function index. Read more
Source§impl<__S: Fallible + ?Sized> Serialize<__S> for UniversalExecutablewhere
PrimaryMap<LocalFunctionIndex, FunctionBody>: Serialize<__S>,
PrimaryMap<LocalFunctionIndex, Vec<Relocation>>: Serialize<__S>,
PrimaryMap<LocalFunctionIndex, JumpTableOffsets>: Serialize<__S>,
PrimaryMap<LocalFunctionIndex, CompiledFunctionFrameInfo>: Serialize<__S>,
PrimaryMap<SignatureIndex, FunctionBody>: Serialize<__S>,
PrimaryMap<FunctionIndex, FunctionBody>: Serialize<__S>,
PrimaryMap<SectionIndex, CustomSection>: Serialize<__S>,
PrimaryMap<SectionIndex, Vec<Relocation>>: Serialize<__S>,
Option<Dwarf>: Serialize<__S>,
Option<TrampolinesSection>: Serialize<__S>,
CompileModuleInfo: Serialize<__S>,
Vec<OwnedDataInitializer>: Serialize<__S>,
u64: Serialize<__S>,
impl<__S: Fallible + ?Sized> Serialize<__S> for UniversalExecutablewhere
PrimaryMap<LocalFunctionIndex, FunctionBody>: Serialize<__S>,
PrimaryMap<LocalFunctionIndex, Vec<Relocation>>: Serialize<__S>,
PrimaryMap<LocalFunctionIndex, JumpTableOffsets>: Serialize<__S>,
PrimaryMap<LocalFunctionIndex, CompiledFunctionFrameInfo>: Serialize<__S>,
PrimaryMap<SignatureIndex, FunctionBody>: Serialize<__S>,
PrimaryMap<FunctionIndex, FunctionBody>: Serialize<__S>,
PrimaryMap<SectionIndex, CustomSection>: Serialize<__S>,
PrimaryMap<SectionIndex, Vec<Relocation>>: Serialize<__S>,
Option<Dwarf>: Serialize<__S>,
Option<TrampolinesSection>: Serialize<__S>,
CompileModuleInfo: Serialize<__S>,
Vec<OwnedDataInitializer>: Serialize<__S>,
u64: Serialize<__S>,
Auto Trait Implementations§
impl Freeze for UniversalExecutable
impl RefUnwindSafe for UniversalExecutable
impl Send for UniversalExecutable
impl Sync for UniversalExecutable
impl Unpin for UniversalExecutable
impl UnsafeUnpin for UniversalExecutable
impl UnwindSafe for UniversalExecutable
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> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
Source§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike
Archive, it may be unsized. Read moreSource§type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
Source§unsafe fn resolve_metadata(
&self,
_: usize,
_: <T as ArchiveUnsized>::MetadataResolver,
_: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata,
)
unsafe fn resolve_metadata( &self, _: usize, _: <T as ArchiveUnsized>::MetadataResolver, _: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata, )
Creates the archived version of the metadata for this value at the given position and writes
it to the given output. Read more
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