Tamarin Project
Goals
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.
Roadmap
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. Brendan Eich's Roadmap Update for Mozilla 2 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.
Current Status
The primary source code for Tamarin is available via Mercurial at http://hg.mozilla.org/tamarin-central. There is an experimental branch available at http://hg.mozilla.org/tamarin-tracing. 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 Mozilla Developer Center.
The self-hosting compiler contains the foundation of a compiler but much work remains to make it fully functional.
Team Members
The active members of the team include:
- Brent Baker, Adobe
- Jeff Dyer, Adobe, module co-owner, compilers
- Brendan Eich, Mozilla, CTO and JavaScript creator
- Moh Haghighat, Intel, VTune lead
- Mark Hammond, ScreamingMonkey lead
- Lars T Hansen, Adobe
- Graydon Hoare, Mozilla
- Jason Orendorff, Mozilla, ActionMonkey lead
- Chris Peyer, Adobe
- Tom Reilly, Adobe, MMGC creator
- Rick Reitmaier, Adobe
- Dan Schaffer, Adobe
- Seo Sanghyeon, IronMonkey lead
- Benjamin Smedberg, Mozilla
- Edwin Smith, Adobe, module co-owner, VMs
- Erik Tierney, Adobe
- Rob Winchell, Adobe
Get Involved
If you'd like to help develop Tamarin, either watch this page or send one of the team members an email.
For Tamarin-related developer discussions, you can subscribe to the mozilla.dev.tech.js-engine newsgroup and the dev-tech-js-engine mailing list.
Tamarin discussions can also be found on the #tamarin IRC channel.
FAQ
For more information, you can also review the Tamarin Project FAQ.
Trademarks
Adobe, Flash, and ActionScript are trademarks of Adobe Systems Incorporated.
Acknowledgments
The Tamarin project is independent of and has no connection with the Tamarin framework for development of Java Swing applications, created by Ben Parker. We thank Ben for his generosity in allowing us to reuse the "Tamarin" name.