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
sourceimpl Archive for UniversalExecutable where
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 UniversalExecutable where
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,
sourceimpl<__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>,
sourcefn deserialize(
&self,
deserializer: &mut __D
) -> Result<UniversalExecutable, __D::Error>
fn deserialize(
&self,
deserializer: &mut __D
) -> Result<UniversalExecutable, __D::Error>
Deserializes using the given deserializer
sourceimpl Executable for UniversalExecutable
impl Executable for UniversalExecutable
sourcefn 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
sourcefn cpu_features(&self) -> EnumSet<CpuFeature>
fn cpu_features(&self) -> EnumSet<CpuFeature>
The CPU features this Executable
requires.
sourcefn 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
sourcefn 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
sourceimpl<__S: Fallible + ?Sized> Serialize<__S> for UniversalExecutable where
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 UniversalExecutable where
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 RefUnwindSafe for UniversalExecutable
impl Send for UniversalExecutable
impl Sync for UniversalExecutable
impl Unpin for UniversalExecutable
impl UnwindSafe for UniversalExecutable
Blanket Implementations
sourceimpl<T> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
sourcefn 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.
sourceimpl<T> ArchiveUnsized for T where
T: Archive,
impl<T> ArchiveUnsized for T where
T: Archive,
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 more
type MetadataResolver = ()
type MetadataResolver = ()
The resolver for the metadata of this type. Read more
sourceunsafe 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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more