mirror of
https://github.com/extism/extism.git
synced 2026-01-09 13:57:55 -05:00
- Adds quickcheck tests for alloc/free/load/store from the kernel, I wasn't able to include these in the new wasm-bindgen tests because `getrandom` isn't available on wasm32-unknown-unknown - Fixes a bug in the calculation of how much memory is needed to allocate the next block in the kernel. This bug is triggered when allocating at the end of a page, the size of the MemoryBlock value wasn't being taken in consideration when determining whether or not to call memory.grow
Extism kernel
The Extism kernel implements core parts of the Extism runtime in Rust compiled to WebAssembly. This code is a conceptual re-write of memory.rs with the goal of making core parts of the Extism implementation more portable across WebAssembly runtimes.
See lib.rs for more details about the implementation itself.
Building
Because this crate is built using the wasm32-unknown-unknown target, it is a separate build process from the extism-runtime crate.
To build extism-runtime.wasm, strip it and copy it to the proper location in the extism-runtime tree you can run:
$ sh build.sh