Apparently on macOS `setjmp` manipulates the process-wide signal mask which adds a good deal of overhead. We don't actually need this functionality so this commit switches to using the `sig` version of setjmp/longjmp where we can explicitly ask the signal mask to not get preserved. This came out of poking around on #2644 and on macOS locally thi sdropped the overhead from 721ns to 55ns.
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.
Most users will want to use the main wasmtime crate instead of using this
crate directly.