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 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