Tamarin Project
The goal of the "Tamarin" project is to implement a high-performance, open source implementation of the ECMAScript 4th edition (ES4) language specification. The Tamarin virtual machine will be used by Mozilla within SpiderMonkey, the core JavaScript engine embedded in Firefox®, and other products based on Mozilla technology. The code will continue to be used by Adobe as part of the ActionScript™ Virtual Machine within Adobe® Flash® Player.
The Tamarin virtual machine currently implements the ECMAScript 3rd edition language standard that is the basis for JavaScript, Adobe ActionScript, and Microsoft Jscript, plus some of the new language features proposed in the ECMAScript 4th edition specification. By working on an open source implementation of ES4 with the community, Adobe and Mozilla hope to accelerate the adoption of a standard language for creating engaging Web applications. We hope the Tamarin project accelerates the ability of developers to create and deliver richer, more interactive experiences that work across multiple platforms.
Tamarin will support the forthcoming ECMAScript Edition 4 ("JS2") language and will be integrated into SpiderMonkey as part of the Mozilla 2 project, to be released in 2008. provides broad details on Mozilla 2 and Tamarin's role in this roadmap.
The Tamarin project is just getting started so the roadmap is not yet fully developed, but some of the technical goals include:
- Integrating the Tamarin VM and garbage collector within SpiderMonkey
- Using the SpiderMonkey compiler to generate code for Tamarin
- Porting the just-in-time compiler to new hardware platforms
- Completing the self-hosting ECMAScript 4 compiler
This page will be updated as the roadmap is defined.
The primary source code for Tamarin is available via Mercurial at . There is an experimental branch available at . This code is licensed under the same Mozilla tri-license (MPL/GPL/LGPL) as other Mozilla code.
Preliminary documentation for Tamarin, as well as build instructions, can be found at the .
The self-hosting compiler contains the foundation of a compiler but much work remains to make it fully functional.