Crate wasmtime_environ[][src]

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

The Rust Core Library

Utilities for working with object files that operate as Wasmtime’s serialization and intermediate format for compiled modules.

Compact representation of Option<T> for types with a reserved value.

A simple event-driven library for parsing WebAssembly binary files (or streams).

Macros

Macro which provides the common implementation of a 32-bit entity reference.

Iterates through all LibCall members and all runtime exported functions.

Helper macro to iterate over all builtin functions and their signatures.

Return an Err(WasmError::Unsupported(msg)) where msg the string built by calling format! on the arguments to this macro.

Structs

Builder for the address map section of a wasmtime compilation image.

A slice mapping K -> V allocating dense entity references.

An index type for builtin functions.

Index type of a passive data segment inside the WebAssembly module.

Index type of a defined function inside the WebAssembly module.

Index type of a defined global inside the WebAssembly module.

Index type of a defined memory inside the WebAssembly module.

Index type of a defined table inside the WebAssembly module.

Index type of a passive element segment inside the WebAssembly module.

A small list of entity references allocated from a pool.

A set of K for densely indexed entity references.

A position within an original source file,

Index type of a function (imported or defined) inside the WebAssembly module.

Contains function data: byte code and its offset in the module.

Information about a function, such as trap information, address map, and stack maps.

A WebAssembly global.

Index type of a global variable (imported or defined) inside the WebAssembly module.

Type representing the size of a pointer for the current compilation host

Index type of an instance inside the WebAssembly module.

The type signature of known instances.

Specialized index for just instance types.

Single source location to generated address mapping.

Iterate over all keys in order.

Iterate over all keys in order.

Iterate over all keys in order.

A memory pool for storing lists of T.

WebAssembly linear memory.

Index type of a linear memory (imported or defined) inside the WebAssembly module.

A WebAssembly linear memory initializer.

A WebAssembly linear memory description along with our chosen style for implementing it.

A translated WebAssembly module, excluding the function bodies and memory initializers.

Object containing the standalone environment information.

Index type of a module inside the WebAssembly module.

The type signature of known modules.

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.

Specialized index for just module types.

A primary mapping K -> V allocating dense entity references.

A mapping K -> V for densely indexed entity references.

Description of compiler settings returned by CompilerBuilder::settings.

Index type of a signature (imported or defined) inside the WebAssembly module.

A sparse mapping of entity references.

A map for determining where live GC references live in a stack frame.

The offset within a function of a GC safepoint, and its associated stack map.

WebAssembly table.

Index type of a table (imported or defined) inside the WebAssembly module.

A WebAssembly table initializer.

A WebAssembly table description along with our chosen style for implementing it.

WebAssembly event.

Index type of an event inside the WebAssembly module.

Target specific type for shared signature index.

Information about a compiled trampoline which the host can call to enter wasm.

A helper structure to build the custom-encoded section of a wasmtime compilation image which encodes trap information.

Information about trap.

Tunable parameters for WebAssembly compilation.

Index type of a type inside the WebAssembly module.

All types which are recorded for the entirety of a translation.

This class computes offsets to fields within VMContext and other related structs that JIT code accesses directly.

Used to construct a VMOffsets

WebAssembly function type – equivalent of wasmparser’s FuncType.

Enums

An error while compiling WebAssembly to machine code.

An index of an entity.

A type of an item in a wasm module where an item is typically something that can be exported.

Value of a configured setting for a Compiler

Globals are initialized via the const operators or by referring to another import.

Initialization routines for creating an instance, encompassing imports, modules, instances, aliases, etc.

The type of WebAssembly linear memory initialization to use for a module.

Implemenation styles for WebAssembly linear memory.

Different types that can appear in a module.

Where module values can come from when creating a new module from a compiled artifact.

Different kinds of Setting values that can be configured in a CompilerBuilder

Implementation styles for WebAssembly tables.

A trap code describing the reason for a trap.

A WebAssembly translation error.

WebAssembly value type – equivalent of wasmparser’s Type.

Constants

A custom Wasmtime-specific section of our compilation image which stores mapping data from offsets in the image to offset in the original wasm binary.

A custom binary-encoded section of wasmtime compilation artifacts which encodes the ability to map an offset in the text section to the trap code that it corresponds to.

Sentinel value indicating that wasm has been interrupted.

Version number of this crate.

The number of pages (for 32-bit modules) we can have before we run out of byte index space.

The number of pages (for 64-bit modules) we can have before we run out of byte index space.

WebAssembly page sizes are defined to be 64KiB.

Traits

An implementation of a compiler which can compile WebAssembly functions to machine code and perform other miscellaneous tasks needed by the JIT runtime.

Abstract trait representing the ability to create a Compiler below.

A type wrapping a small integer index should implement EntityRef so it can be used as the key of an SecondaryMap or SparseMap.

Trait used for the ptr representation of the field of VMOffsets

Trait for extracting keys from values stored in a SparseMap.

Functions

Lookup an offset within an encoded address map section, returning the original FilePos that corresponds to the offset, if found.

Decodes the provided trap information section and attempts to find the trap code corresponding to the offset specified.

Type Definitions

A sparse set of entity references.

A convenient alias for a Result that uses WasmError as the error type.