isn't that slow?
diffs from JVM
diffs from JS VM
the right VM for the job
Binary format is:
with a still faster future:
The VM has:
two C compilation tools
other langs
emcc fib.c -s WASM=1 -o fib.htmlgives you
.html which references .js:
<script async type="text/javascript" src="hello.js"></script>which references
.wasm:
WebAssembly.instantiateStreaming(fetch(wasmBinaryFile), info)
.then(instAndModule => {
instAndModule.instance.exports.fib(10)
})
clang -emit-llvm --target=wasm32 -Oz fib.c -c -o fib.bc
llc -asm-verbose=false -o fib.s fib.bc
s2wasm fib.s > fib.wast(module
(func $addTwo (param i32 i32) (result i32)
get_local 0
get_local 1
i32.add)
(export "addTwo" (func $addTwo)))The WG plans to publishe minimum viable product (MVP) followed by many additions.
The WebAssembly W3C Process doc describes the project management to get there.
18 in flight proposals
What's cooking in the CG?
single instruction, multiple data
forEach
currently cost 5-10X
DISABLE_EXCEPTION_CATCHINGcatchgetting good performance with concurrency
WebGL can consume {,Shared}ArrayBuffer.
WASM buffers are growable.
<script src="fib" type="module"/>
import "fib"
source-level debugging