3 ms·
As someone who has worked with PNaCL before, I think its really important to stress how utterly terrible it is to work with. The intermediary representation for
by snek 7y ago
As someone who has worked with PNaCL before, I think its really important to stress how utterly terrible it is to work with. The intermediary representation for PNaCL was based off of LLVM IR, which is not (contrary to what a lot of people think) platform independent. The nail in the coffin though, was probably sandboxing. PNaCL is basically just running some opaque binary on your computer and crossing your fingers that chrome's sandboxing was up to snuff. Wasm, on the other hand, is built from the ground up as a mathematically verified sandboxed vm, and this works so well that modern wasm compilers don't even need to emit bounds checks on memory lookups in many cases. On a more organizational level, other browsers were not comfortable implementing something with so much control from a single company.
- pjmlp 7y agoWhile the official representation is not 100% platform independent, there are some forks of it that are, e.g. Apple own variant for App Store. There was even a WWDC 2019 talk, on how it allowed a seamless 64 bit transition for watchOS.