Main menu:

Site search



Archive for 'Uncategorized'

JägerMonkey Update: Getting Faster

Time for another JägerMonkey update: how far we’ve come, what’s happening next, and our plan to bring it all together in time for Firefox 4. How far we’ve come. So far this year, we’ve done two huge things: Switched the JavaScript engine’s basic value representation from a pointer-sized value to 2 new 64-bit representations, one […]

JägerMonkey: the “halfway” point

JägerMonkey has reached a halfway point: we’ve closed about half the performance gap between our baseline performance (with no tracing) and the competition. You can see this on, a site David Anderson created to track our progress. Thanks also to the anonymous contributor who gave us an improved page design. So far. That improvement […]

JägerMonkey & Nitro Components

After our recent blogs about JägerMonkey, some articles out there gave the impression that we were removing nanojit, throwing everything away, or doing all sorts of other radical things that we are not in fact doing. I don’t have a huge problem with that–this is complicated stuff and it’s hard to get right. So Chris […]

Starting JägerMonkey

About 2 months ago, we started work on JägerMonkey, a new “baseline” method JIT compiler for SpiderMonkey (and Firefox). The reason we’re doing this is that TraceMonkey is very fast for code that traces well, but for code that doesn’t trace, we’re stuck with the interpreter, which is not fast. The JägerMonkey method JIT will […]

TraceMonkey/Fx36 @Hacks

My article on JavaScript performance improvements in Fx3.6 is up at The improvements are more detailed this time, nothing so huge as new tracing VM, so I concentrate more on describing what speeds up with a few little code samples and demos.

There’s more than one way to null a pointer

I haven’t blogged in a while because I’ve been in heads-down mode working mostly on getting closures and the arguments keyword to trace in TraceMonkey and investigating topcrashes. But we’ve just solved the most common JS-engine topcrash, so I’m resurfacing with the story, and hopefully some useful tricks and analysis for anyone else working on […]

TraceMonkey @Hacks

I wrote an article on TraceMonkey on It’s aimed at web developers and anyone else who wants to understand how TraceMonkey works and what makes it different from other JavaScript engines. The article also talks about what kinds of JavaScript run especially fast or slow in TraceMonkey and some introductory information on how to […]

PLDI Sampler, part I

I’m back from PLDI in Dublin. The weather was nice and the Guinness was excellent. The research program was also very good. It seemed like this year there was a lot of variety and a different topic selection from previous years. I’m going to blog some notes on an arbitrary (slanted toward things with more […]

PLDI 2009

Next week we’re taking the TraceMonkey show on the road to PLDI 2009 in Dublin, Ireland. Andreas Gal will of course be presenting our paper Thursday afternoon, and David Anderson (who is back at Moz for the summer) is also coming. Fortunately, the Mozilla 1.9.1 (FF 3.5) blocker list for JS is empty, and hopefully, […]


Last fall, we submitted a paper on TraceMonkey to PLDI (officially: ACM SIGPLAN Conference on Programming Language Design and Implementation), one of the top conferences for programming language research. Our paper was accepted, and Andreas Gal will be presenting the paper on June 18 in Dublin, Ireland. We’re hosting a PDF copy on the blog. […]