It might just be me, but I don't think this is what the parent comment said.
E. g. WASM stack local variables and globals are statically validated. Compiler can translate loads and stores to locals and globals to simple movs. There are no additional runtime checks, no overhead. Unlike linear memory.
Since OS/process virtual memory bound checking is handled by the hardware, the one time setup above will lock down WASM memory access to within the 64MB, without software runtime overheads.
This is exactly why WASM memory was picked to be linear (unlike virtual memory that can have holes in continuity)
This phrase “host is still sandboxed from the module even without virtual memory” confused me. Because technically any interpreter (even qemu) can run without virtual memory with more or less expensive runtime checks.
It sure looks like a language to me, like some sort of assembly language.
https://webassembly.org/getting-started/advanced-tools/
https://developer.mozilla.org/en-US/docs/WebAssembly/Text_fo...
granted this is a textual representation (very useful in certain circumstances) but that is semantics. Having done plenty of assembly, I don't see a huge distinction here.
Also, this is not "JITed bytecode", it is compiled AOT.
PNaCL died in favour of WebAssembly due to politics.
With Chrome today's might, the decision would most likely be a different one.