Files
wasmtime/crates/wiggle/generate
Andrew Brown df1d679d2f wiggle: allow wiggle to use shared memory (#5054)
`wiggle` looks for an exported `Memory` named `"memory"` to use for its
guest slices. This change allows it to use a `SharedMemory` if this is
the kind of memory used for the export.

It is `unsafe` to use shared memory in Wiggle because of broken Rust
guarantees: previously, Wiggle could hand out slices to WebAssembly
linear memory that could be concurrently modified by some other thread.
With the introduction of Wiggle's new `UnsafeGuestSlice` (#5225, #5229,
 #5264), Wiggle should now correctly communicate its guarantees through
its API.
2022-11-15 19:04:42 +00:00
..

wiggle-generate

This is a library crate that implements all of the component parts of the wiggle proc-macro crate.

Code lives in a separate non-proc-macro crate so that it can be reused in other settings, e.g. the lucet-wiggle crate.

Code generated by this crate should not have any references to a particular WebAssembly runtime or engine. It should instead expose traits that may be implemented by an engine. Today, it is consumed by both Lucet and Wasmtime.