Core interpreter execution and state for MoonBit's native and linear-memorywasm targets. Import Milky2018/wasmoon_runtime/runtime andMilky2018/wasmoon_runtime/executor for portable embedding.
Native JIT assembly depends on this module. The interpreter does not depend onthe wasmoon_jit compiler module. Shared instruction semantics use target-selectedstorage and ownership implementations. Existing native public imports remaincompatibility facades.
See the repository's portable interpreter guidefor the executable example, required moonrun host imports, explicit wasm rootand reservation cleanup, capabilities, capacity limits and validation commands.Use matching versions for the runtime, JIT and compiler modules. See the0.18.0 migration notesfor the current release candidate and compatibility changes.
Typed and bulk accesses share the checked 64-bit byte-offset APIs inruntime/memory_access.mbt, such as load_i32_at, store_i32_at, copy_at,and fill_at. Use memory.offset32(address) when adapting a 32-bit address:it widens memory32 addresses as unsigned and memory64 addresses as signed.The duplicate 32-bit checked accessors and new_guarded_memory0 have beenretired. Construct memory with Memory or Memory::from_type.
The unused native CHeap::get_base and its C bridge have been retired.Object access goes through checked heap accessors and managed object views;callers cannot obtain a backing-buffer address through this former API.