WebAssembly Troubles Part 4: Microwasm

WebAssembly Troubles Part 4: Microwasm

The precise limitations of a streaming compiler in comparison to a traditional compiler deserve an article of their own, but for now the only important thing to say is that an optimising compiler producing Microwasm directly would be able to avoid this issue. You can see that it’s much the same as our streaming compiler can produce:

The idea is that we can make changes that improve the simplicity of our codegen backend, keeping the format internal so we can see where the positives and pitfalls might lie. An LLVM Microwasm backend would be relatively simple to implement – where it differs from WebAssembly it’s simpler and where it’s similar to WebAssembly we can just reuse code from that backend.

Source: troubles.md