Files
extism/kernel
zach a5edf58747 fix(kernel): improve performance after large allocations, add extism_plugin_reset to give users more control when dealing with large allocations (#627)
See https://github.com/extism/cpp-sdk/issues/15

- Limits a call to memset in the kernel to the size of the current
memory offset instead of the total size of memory.
- Adds `extism_plugin_reset` to the C API and `extism::Plugin::reset` to
Rust

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: zshipko <zshipko@users.noreply.github.com>
2023-12-12 13:56:34 -08:00
..
2023-10-10 16:15:18 -07:00

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