Tamarin (software)

From Wikipedia, the free encyclopedia

Template:Short description

Page Module:Message box/ambox.css has no content.

Page Module:Infobox/styles.css has no content.

Tamarin
[[Programmer|DeveloperTemplate:Pluralize from text]]Adobe Systems and Mozilla
Template:Infobox software/simple
Written inC++
EnginePage Template:Plainlist/styles.css has no content.Template:EditAtWikidata
Operating systemCross-platform
TypeVirtual Machine for ECMAScript
LicenseTri-licensed GPL, LGPL, and MPL
WebsiteLua error in package.lua at line 80: module 'Module:If preview' not found.
RepositoryPage Template:Plainlist/styles.css has no content.

Script error: No such module "Check for conflicting parameters".

Tamarin is a discontinued free software virtual machine with just-in-time compilation (JIT) support intended to implement the 4th edition of the ECMAScript (ES4) language standard. Tamarin source code originates from ActionScript Virtual Machine 2 (AVM2)[1] developed by Adobe Systems, as introduced within Adobe Flash Player 9, which implements ActionScript 3 scripting language. ActionScript Virtual Machine 2 was donated as open-source to Mozilla Foundation on November 7, 2006, to develop Tamarin as a high-performance virtual machine, with the support from broad Mozilla community, to be used by Mozilla and Adobe Systems in the next generation of their JavaScript and ActionScript engines with the ultimate aim to unify the scripting languages across web browsers and Adobe Flash platform and ease the development of better performing rich web applications.[2]

Tamarin and Mozilla

The source code, including the just-in-time compiler and conservative garbage collector, was donated to the Mozilla Foundation on November 7, 2006.[3] The contributed code is tri-licensed under the GPL, LGPL, and MPL licenses to be developed in Mozilla's Mercurial repository.[4] The contributed code is approximately 135,000 lines of code,[5] making it the largest single donation of code to the Mozilla project besides Netscape itself.[6]

There were plans to use Tamarin as part of Mozilla 2[7] (and therefore Firefox 4). The project to integrate Tamarin and SpiderMonkey was called "ActionMonkey",[8] but was canceled in 2008[9] because Tamarin's interpreter turned out to be slower than SpiderMonkey's and because the plans of ECMAScript development shifted from ECMAScript 4, which was partially implemented by then existing Tamarin source code and was meant to be completed by joined efforts of Adobe, Mozilla and its community within the Tamarin Project,[10] to ECMAScript Harmony.[11]

Adobe continued to use Tamarin in its Flash Player, but it did not replace SpiderMonkey as the JavaScript engine of Mozilla applications.

The only part of Tamarin used in modern Mozilla applications (i.e. Firefox 3.5+) via SpiderMonkey is NanoJIT, a module that is used to generate native code when performing just-in-time compilation.[12]

What Tamarin is not

Adobe contributed code for its ActionScript Virtual Machine 2 and the JIT compiler. The ActionScript compiler is also open source as a part of Adobe Flex.[13] There is also CrossBridge, an open source C and C++ compiler.

Tamarin is not the same as Adobe Flash Player, which remains closed source. The Tamarin virtual machine is only a part of Flash Player.

Two projects related to Tamarin were announced on July 25, 2007, in Brendan Eich's keynote at The Ajax Experience West: IronMonkey and ScreamingMonkey.[14][15] IronMonkey is a project to map IronPython and IronRuby to Tamarin led by Seo Sanghyeon.[16] ScreamingMonkey's goal is to allow Tamarin to run within non-Mozilla browsers (thus allowing them to understand JavaScript 2), starting with Internet Explorer. The project is led by Mark Hammond.[17] Neither project had production-quality releases and their current status is unclear.

Etymology

Both SpiderMonkey and Tamarin fulfill closely related goals and so were given names derived from types of monkeys (the spider monkey and the tamarin, respectively).

Further reading

References

Page Template:Reflist/styles.css has no content.

  1. ^ Page Module:Citation/CS1/styles.css has no content."Archived copy" (PDF). Archived from the original (PDF) on 2017-05-16. Retrieved 2017-03-25.{{cite web}}: CS1 maint: archived copy as title (link)
  2. ^ Page Module:Citation/CS1/styles.css has no content."What Tamarin means to developers". Adobe Developer Connection. November 7, 2006. Archived from the original on March 16, 2013. Retrieved January 2, 2013.
  3. ^ Page Module:Citation/CS1/styles.css has no content."Adobe and Mozilla Foundation to Open Source Flash Player Scripting Engine". Mozilla Foundation Press Center. San Francisco: Mozilla Foundation. November 7, 2006. Retrieved September 3, 2010.
  4. ^ Page Module:Citation/CS1/styles.css has no content."Tamarin Project". Mozilla Foundation. Archived from the original on 2016-10-03. Retrieved 2021-03-25.
  5. ^ Page Module:Citation/CS1/styles.css has no content.Melanson, Mike (November 7, 2006). "Open Up". Penguin.SWF — Just another Adobe Blog site. Archived from the original on July 4, 2008. Retrieved September 3, 2010.
  6. ^ Page Module:Citation/CS1/styles.css has no content."Project Tamarin - Adobe's contribution to Mozilla". The Browser Den. Archived from the original on October 11, 2008.
  7. ^ Page Module:Citation/CS1/styles.css has no content.Eich, Brendan (October 13, 2006). "Mozilla 2". Brendan's Roadmap Updates. MozillaZine. Archived from the original on October 25, 2006. Retrieved September 3, 2010.
  8. ^ Page Module:Citation/CS1/styles.css has no content.Resig, John (July 23, 2007). "ActionMonkey". John Resig Blog. Retrieved September 3, 2010.
  9. ^ Page Module:Citation/CS1/styles.css has no content."JavaScript:ActionMonkey". MozillaWiki. Mozilla Foundation. September 4, 2008. Retrieved September 3, 2010.
  10. ^ Page Module:Citation/CS1/styles.css has no content."Tamarin Project Introduction". Mozilla community. April 21, 2008. Retrieved January 1, 2013.
  11. ^ Page Module:Citation/CS1/styles.css has no content.Blizzard, Christopher (March 8, 2010). "A quick note on JavaScript engine components". Hacks.Mozilla.org. Mozilla Foundation. Retrieved September 3, 2010.
  12. ^ Page Module:Citation/CS1/styles.css has no content.Hoare, Graydon (October 14, 2009). "State of Tamarin". mozilla.dev.tech.js-engine group. Google Groups. Retrieved September 3, 2010.
  13. ^ Page Module:Citation/CS1/styles.css has no content."Compiling and Running applications". Mozilla. Archived from the original on 2021-05-11. Retrieved 2021-03-25.
  14. ^ Page Module:Citation/CS1/styles.css has no content.Eich, Brendan (July 25, 2007). "New Projects". Brendan's Roadmap Updates. MozillaZine. Archived from the original on November 14, 2010. Retrieved September 3, 2010.
  15. ^ Page Module:Citation/CS1/styles.css has no content.Resig, John (August 8, 2007). "The Browser Scripting Revolution". John Resig Blog. Retrieved September 3, 2010.
  16. ^ Page Module:Citation/CS1/styles.css has no content."Tamarin:IronMonkey". MozillaWiki. Mozilla Foundation. August 20, 2007. Retrieved September 3, 2010.
  17. ^ Page Module:Citation/CS1/styles.css has no content."Tamarin:ScreamingMonkey". MozillaWiki. Mozilla Foundation. May 28, 2008. Retrieved September 3, 2010.

Lua error in mw.title.lua at line 404: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

  • Lua error in Module:Official_website at line 94: attempt to index field 'wikibase' (a nil value).
  • Tamarin Project at www-archive.mozilla.org
  • Tamarin at wiki.mozilla.org

Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found.

Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found. Lua error in package.lua at line 80: module 'Module:Navbox/configuration' not found.