A few weeks ago we released Firefox 57, also known as Firefox Quantum. I work on SpiderMonkey performance and this year I spent a lot of time analyzing profiles and optimizing as many things as possible.| Jan de Mooij
Back in June, I added an option to SpiderMonkey to enable W^X protection of JIT code. The past weeks I've been working on fixing the remaining performance issues and yesterday I enabled W^X on the Nightly channel, on all platforms. What this means is that each page holding JIT code is either executable or writable, never both at the same time.| Jan de Mooij
(For tl;dr, see the Conclusion.)| Jan de Mooij
Last week, Mike Malone, CTO of Betable, wrote a very insightful and informative article on Math.random() and PRNGs in general. Mike pointed out V8/Chrome used a pretty bad algorithm to generate random numbers and, since this week, V8 uses a better algorithm.| Jan de Mooij
Last week I landed bug 1132183, a pretty large patch rewriting the implementation of this in SpiderMonkey.| Jan de Mooij
At Mozilla, we use Mercurial for the main Firefox repository. Mercurial, like Git, uses SHA1 hashes to identify a commit.| Jan de Mooij
Last week I spent some time optimizing ES6 arrow functions. Arrow functions allow you to write function expressions like this:| Jan de Mooij
Click here to be redirected.| jandemooij.nl