Earlier quoted context omitted.
This is not about unsafe WASM which should be rejected by verifier. This is about the raw machine output that the compiler generates from WASM. As with JIT for JS currently nothing verifies WASM compiler output. So a bug in the compiler may result in a WASM that passes the verifier to be translated into unsafe machine code.
Same thing applies to NaCl verifier. Bugs in verifier can cause problems. Verification or generation bugs are bug, not security weaknesses in the architecture. (I should not need to mention this but compiling is form of verification).
WebAssembly: Mozilla Won
51–60 of 375 posts
Re: WebAssembly: Mozilla Won
#52Earlier quoted context omitted.
To the extent that asm.js and JavaScript are, yes. Everything is well-defined, so in theory any Turing machine should be able to run it, but it's certainly going to be easier to implement efficiently on a typical modern 32-bit or 64-bit CPU in a computer or phone than on something more unusual.
So I could write an application in, lets say Rust, compile it to WASM and run it on Linux, macOS and Windows browsers without anything extra?
Re: WebAssembly: Mozilla Won
#53Earlier quoted context omitted.
To the extent that asm.js and JavaScript are, yes. Everything is well-defined, so in theory any Turing machine should be able to run it, but it's certainly going to be easier to implement efficiently on a typical modern 32-bit or 64-bit CPU in a computer or phone than on something more unusual.
So I could write an application in, lets say Rust, compile it to WASM and run it on Linux, macOS and Windows browsers without anything extra?
Re: WebAssembly: Mozilla Won
#54Earlier quoted context omitted.
Potentially the article title is a reference to a story that was posted a few days ago called, Chrome Won .
Funny enough, when I googled 'Chrome Won' the first result was "Repair Chrome if it crashes or won't open" https://support.google.com/chrome/answer/142063
Re: WebAssembly: Mozilla Won
#55Re: WebAssembly: Mozilla Won
#56I understand that asm.js was a subset of JavaScript that allowed the compiler to create faster code. For example because it could be sure that variable types do not change during runtime.
But what do we gain with WebAssembly? Faster download+compilation times? How much faster?
Re: WebAssembly: Mozilla Won
#57Earlier quoted context omitted.
To the extent that asm.js and JavaScript are, yes. Everything is well-defined, so in theory any Turing machine should be able to run it, but it's certainly going to be easier to implement efficiently on a typical modern 32-bit or 64-bit CPU in a computer or phone than on something more unusual.
So I could write an application in, lets say Rust, compile it to WASM and run it on Linux, macOS and Windows browsers without anything extra?
(It is pretty amazing you can compile C code to something that actually runs on multiple machines, it's very nice.)
Re: WebAssembly: Mozilla Won
#58Earlier quoted context omitted.
So I could write an application in, lets say Rust, compile it to WASM and run it on Linux, macOS and Windows browsers without anything extra?
yes, but the API you'll code against is limited
Re: WebAssembly: Mozilla Won
#59Earlier quoted context omitted.
i hate how HN now has titles that require knowing previous posts to understand. That's the domain of reddit.
> ...that require knowing previous posts to understand Also known as "culture". It's part of what keeps communities alive, and I don't think it's bad in and of itself.
More importantly, the posts weren't written for HN specifically, but in the context of discussing the open web and WebASM. Within that community this reference will be pretty obvious.
Re: WebAssembly: Mozilla Won
#60This article in few lines lists key differences between PNaCl and WebAssembly: --- WebAssembly defines no new platform APIs other than some APIs for loading and linking WebAssembly code, relying on standards-based Web APIs for everything else. WebAssembly differs from asm.js by defining a bytecode format with some new operations JS doesn't have, so some spec work was required (and has been done!). Like asm.js, WebAss…
I don't really understand what "the compiler is trusted" means. What could an evil compiler really do? Maybe add a spinning loop to waste CPU cycles, but that can be done in JS too.