Struct wasmer_vm::ModuleInfo [−][src]
pub struct ModuleInfo {}Show fields
pub id: ModuleId, pub name: Option<String>, pub imports: IndexMap<(String, String, u32), ImportIndex>, pub exports: IndexMap<String, ExportIndex>, pub start_function: Option<FunctionIndex>, pub table_initializers: Vec<TableInitializer>, pub passive_elements: HashMap<ElemIndex, Box<[FunctionIndex]>>, pub passive_data: HashMap<DataIndex, Arc<[u8]>>, pub global_initializers: PrimaryMap<LocalGlobalIndex, GlobalInit>, pub function_names: HashMap<FunctionIndex, String>, pub signatures: PrimaryMap<SignatureIndex, FunctionType>, pub functions: PrimaryMap<FunctionIndex, SignatureIndex>, pub tables: PrimaryMap<TableIndex, TableType>, pub memories: PrimaryMap<MemoryIndex, MemoryType>, pub globals: PrimaryMap<GlobalIndex, GlobalType>, pub custom_sections: IndexMap<String, CustomSectionIndex>, pub custom_sections_data: PrimaryMap<CustomSectionIndex, Arc<[u8]>>, pub num_imported_functions: usize, pub num_imported_tables: usize, pub num_imported_memories: usize, pub num_imported_globals: usize,
Expand description
A translated WebAssembly module, excluding the function bodies and memory initializers.
Fields
id: ModuleId
A unique identifier (within this process) for this module.
We skip serialization/deserialization of this field, as it should be computed by the process. It’s not skipped in rkyv, but that is okay, because even though it’s skipped in bincode/serde it’s still deserialized back as a garbage number, and later override from computed by the process
name: Option<String>
The name of this wasm module, often found in the wasm file.
imports: IndexMap<(String, String, u32), ImportIndex>
Imported entities with the (module, field, index_of_the_import)
Keeping the index_of_the_import
is important, as there can be
two same references to the same import, and we don’t want to confuse
them.
exports: IndexMap<String, ExportIndex>
Exported entities.
start_function: Option<FunctionIndex>
The module “start” function, if present.
table_initializers: Vec<TableInitializer>
WebAssembly table initializers.
passive_elements: HashMap<ElemIndex, Box<[FunctionIndex]>>
WebAssembly passive elements.
passive_data: HashMap<DataIndex, Arc<[u8]>>
WebAssembly passive data segments.
global_initializers: PrimaryMap<LocalGlobalIndex, GlobalInit>
WebAssembly global initializers.
function_names: HashMap<FunctionIndex, String>
WebAssembly function names.
signatures: PrimaryMap<SignatureIndex, FunctionType>
WebAssembly function signatures.
functions: PrimaryMap<FunctionIndex, SignatureIndex>
WebAssembly functions (imported and local).
tables: PrimaryMap<TableIndex, TableType>
WebAssembly tables (imported and local).
memories: PrimaryMap<MemoryIndex, MemoryType>
WebAssembly linear memories (imported and local).
globals: PrimaryMap<GlobalIndex, GlobalType>
WebAssembly global variables (imported and local).
custom_sections: IndexMap<String, CustomSectionIndex>
Custom sections in the module.
custom_sections_data: PrimaryMap<CustomSectionIndex, Arc<[u8]>>
The data for each CustomSection in the module.
num_imported_functions: usize
Number of imported functions in the module.
num_imported_tables: usize
Number of imported tables in the module.
num_imported_memories: usize
Number of imported memories in the module.
num_imported_globals: usize
Number of imported globals in the module.
Implementations
Get the given passive element, if it exists.
Get the exported signatures of the module
pub fn exports<'a>(
&'a self
) -> ExportsIterator<impl Iterator<Item = ExportType> + 'a>ⓘNotable traits for ExportsIterator<I>
impl<I: Iterator<Item = ExportType> + Sized> Iterator for ExportsIterator<I> type Item = ExportType;
[src]
pub fn exports<'a>(
&'a self
) -> ExportsIterator<impl Iterator<Item = ExportType> + 'a>ⓘNotable traits for ExportsIterator<I>
impl<I: Iterator<Item = ExportType> + Sized> Iterator for ExportsIterator<I> type Item = ExportType;
[src]Get the export types of the module
pub fn imports<'a>(
&'a self
) -> ImportsIterator<impl Iterator<Item = ImportType> + 'a>ⓘNotable traits for ImportsIterator<I>
impl<I: Iterator<Item = ImportType> + Sized> Iterator for ImportsIterator<I> type Item = ImportType;
[src]
pub fn imports<'a>(
&'a self
) -> ImportsIterator<impl Iterator<Item = ImportType> + 'a>ⓘNotable traits for ImportsIterator<I>
impl<I: Iterator<Item = ImportType> + Sized> Iterator for ImportsIterator<I> type Item = ImportType;
[src]Get the export types of the module
Get the custom sections of the module given a name
.
Convert a LocalFunctionIndex
into a FunctionIndex
.
Convert a FunctionIndex
into a LocalFunctionIndex
. Returns None if the
index is an imported function.
Test whether the given function index is for an imported function.
Convert a LocalTableIndex
into a TableIndex
.
Convert a TableIndex
into a LocalTableIndex
. Returns None if the
index is an imported table.
Test whether the given table index is for an imported table.
Convert a LocalMemoryIndex
into a MemoryIndex
.
Convert a MemoryIndex
into a LocalMemoryIndex
. Returns None if the
index is an imported memory.
Test whether the given memory index is for an imported memory.
Convert a LocalGlobalIndex
into a GlobalIndex
.
Convert a GlobalIndex
into a LocalGlobalIndex
. Returns None if the
index is an imported global.
Test whether the given global index is for an imported global.
Get the imported function types of the module.
Trait Implementations
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
Returns the size of the referenced value in bytes. Read more
Auto Trait Implementations
impl RefUnwindSafe for ModuleInfo
impl Send for ModuleInfo
impl Sync for ModuleInfo
impl Unpin for ModuleInfo
impl UnwindSafe for ModuleInfo
Blanket Implementations
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
pub fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
pub fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.