

ActionMonkey is Mozilla’s latest foray into a new JavaScript engine. It’s actually an amalgam of two of Mozilla’s current engines: SpiderMonkey (which powers the current Mozilla platform) and Tamarin (the ActionScript engine donated to Mozilla by Adobe).

The result will be what is used to run the upcoming Mozilla 2 platform.

New hire, Jason Orendorff is actively tackling this project with intern Edward Lee and under the supervision of Brendan Eich.

The whole project is going to take a lot of effort, and a lot of time, to align all these pieces together, so they’re moving in stages to make this happen.

The first stage (Stage 0) is to replace SpiderMonkey’s memory management with the garbage collection routiens of Tamarin (also called MMgc).

Other stages that need to be taken into account include:

Preservation of the existing SpiderMonkey API.

Integration of SpiderMonkey’s thread safety and property tree concepts into Tamarin (necessary for the security needed in web-based JavaScript).

Replacement of SpiderMonkey’s decomplier with one that is compatible with Tamarin.

Replacement of SpiderMonkey’s interpreter with an evolved version of Tamarin’s

… and much more.

If you’re particularly interested to see what the outcome of this is (as it’ll surely effect the speed and quality of the Mozilla codebase in the upcoming months and years) be sure to follow Jason’s blog and start tracking the Stage 0 ticket.