Both Wasmtime and Lucet can AOT compile Wasm, for what it's worth.
It can also embed the compiled code into the WebAssembly module, so that the same module can directly run the precompiled code (when using WAVM) or be executed as a standard module by another runtime.
[1] https://hacks.mozilla.org/2019/11/announcing-the-bytecode-al...