Crate wasmer_runtime_core_x
source ·Expand description
Wasmer Runtime Core Library
This crate provides common data structures which are shared by compiler backends to implement a WebAssembly runtime.
This crate also provides an API for users who use wasmer as an embedded wasm runtime which allows operations like compiling, instantiating, providing imports, access exports, memories, and tables for example.
Most wasmer users should prefer the API which is re-exported by the wasmer-runtime
library by default. This crate provides additional APIs which may be useful to users
that wish to customize the wasmer runtime.
Re-exports§
pub use trampoline_x64 as trampoline;
pub use wasmparser;
Modules§
- The cache module provides the common data structures used by compiler backends to allow serializing compiled wasm code to a binary format. The binary format can be persisted, and loaded to allow skipping compilation and fast startup.
- The codegen module provides common functions and data structures used by multiple backends during the code generation process.
- The error module contains the data structures and helper functions used to implement errors that are produced and returned from the wasmer runtime core.
- This module contains types to manipulate and access a Wasm module’s exports including memories, tables, globals, and functions.
- The fault module contains the implementation for handling breakpoints, traps, and signals for wasm code.
- The global module contains data structures and helper functions used to manipulate and access Wasm globals.
- The import module contains the implementation data structures and helper functions used to manipulate and access a wasm module’s imports including memories, tables, globals, and functions.
- This module contains types for manipulating and accessing Wasm instances.
- The loader module functions are used to load an instance.
- The memory module contains the implementation data structures and helper functions used to manipulate and access wasm memory.
- This module contains the types to manipulate and access Wasm modules.
- The parse module contains common data structures and functions using to parse wasm files into runtime data structures.
- The prelude module is a helper module used to bring commonly used runtime core imports into scope.
- The state module is used to track state of a running web assembly instances so that state could read or updated at runtime. Use cases include generating stack traces, switching generated code from one tier to another, or serializing state of a running instace.
- The structures module contains commonly used data structures.
- The runtime table module contains data structures and functions used to create and update wasm tables.
- Trampoline generator for carrying context with function pointer.
- The typed func module implements a way of representing a wasm function with the correct types from rust. Function calls using a typed func have a low overhead.
- The runtime types modules represent type used within the wasm runtime and helper functions to convert to other represenations.
- This module provides common WebAssembly units like
Pages
and conversion functions into other units. - The runtime vm module contains data structures and helper functions used during runtime to execute wasm instance functions.
Macros§
- Helper macro to create a new
Func
object using the provided function pointer. - Generate an
ImportObject
safely.
Structs§
- A representation of an exported WebAssembly function.
- Represents a function that can be used by WebAssembly.
- An instantiated WebAssembly module.
- A compiled WebAssembly module.
Constants§
- The current version of this crate
Traits§
- A trait that represents
Export
values.
Functions§
- Compile a
Module
using the provided compiler from WebAssembly binary code. This function is useful if it is necessary to a compile a module before it can be instantiated and must be used if you wish to use a different backend from the default. - The same as
compile_with
but changes the compiler behavior with the values in theCompilerConfig
- Creates a new module from the given cache
Artifact
for the specified compiler backend - Perform validation as defined by the WebAssembly specification. Returns
true
if validation succeeded,false
if validation failed. - The same as
validate
but with an Error message on failure - The same as
validate_and_report_errors
but with a Features.
Type Aliases§
- Aliases the standard
Result
type asResult
within this module.