Docs.rs
  • wasmtime-environ-26.0.0
    • wasmtime-environ 26.0.0
    • Docs.rs crate page
    • Apache-2.0 WITH LLVM-exception
    • Links
    • Repository
    • crates.io
    • Source
    • Owners
    • alexcrichton
    • sunfishcode
    • github:bytecodealliance:wasmtime-publish
    • Dependencies
      • anyhow ^1.0.22 normal
      • cpp_demangle ^0.4.3 normal optional
      • cranelift-bitset ^0.113.0 normal
      • cranelift-entity ^0.113.0 normal
      • gimli ^0.31.0 normal
      • indexmap ^2.0.0 normal
      • log ^0.4.8 normal
      • object ^0.36 normal
      • postcard ^1.0.8 normal
      • rustc-demangle ^0.1.16 normal optional
      • semver ^1.0.17 normal optional
      • serde ^1.0.188 normal
      • serde_derive ^1.0.188 normal
      • smallvec ^1.6.1 normal
      • target-lexicon ^0.12.16 normal
      • wasm-encoder ^0.218.0 normal optional
      • wasmparser ^0.218.0 normal
      • wasmprinter ^0.218.0 normal optional
      • wasmtime-component-util =26.0.0 normal optional
      • clap ^4.5.17 dev
      • env_logger ^0.11.5 dev
      • wat ^1.218.0 dev
    • Versions
    • 100% of the crate is documented
  • Go to latest version
  • Platform
    • i686-pc-windows-msvc
    • i686-unknown-linux-gnu
    • x86_64-apple-darwin
    • x86_64-pc-windows-msvc
    • x86_64-unknown-linux-gnu
  • Feature flags
  • Rust
    • About docs.rs
    • Privacy policy
    • Rust website
    • The Book
    • Standard Library API Reference
    • Rust by Example
    • The Cargo Guide
    • Clippy Documentation

Crate wasmtime_environ

wasmtime_environ26.0.0

  • All Items

Crate Items

  • Re-exports
  • Modules
  • Macros
  • Structs
  • Enums
  • Constants
  • Traits
  • Functions
  • Type Aliases

Crates

  • wasmtime_environ

Crate wasmtime_environ

source
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
  • component
    Support for the component model in Wasmtime.
  • drc
    Layout of Wasm GC objects in the deferred reference-counting collector.
  • fact
    Wasmtime’s Fused Adapter Compiler of Trampolines (FACT)
  • 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.
  • prelude
    Rust module prelude for Wasmtime crates.

Macros§

  • entity_impl
    Macro which provides the common implementation of a 32-bit entity reference.
  • foreach_builtin_component_function
    Helper macro, like foreach_transcoder, to iterate over builtins for components unrelated to transcoding.
  • foreach_builtin_function
    Helper macro to iterate over all builtin functions and their signatures.
  • foreach_transcoder
    Helper macro to iterate over the transcoders that the host will provide adapter modules through libcalls.
  • wasm_unsupported
    Return an Err(WasmError::Unsupported(msg)) where msg the string built by calling format! on the arguments to this macro.

Structs§

  • AddressMapSection
    Builder for the address map section of a wasmtime compilation image.
  • BoxedSlice
    A slice mapping K -> V allocating dense entity references.
  • BuiltinFunctionIndex
    An index type for builtin functions.
  • CompiledFunctionInfo
    Secondary in-memory results of function compilation.
  • CompiledModuleInfo
    Secondary in-memory results of module compilation.
  • ConstExpr
    A constant expression.
  • DataIndex
    Index type of a passive data segment inside the WebAssembly module.
  • DebugInfoData
  • DefinedFuncIndex
    Index type of a defined function inside the WebAssembly module.
  • DefinedGlobalIndex
    Index type of a defined global inside the WebAssembly module.
  • DefinedMemoryIndex
    Index type of a defined memory inside the WebAssembly module.
  • DefinedTableIndex
    Index type of a defined table inside the WebAssembly module.
  • ElemIndex
    Index type of a passive element segment inside the WebAssembly module.
  • EngineInternedRecGroupIndex
    Index type of a canonicalized recursive type group inside the whole engine (as opposed to canonicalized within just a single Wasm module).
  • EntityList
    A small list of entity references allocated from a pool.
  • EntitySet
    A set of K for densely indexed entity references.
  • FilePos
    A position within an original source file,
  • FuncIndex
    Index type of a function (imported or defined) inside the WebAssembly module.
  • FuncRefIndex
    Index into the funcref table within a VMContext for a function.
  • FunctionBodyData
    Contains function data: byte code and its offset in the module.
  • FunctionLoc
    Description of where a function is located in the text section of a compiled image.
  • FunctionMetadata
  • FunctionName
    The name of a function stored in the ELF_NAME_DATA section.
  • FunctionType
    Type information about functions in a wasm module.
  • GcArrayLayout
    The layout of a GC-managed array.
  • GcStructLayout
    The layout for a GC-managed struct type.
  • Global
    A WebAssembly global.
  • GlobalIndex
    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
  • InstructionAddressMap
    Single source location to generated address mapping.
  • Iter
    Iterate over all keys in order.
  • IterEntityRange
    Iterator type returned by iter_entity_range.
  • IterMut
    Iterate over all keys in order.
  • Keys
    Iterate over all keys in order.
  • Limits
    The size range of resizeable storage associated with Memory types and Table types.
  • ListPool
    A memory pool for storing lists of T.
  • Memory
    WebAssembly linear memory.
  • MemoryIndex
    Index type of a linear memory (imported or defined) inside the WebAssembly module.
  • MemoryInitializer
    A WebAssembly linear memory initializer.
  • MemoryPlan
    A WebAssembly linear memory description along with our chosen style for implementing it.
  • Metadata
    Metadata associated with a compiled ELF artifact.
  • Module
    A translated WebAssembly module, excluding the function bodies and memory initializers.
  • ModuleEnvironment
    Object containing the standalone environment information.
  • ModuleInternedRecGroupIndex
    Index type of a canonicalized recursive type group inside a WebAssembly module (as opposed to canonicalized within the whole engine).
  • ModuleInternedTypeIndex
    A canonicalized type index for a type within a single WebAssembly module.
  • ModuleTranslation
    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.
  • ModuleTypes
    All types used in a core wasm module.
  • ModuleTypesBuilder
    A builder for ModuleTypes.
  • NameSection
  • ObjectBuilder
    Helper structure to create an ELF file as a compilation artifact.
  • OwnedMemoryIndex
    Index type of a defined memory inside the WebAssembly module.
  • PrimaryMap
    A primary mapping K -> V allocating dense entity references.
  • RecGroupRelativeTypeIndex
    A canonicalized type index referencing a type within a single recursion group from another type within that same recursion group.
  • ScopeVec
    Small data structure to help extend the lifetime of a slice to a higher scope.
  • SecondaryMap
    A mapping K -> V for densely indexed entity references.
  • Setting
    Description of compiler settings returned by CompilerBuilder::settings.
  • SizeOverflow
  • SparseMap
    A sparse mapping of entity references.
  • StackMap
    A map for determining where live GC references live in a stack frame.
  • StackMapInformation
    The offset within a function of a GC safepoint, and its associated stack map.
  • StaticMemoryInitializer
    Similar to the above MemoryInitializer but only used when memory initializers are statically known to be valid.
  • StaticModuleIndex
    Index into the global list of modules found within an entire component.
  • Table
    WebAssembly table.
  • TableIndex
    Index type of a table (imported or defined) inside the WebAssembly module.
  • TableInitialization
    Table initialization data for all tables in the module.
  • TablePlan
    A WebAssembly table description along with our chosen style for implementing it.
  • TableSegment
    A WebAssembly table initializer segment.
  • Tag
    WebAssembly event.
  • TagIndex
    Index type of an event inside the WebAssembly module.
  • TrapEncodingBuilder
    A helper structure to build the custom-encoded section of a wasmtime compilation image which encodes trap information.
  • TrapInformation
    Information about trap.
  • Tunables
    Tunable parameters for WebAssembly compilation.
  • TypeIndex
    Index type of a type (imported or defined) inside the WebAssembly module.
  • VMOffsets
    This class computes offsets to fields within VMContext and other related structs that JIT code accesses directly.
  • VMOffsetsFields
    Used to construct a VMOffsets
  • VMSharedTypeIndex
    A canonicalized type index into an engine’s shared type registry.
  • WasmArrayType
    A concrete array type.
  • WasmFieldType
    The type of a struct field or array element.
  • WasmFileInfo
  • WasmFuncType
    WebAssembly function type – equivalent of wasmparser’s FuncType.
  • WasmFunctionInfo
    Information about a function, such as trap information, address map, and stack maps.
  • WasmRecGroup
    A recursive type group.
  • WasmRefType
    WebAssembly reference type – equivalent of wasmparser’s RefType
  • WasmStructType
    A concrete struct type.
  • WasmSubType
    A concrete, user-defined (or host-defined) Wasm type.
  • WasmparserTypeConverter
    A convert from wasmparser types to Wasmtime types.

Enums§

  • CompileError
    An error while compiling WebAssembly to machine code.
  • ConstOp
    The subset of Wasm opcodes that are constant.
  • EngineOrModuleTypeIndex
    An interned type index, either at the module or engine level.
  • EntityIndex
    An index of an entity.
  • EntityType
    A type of an item in a wasm module where an item is typically something that can be exported.
  • FlagValue
    Value of a configured setting for a Compiler
  • GcLayout
    The layout of a GC-managed object.
  • IndexType
    The type that can be used to index into Memory and Table.
  • Initializer
    Initialization routines for creating an instance, encompassing imports, modules, instances, aliases, etc.
  • MemoryInitialization
    The type of WebAssembly linear memory initialization to use for a module.
  • MemoryStyle
    Implementation styles for WebAssembly linear memory.
  • ObjectKind
    Types of objects that can be created by Compiler::object
  • RelocationTarget
    What relocations can be applied against.
  • SettingKind
    Different kinds of Setting values that can be configured in a CompilerBuilder
  • TableInitialValue
    Initial value for all elements in a table.
  • TableSegmentElements
    Elements of a table segment, either a list of functions or list of arbitrary expressions.
  • TableStyle
    Implementation styles for WebAssembly tables.
  • Trap
  • VMGcKind
    The kind of an object in a GC heap.
  • WasmCompositeType
    A function, array, or struct type.
  • WasmError
    A WebAssembly translation error.
  • WasmHeapTopType
    A top heap type.
  • WasmHeapType
    WebAssembly heap type – equivalent of wasmparser’s HeapType
  • WasmStorageType
    Represents storage types introduced in the GC spec for array and struct fields.
  • WasmValType
    WebAssembly value type – equivalent of wasmparser::ValType.

Constants§

  • FUNCREF_INIT_BIT
    An “initialized bit” in a funcref table.
  • FUNCREF_MASK
    The mask we apply to all refs loaded from funcref tables.
  • I31_DISCRIMINANT
    Discriminant to check whether GC reference is an i31ref or not.
  • NON_NULL_NON_I31_MASK
    A mask that can be used to check for non-null and non-i31ref GC references with a single bitwise-and operation.
  • VERSION
    Version number of this crate.
  • VMCONTEXT_MAGIC
    Magic value for core Wasm VM contexts.
  • VM_ARRAY_CALL_HOST_FUNC_MAGIC
    Equivalent of VMCONTEXT_MAGIC except for array-call host functions.
  • WASM32_MAX_SIZE
    Maximum size, in bytes, of 32-bit memories (4G)

Traits§

  • CacheStore
    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.
  • CompilerBuilder
    Abstract trait representing the ability to create a Compiler below.
  • EntityRef
    A type wrapping a small integer index should implement EntityRef so it can be used as the key of an SecondaryMap or SparseMap.
  • FinishedObject
    A type which can be the result of serializing an object.
  • GcTypeLayouts
    A trait for getting the layout of a Wasm GC struct or array inside a particular collector.
  • InitMemory
    The various callbacks provided here are used to drive the smaller bits of memory initialization.
  • PtrSize
    Trait used for the ptr representation of the field of VMOffsets
  • Signed
    Helper trait used to add signed() methods to primitive unsigned integer types.
  • SparseMapValue
    Trait for extracting keys from values stored in a SparseMap.
  • TypeConvert
    Helpers used to convert a wasmparser type to a type in this crate.
  • TypeTrace
    A trait for things that can trace all type-to-type edges, aka all type indices within this thing.
  • Unsigned
    Helper trait used to add unsigned() methods to primitive signed integer types.

Functions§

  • byte_size_of_wasm_ty_in_gc_heap
    Get the byte size of the given Wasm type when it is stored inside the GC heap.
  • demangle_function_name
    Demangles a single function name into a user-readable form.
  • demangle_function_name_or_index
    Demangles a function name if it’s provided, or returns a unified representation based on the function index otherwise.
  • iter_entity_range
    Iterate over a Range<E: EntityRef>, yielding a sequence of E items.
  • iterate_address_map
    Iterate over the address map contained in the given address map section.
  • lookup_file_pos
    Lookup an offset within an encoded address map section, returning the original FilePos that 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 offset specified.

Type Aliases§

  • Dwarf
  • SparseSet
    A sparse set of entity references.
  • WasmResult
    A convenient alias for a Result that uses WasmError as the error type.

Results

Settings
Help
trait
wasmtime_environ::component::ComponentCompiler
Compilation support necessary for components.
trait method
wasmtime_environ::Compiler::component_compiler
Returns a suitable compiler usable for component-related …
trait method
wasmtime_environ::component::ComponentCompiler::compile_trampoline
Compiles the pieces necessary to create a VMFuncRef for the
trait method
wasmtime_environ::Compiler::component_compiler
Returns a suitable compiler usable for component-related …