Tamarin (JavaScript engine)

From Wikipedia, the free encyclopedia

Tamarin
Developed by Adobe Systems and Mozilla
OS Cross-platform
Genre Virtual Machine for ECMAScript
License Tri-licensed GPL, LGPL, and MPL
Website www.mozilla.org/projects/tamarin/

Tamarin is a free virtual machine and just in time compiler intended to implement the fourth edition of the ECMAScript standard, commonly referred to as JavaScript 2.

Tamarin was initially developed by Adobe Systems for its ActionScript Virtual Machine (AVM) used in Flash 9 and up. The code was donated to the Mozilla project on November 7, 2006.[1] The contributed code is tri-licensed under the GPL, LGPL, and MPL and will continue to be developed in Mozilla's Mercurial repository, as the rest of Mozilla source code.[2]

The contributed code is approximately 135,000 lines of code[3] making it the largest single donation of code to the Mozilla project besides Netscape itself.[4]

Tamarin will be part of Mozilla 2[5] (and therefore part of Firefox 4). The project to integrate Tamarin and SpiderMonkey is called ActionMonkey.[6][7]

Tamarin will also continue to be used in the future versions of Flash.

Contents

[edit] What Tamarin is not

Adobe contributed code for its virtual machine and the JIT compiler. The JavaScript compiler (the program generating bytecode from JavaScript source code) was not contributed as part of Tamarin; the source to Adobe's compiler is, however, available as part of the open source Adobe Flex SDK. The contributed code will be integrated with SpiderMonkey to produce a complete JavaScript engine.

Tamarin is not the same as Adobe's Flash player, which remains closed source. The virtual machine is only a part of the Flash player, and will be a part of future versions of Mozilla/Firefox.

[edit] Naming

Both SpiderMonkey and Tamarin fulfill closely related goals and so were both dubbed after monkeys (the spider monkey and the tamarin, respectively).

[edit] Related projects

Two projects related to Tamarin were announced on 25 July 2007 in Brendan Eich's keynote at The Ajax Experience West: IronMonkey and ScreamingMonkey.[8][9]

IronMonkey is a project to map IronPython and IronRuby to Tamarin led by Seo Sanghyeon.[10]

ScreamingMonkey project's goal is to allow Tamarin to run within non-Mozilla browsers, starting with Internet Explorer (thus making IE understand JavaScript 2 eventually). ScreamingMonkey project is led by Mark Hammond.[11]

[edit] References

  1. ^ Adobe and Mozilla Foundation to Open Source Flash Player Scripting Engine. mozilla.com press release.
  2. ^ Project Tamarin. mozilla.org project page.
  3. ^ Mike Melanson. Open Up. Penguin.SWF.
  4. ^ Project Tamarin - Adobe's contribution to Mozilla. The Browser Den.
  5. ^ Brendan Eich. Mozilla 2. Brendan's Roadmap Updates.
  6. ^ JavaScript:ActionMonkey. wiki.mozilla.org.
  7. ^ John Resig. ActionMonkey.
  8. ^ Brendan Eich. New Projects. Brendan's Roadmap Updates.
  9. ^ John Resig. The Browser Scripting Revolution.
  10. ^ Tamarin:IronMonkey. wiki.mozilla.org.
  11. ^ Tamarin:ScreamingMonkey. wiki.mozilla.org.

[edit] External links