Crate wasmer_types
source · [−]Expand description
This are the common types and utility tools for using WebAssembly in a Rust environment.
This crate provides common structures such as Type
or Value
, type indexes
and native function wrappers with Func
.
Re-exports
pub use crate::compilation::target::CpuFeature;
pub use crate::compilation::target::Target;
pub use error::CompileError;
pub use error::DeserializeError;
pub use error::ImportError;
pub use error::MiddlewareError;
pub use error::ParseCpuFeatureError;
pub use error::PreInstantiationError;
pub use error::SerializeError;
pub use error::WasmError;
pub use error::WasmResult;
pub use crate::compilation::relocation::Relocation;
pub use crate::compilation::relocation::RelocationKind;
pub use crate::compilation::relocation::RelocationTarget;
pub use crate::compilation::relocation::Relocations;
pub use crate::compilation::section::CustomSection;
pub use crate::compilation::section::CustomSectionProtection;
pub use crate::compilation::section::SectionBody;
pub use crate::compilation::section::SectionIndex;
pub use crate::compilation::address_map::FunctionAddressMap;
pub use crate::compilation::address_map::InstructionAddressMap;
pub use crate::compilation::function::Compilation;
pub use crate::compilation::function::CompiledFunction;
pub use crate::compilation::function::CompiledFunctionFrameInfo;
pub use crate::compilation::function::CustomSections;
pub use crate::compilation::function::Dwarf;
pub use crate::compilation::function::FunctionBody;
pub use crate::compilation::function::Functions;
pub use crate::compilation::module::CompileModuleInfo;
pub use crate::compilation::sourceloc::SourceLoc;
pub use crate::compilation::trap::TrapInformation;
pub use crate::compilation::unwind::CompiledFunctionUnwindInfo;
Modules
Types for compilation.
The entity module, with common helpers for Rust structures
The WebAssembly possible errors
The lib
module defines a std
module that is identical whether
the core
or the std
feature is enabled.
Macros
Macro which provides the common implementation of a 32-bit entity reference.
Structs
Units of WebAssembly memory in terms of 8-bit bytes.
Index type of a custom section inside a WebAssembly module.
Index type of a passive data segment inside the WebAssembly module.
A data initializer for linear memory.
A memory index and offset within that memory where a data initialization should be performed.
Index type of a passive element segment inside the WebAssembly module.
A descriptor for an exported WebAssembly value.
This iterator allows us to iterate over the exports and offer nice API ergonomics over it.
Controls which experimental features will be enabled. Features usually have a corresponding WebAssembly proposal.
Index type of a function (imported or local) inside the WebAssembly module.
The signature of a function that is either implemented in a Wasm module or exposed to Wasm by the host.
Index type of a global variable (imported or local) inside the WebAssembly module.
WebAssembly global.
A descriptor for an imported value into a wasm module.
This iterator allows us to iterate over the imports and offer nice API ergonomics over it.
Index type of a function defined locally inside the WebAssembly module.
Index type of a global defined locally inside the WebAssembly module.
Index type of a memory defined locally inside the WebAssembly module.
Index type of a table defined locally inside the WebAssembly module.
Marker trait for 32-bit memories.
Marker trait for 64-bit memories.
Index type of a linear memory (imported or local) inside the WebAssembly module.
A descriptor for a WebAssembly memory type.
Metadata header which holds an ABI version and the length of the remaining metadata.
A translated WebAssembly module, excluding the function bodies and memory initializers.
As DataInitializer
but owning the data rather than
holding a reference to it
The only error that can happen when converting Bytes
to Pages
Units of WebAssembly pages (as specified to be 65,536 bytes).
The compilation related data for a serialized modules
Serializable struct that is able to serialize from and to a ArtifactInfo
.
Index type of a signature (imported or local) inside the WebAssembly module.
Index type of a table (imported or local) inside the WebAssembly module.
A WebAssembly table initializer.
A descriptor for a table in a WebAssembly module.
Target specific type for shared signature index.
A target “triple”. Historically such things had three fields, though they’ve added additional fields over time.
The WebAssembly V128 type
An index type for builtin functions.
This class computes offsets to fields within VMContext and other related structs that JIT code accesses directly.
Enums
The “architecture” field, which in some cases also specifies a specific subarchitecture.
The “binary format” field, which is usually omitted, and the binary format is implied by the other fields.
The calling convention, which specifies things like which registers are used for passing arguments, which registers are callee-saved, and so on.
The target memory endianness.
An entity to export.
A list of all possible types which can be externally referenced from a WebAssembly module.
Globals are initialized via the const
operators or by referring to another import.
An entity to import.
The name of a runtime library routine.
Implementation styles for WebAssembly linear memory.
Indicator of whether a global is mutable or not
The “operating system” field, which sometimes implies an environment, and sometimes isn’t an actual operating system.
The width of a pointer (in the default address space).
Implementation styles for WebAssembly tables.
A trap code describing the reason for a trap.
A list of all possible value types in WebAssembly.
Constants
Version number of this crate.
The number of pages we can have before we run out of byte index space.
The minimum number of pages allowed.
WebAssembly page sizes are fixed to be 64KiB. Note: large page support may be added in an opt-in manner in the future.
Traits
Trait for the Memory32
and Memory64
marker types.
NativeWasmType
represents a Wasm type that has a direct
representation on the host (hence the “native” term).
Trait for a Value type. A Value type is a type that is always valid and may be safely copied.
Functions
Check if the provided bytes are wasm-like
Type Definitions
Addend to add to the symbol value.
Offset in bytes from the beginning of the function.
Unions
Raw representation of a WebAssembly value.