Crate sc_executor_wasmtime

Source
Expand description

Defines a WasmRuntime that uses the Wasmtime JIT to execute.

You can choose a profiling strategy at runtime with environment variable WASMTIME_PROFILING_STRATEGY:

WASMTIME_PROFILING_STRATEGYEffect
undefinedNo profiling
"jitdump"jitdump profiling
other valueNo profiling (warning)

Structs§

Config
DeterministicStackLimit
Knobs for deterministic stack height limiting.
RuntimeBlob
A program blob containing a Substrate runtime.
Semantics
WasmtimeRuntime
A WasmModule implementation using wasmtime to compile the runtime module to machine code and execute the compiled code.

Enums§

HeapAllocStrategy
Defines the heap pages allocation strategy the wasm runtime should use.
InstantiationStrategy
The instantiation strategy to use for the WASM executor.

Traits§

WasmModule
A trait that defines an abstract WASM runtime module.

Functions§

create_runtime
Create a new WasmtimeRuntime given the code. This function performs translation from Wasm to machine code, which can be computationally heavy.
create_runtime_from_artifact
The same as create_runtime but takes a path to a precompiled artifact, which makes this function considerably faster than create_runtime.
create_runtime_from_artifact_bytes
The same as create_runtime but takes the bytes of a precompiled artifact, which makes this function considerably faster than create_runtime, but slower than the more optimized create_runtime_from_artifact. This is especially slow on non-Linux Unix systems. Useful in very niche cases.
prepare_runtime_artifact
Takes a RuntimeBlob and precompiles it returning the serialized result of compilation. It can then be used for calling create_runtime avoiding long compilation times.