Expand description
Standalone environment for WebAssembly using Cranelift. Provides functions to translate
get_global, set_global, memory.size, memory.grow, call_indirect that hardcode in
the translation the base addresses of regions of memory that will hold the globals, tables and
linear memories.
Re-exports§
pub use object;
Modules§
- __core
- The Rust Core Library
- obj
- Utilities for working with object files that operate as Wasmtime’s serialization and intermediate format for compiled modules.
- packed_
option - Compact representation of
Option<T>for types with a reserved value. - wasmparser
- A simple event-driven library for parsing WebAssembly binary files (or streams).
Macros§
- entity_
impl - Macro which provides the common implementation of a 32-bit entity reference.
- foreach_
builtin_ function - Helper macro to iterate over all builtin functions and their signatures.
- wasm_
unsupported - Return an
Err(WasmError::Unsupported(msg))wheremsgthe string built by callingformat!on the arguments to this macro.
Structs§
- Address
MapSection - Builder for the address map section of a wasmtime compilation image.
- Anyfunc
Index - Index into the anyfunc table within a VMContext for a function.
- Boxed
Slice - A slice mapping
K -> Vallocating dense entity references. - Builtin
Function Index - An index type for builtin functions.
- Data
Index - Index type of a passive data segment inside the WebAssembly module.
- Debug
Info Data - Defined
Func Index - Index type of a defined function inside the WebAssembly module.
- Defined
Global Index - Index type of a defined global inside the WebAssembly module.
- Defined
Memory Index - Index type of a defined memory inside the WebAssembly module.
- Defined
Table Index - Index type of a defined table inside the WebAssembly module.
- Elem
Index - Index type of a passive element segment inside the WebAssembly module.
- Entity
List - A small list of entity references allocated from a pool.
- Entity
Set - A set of
Kfor densely indexed entity references. - FilePos
- A position within an original source file,
- Func
Index - Index type of a function (imported or defined) inside the WebAssembly module.
- Function
Body Data - Contains function data: byte code and its offset in the module.
- Function
Loc - Description of where a function is located in the text section of a compiled image.
- Function
Metadata - Function
Type - Type information about functions in a wasm module.
- Global
- A WebAssembly global.
- Global
Index - Index type of a global variable (imported or defined) inside the WebAssembly module.
- HostPtr
- Type representing the size of a pointer for the current compilation host
- Instruction
Address Map - Single source location to generated address mapping.
- Iter
- Iterate over all keys in order.
- IterMut
- Iterate over all keys in order.
- Keys
- Iterate over all keys in order.
- List
Pool - A memory pool for storing lists of
T. - Memory
- WebAssembly linear memory.
- Memory
Index - Index type of a linear memory (imported or defined) inside the WebAssembly module.
- Memory
Initializer - A WebAssembly linear memory initializer.
- Memory
Plan - A WebAssembly linear memory description along with our chosen style for implementing it.
- Module
- A translated WebAssembly module, excluding the function bodies and memory initializers.
- Module
Environment - Object containing the standalone environment information.
- Module
Translation - The result of translating via
ModuleEnvironment. Function bodies are not yet translated, and data initializers have not yet been copied out of the original buffer. - Module
Types - All types used in a core wasm module.
- Module
Types Builder - A builder for
ModuleTypes. - Name
Section - Owned
Memory Index - Index type of a defined memory inside the WebAssembly module.
- Primary
Map - A primary mapping
K -> Vallocating dense entity references. - Scope
Vec - Small data structure to help extend the lifetime of a slice to a higher scope.
- Secondary
Map - A mapping
K -> Vfor densely indexed entity references. - Setting
- Description of compiler settings returned by
CompilerBuilder::settings. - Signature
Index - Index type of a signature (imported or defined) inside the WebAssembly module.
- Sparse
Map - A sparse mapping of entity references.
- Stack
Map - A map for determining where live GC references live in a stack frame.
- Stack
MapInformation - The offset within a function of a GC safepoint, and its associated stack map.
- Static
Memory Initializer - Similar to the above
MemoryInitializerbut only used when memory initializers are statically known to be valid. - Table
- WebAssembly table.
- Table
Index - Index type of a table (imported or defined) inside the WebAssembly module.
- Table
Initializer - A WebAssembly table initializer segment.
- Table
Plan - A WebAssembly table description along with our chosen style for implementing it.
- Tag
- WebAssembly event.
- TagIndex
- Index type of an event inside the WebAssembly module.
- Trap
Encoding Builder - A helper structure to build the custom-encoded section of a wasmtime compilation image which encodes trap information.
- Trap
Information - Information about trap.
- Tunables
- Tunable parameters for WebAssembly compilation.
- Type
Index - Index type of a type inside the WebAssembly module.
- VMOffsets
- This class computes offsets to fields within
VMContextand other related structs that JIT code accesses directly. - VMOffsets
Fields - Used to construct a
VMOffsets - Wasm
File Info - Wasm
Func Type - WebAssembly function type – equivalent of
wasmparser’s FuncType. - Wasm
Function Info - Information about a function, such as trap information, address map, and stack maps.
Enums§
- Compile
Error - An error while compiling WebAssembly to machine code.
- Entity
Index - An index of an entity.
- Entity
Type - A type of an item in a wasm module where an item is typically something that can be exported.
- Flag
Value - Value of a configured setting for a
Compiler - Global
Init - Globals are initialized via the
constoperators or by referring to another import. - Init
Memory - Argument to
MemoryInitialization::init_memoryindicating the current status of the instance. - Initializer
- Initialization routines for creating an instance, encompassing imports, modules, instances, aliases, etc.
- Memory
Initialization - The type of WebAssembly linear memory initialization to use for a module.
- Memory
Style - Implementation styles for WebAssembly linear memory.
- Module
Type - Different types that can appear in a module.
- Object
Kind - Types of objects that can be created by
Compiler::object - Setting
Kind - Different kinds of
Settingvalues that can be configured in aCompilerBuilder - Table
Initialization - Table initialization data for all tables in the module.
- Table
Style - Implementation styles for WebAssembly tables.
- Trap
- Wasm
Error - A WebAssembly translation error.
- Wasm
Type - WebAssembly value type – equivalent of
wasmparser’s Type.
Constants§
- FUNCREF_
INIT_ BIT - An “initialized bit” in a funcref table.
- FUNCREF_
MASK - The mask we apply to all refs loaded from funcref tables.
- VERSION
- Version number of this crate.
- VM_
HOST_ FUNC_ MAGIC - Equivalent of
VMCONTEXT_MAGICexcept for host functions. - WASM32_
MAX_ PAGES - The number of pages (for 32-bit modules) we can have before we run out of byte index space.
- WASM64_
MAX_ PAGES - The number of pages (for 64-bit modules) we can have before we run out of byte index space.
- WASM_
PAGE_ SIZE - WebAssembly page sizes are defined to be 64KiB.
Traits§
- Cache
Store - Implementation of an incremental compilation’s key/value cache store.
- Compiler
- An implementation of a compiler which can compile WebAssembly functions to machine code and perform other miscellaneous tasks needed by the JIT runtime.
- Compiler
Builder - Abstract trait representing the ability to create a
Compilerbelow. - Entity
Ref - A type wrapping a small integer index should implement
EntityRefso it can be used as the key of anSecondaryMaporSparseMap. - PtrSize
- Trait used for the
ptrrepresentation of the field ofVMOffsets - Sparse
MapValue - Trait for extracting keys from values stored in a
SparseMap.
Functions§
- iterate_
address_ map - Iterate over the address map contained in the given address map section.
- lookup_
file_ pos - Lookup an
offsetwithin an encoded address map section, returning the originalFilePosthat corresponds to the offset, if found. - lookup_
trap_ code - Decodes the provided trap information section and attempts to find the trap
code corresponding to the
offsetspecified.
Type Aliases§
- Dwarf
- Sparse
Set - A sparse set of entity references.
- Wasm
Result - A convenient alias for a
Resultthat usesWasmErroras the error type.