Stories
Slash Boxes
Comments

SoylentNews is people

posted by janrinok on Saturday June 20 2015, @01:43AM   Printer-friendly
from the still-trying dept.

Mozilla's Project Electrolysis aims to allow tabs and user interfaces to run in separate processes. It has been activated by default in recent nightly builds:

In current versions of desktop Firefox, the entire browser runs in a single operating system process. In particular, the JavaScript that runs the browser UI (also known as "chrome code") runs in the same process as the code in web pages (also known as "content" or "web content"). Future versions of Firefox will run the browser UI in a separate process from web content. In the first iteration of this architecture all browser tabs will run in the same process, and the browser UI will run in a different process. In future iterations, we expect to have more than one content process.

Developer Will Bamberg says the change will bring stability and security improvements. "There are three main reasons for making Firefox run content in a separate process: performance, security, and stability, Bamberg says. "The goal is to reduce 'jank' -- those times when the browser seems to briefly freeze when loading a big page, typing in a form, or scrolling. "In multiprocess Firefox, content processes will be sandboxed. A well-behaved content process won't access the filesystem directly; it will have to ask the main process to perform the request." Bamberg says "well-behaved" content processes needs to access much of the network and file systems. This would be much more restricted under the changes.

Former CEO of Mozilla Brendan Eich has announced a project called WebAssembly that could replace asm.js:

It's by now a cliché that JS has become the assembly language of the Web. Rather, JS is one syntax for a portable and safe machine language, let's say. Today I'm pleased to announce that cross-browser work has begun on WebAssembly, a new intermediate representation for safe code on the Web.

What: WebAssembly, "wasm" for short, .wasm filename suffix, a new binary syntax for low-level safe code, initially co-expressive with asm.js, but in the long run able to diverge from JS's semantics, in order to best serve as common object-level format for multiple source-level programming languages.

Who: A W3C Community Group, the WebAssembly CG, open to all. As you can see from the github logs, WebAssembly has so far been a joint effort among Google, Microsoft, Mozilla, and a few other folks. I'm sorry the work was done via a private github account at first, but that was a temporary measure to help the several big companies reach consensus and buy into the long-term cooperative game that must be played to pull this off.


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 1) by Pino P on Saturday June 20 2015, @02:52PM

    by Pino P (4721) on Saturday June 20 2015, @02:52PM (#198693) Journal

    Binary representations for asm.js are already in use, commonly called deflate / gzip.

    If this bytecode is as efficient as its proponents intend it to be, it will be smaller after gzip than asm.js after gzip. Consider that ordinary JavaScript code that has been minified and gzipped is smaller than the same JavaScript code that has been gzipped without minification.

    Can we reverse compile this bytecode into javascript within the browser in order to inspect it?

    No, but you can block it as non-free. Richard Stallman of the Free Software Foundation wrote an essay about this a few years ago, titled "The JavaScript Trap" [gnu.org]. The FSF's GNU project has produced LibreJS [gnu.org], a Firefox extension to block execution of scripts that aren't marked in a machine-readable manner [gnu.org] as being available under a free software license.