A lightweight call stack used by the interpreter to track return addresses.
It stores instruction pointers for active calls and allows fast push/pop without heap churn.
The capacity grows on demand but is typically small due to Wasm’s structured control flow.
Controls how a Wasm module is lowered into rwasm bytecode.
Options affect entry routing, import linking, fuel metering, and validation relaxations for tests.
Optional binary blob passed to the module constructor via a custom section.
When present, it is extracted from the “input” custom section and delivered to the host.
Opaque reference to a function within the module’s function index space.
A zero value is reserved for the null reference, mirroring Wasm’s funcref null semantics.
Shared linear memory backing store for a running module.
Tracks current size in Wasm pages and provides bounds-checked read/write helpers.
The buffer is pre-reserved and grown in page-sized steps.
Describes a module’s global (type and initial value) as seen at compile time.
The value can be materialized into a runtime Value when the type permits.
Compact, linear sequence of rwasm opcodes produced by the compiler.
Acts as the executable bytecode for the interpreter and supports simple editing during lowering.
The layout is stable and indexable to allow cheap jumps and metadata lookups.
Single-pass Wasm front-end that validates, translates, and assembles rwasm bytecode.
It streams the Wasm module with wasmparser, builds the instruction set and sections,
and applies configuration (entry routing, snippets) before finalizing the module.
The RwasmExecutor struct is a foundational component for executing WebAssembly modules
in the rwasm runtime environment. It acts as the primary execution object, coordinating
the state and execution flow of a WebAssembly module.
Host-side store that holds memory, tables, globals and host context for an rwasm instance.
It also tracks fuel for metering and provides access to imported functions and syscalls.
The store is passed to host callbacks and persists across invocations of the same module.
Configuration for dispatching to different entry functions based on a runtime state value.
The router maps state tags to function indices and optionally provides an opcode to compute the tag.
A default memory index in a Wasm binary.
According to Wasm validation rules, this value is always 0,
since Wasm doesn’t support multiple memory segments yet