3 ms·
All of those advantages are true, except for performance. We actually don't know which approach will be faster to compile, nor which approach will emit faster c
by azakai 11y ago
All of those advantages are true, except for performance. We actually don't know which approach will be faster to compile, nor which approach will emit faster code. There are reasons to guess either way.
The new backend being begun here is something of an experiment, as LLVM shared backend infrastructure was just not designed for this kind of thing (emitting a high-level AST IR without physical registers, etc.). There are still significant open questions regarding which parts to use there. It will be interesting to see how this develops.
Regardless, a new backend makes sense for the other advantages you mentioned, especially that wasm will grow and add features, and a new wasm backend is the best place for that.
- vmorgulis 11y agoWill you continue with C++ (especially for tools outside LLVM)? Do you plan to use something else (like Rust)?
- cpeterso 11y agoWhat's the relationship between WebAssembly and Emscripten's Emterpreter? https://blog.mozilla.org/research/2015/02/23/the-emterpreter-run-code-before-it-can-be-parsed/ https://blog.mozilla.org/research/2015/02/23/the-emterpreter...
- TazeTSchnitzel 11y agoEmterpreter is just a binary encoding of asm.js to improve startup times. It's a bit of a hack. WebAssembly is a whole new language.