WebAssembly Studio - an online IDE for writing wasm with C and Rust
HOWTO: WebAssembly Source Maps to C/C++ with Firefox
How to set breakpoints and step through your original source files throughout the runtime execution of your WASM binary.
Using Firefox Quantum Beta Developer Edition on Windows 10. (Doesn't work in Chome AFAICT at time of writing)
Compiled with Visual Studio 2017 Community Edition, Emscripten 1.37.0, SDL2.0.6, and ANGLE-bf90b60.
WAVM: WebAssembly Virtual Machine
This is a standalone VM for WebAssembly. It can load both the standard binary format, and the text format defined by the WebAssembly reference interpreter. For the text format, it can load both the standard stack machine syntax and the old-fashioned AST syntax used by the reference interpreter, and all of the testing commands.
Emscripten is a compiler toolchain for asm.js and WebAssembly which lets you run C and C++ on the web at near-native speed.
Emscripten output sizes have decreased a lot recently, especially for smaller programs
V8 release v6.5: Streaming compilation for WebAssembly code
he WebAssembly API provides a special function to support streaming compilation in combination with the fetch() API:
const module = await WebAssembly.compileStreaming(fetch('foo.wasm'));
This API has been available since V8 v6.1 and Chrome 61, although the initial implementation didn’t actually use streaming compilation. However, with V8 v6.5 and Chrome 65 we take advantage of this API and compile WebAssembly modules already while we are still downloading the module bytes. As soon as we download all bytes of a single function, we pass the function to a background thread to compile it.
Apple broke WebAssembly and are leaving it broken
The Spectre security vulnerability has left many companies scrambing to mitigate it. Along with other browser vendors, Apple worked quickly to add some mitigations to Safari and issued iOS 11.2.2 to patch it.
Unfortunately they also completely broke WebAssembly on iOS. As in, WebAssembly no longer works, period. According to this, the issue is memory reads from non-zero locations return zero. This amounts to "memory reads don't work". Obviously if a program can't read memory, the program is unlikely to work. So it's pretty broken. Strangely this only affects iOS and not Safari on macOS.
Apple rushed out a follow-up patch with iOS 11.2.5. I expected them to have fixed this rather glaring error in this patch. Unfortunately no, it's still broken. When will it be fixed? I don't know; Apple don't discuss their plans publicly. The best guess I've had is in this WebKit bug of "spring". That could mean WebAssembly is enabled but non-functioning in a major browser for a month or more.
Read the full article: https://www.scirra.com/blog/218/apple-broke-webassembly-and-are-leaving-it-broken
Hacker's Guide to WebAssembly by vigneshwer dhinakaran
Want to know how WebAssembly work? Why is WebAssembly so fast? How to build web apps using C/C++/Rust? In this talk we’ll look at history, basics, applications and deep dive into the core concepts of WebAssembly with help of live demos and coding.
react-rust: WebAssembly Modules in React Apps via Rust
We're going to use Rust, Cargo Web and Stdweb to provide WebAssembly Modules, then use them in react-static.