Previously `Instance` was always allocated with `mmap`. This was done to future-proof `Instance` for allowing storing the memory itself inline with an `Instance` allocation, but this can actually be done with `alloc`/`dealloc` since they take an alignment. By using `malloc`/`free` we can avoid fragmentation as well as hook into standard leak tracking mechanisms.
This is the wasmtime-runtime crate, which contains wasm runtime library
support, supporting the wasm ABI used by wasmtime-environ,
wasmtime-jit, and wasmtime-obj.
This crate does not make a host vs. target distinction; it is meant to be compiled for the target.