Get the latest tech news
Runtime code generation and execution in Go
Part 1 of the introduction to the weird world of runtime code generation and execution in Go
wazero is an extremely unique and rare piece of production software out there in the Go ecosystem in the sense that it generates semantically equivalent x86-64 and AArch64 machine code from WebAssembly bytecode at runtime, and then provides the API to execute and interact with it with zero dependency, hence without CGo. I intentionally stick to use the phrase “runtime code generation and execution” instead of the simple “JIT” (Just-In-Time) or “AOT” (Ahead-Of-Time) compilation, where the latter two are more common terms in general. In other words, I didn’t explain how to perform function calls just like any normal Go program does as well as how to return the results from the JITed code to the caller in the Go world.
Or read this on Hacker News