Tamarin

Tamarin是一款由Adobe实验室开发并开源的虚拟机,旨在实现ECMAScript标准第四版,并支持即时编译。它最初用于Flash Player中的ActionScript虚拟机。Tamarin曾计划整合到Mozilla 2及Firefox中,但最终由于性能原因未被采纳。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

Tamarin (JavaScript engine)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Tamarin
Developer(s)Adobe Labs and Mozilla
Development statusActive
Written inC++
Operating systemCross-platform
TypeVirtual Machine for ECMAScript
LicenseTri-licensed GPL, LGPL, and MPL
Websitemozilla.org/projects/tamarin/

Tamarin is a free virtual machine with just-in-time compilation (JIT) support intended to implement the fourth edition of the ECMAScript standard.

Tamarin was developed by Adobe Labs for its ActionScript virtual machine used in Flash 9 and up and open-sourced in 2006.

Contents

[edit] Tamarin and Mozilla

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 licenses to be developed in Mozilla's Mercurial repository.[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]

There were plans to use Tamarin as part of Mozilla 2[5] (and therefore Firefox). The project to integrate Tamarin and SpiderMonkey was called "ActionMonkey",[6] but was canceled in 2008[7] 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 Tamarin) to ECMAScript Harmony.[8]

Tamarin continues to be used in Adobe Flash Player, but it has not replaced SpiderMonkey as the JavaScript engine of Mozilla applications.

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

[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.

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

[edit] Related projects

Two projects related to Tamarin were announced on July 25, 2007 in Brendan Eich's keynote at The Ajax Experience West: IronMonkey and ScreamingMonkey.[10][11] IronMonkey is a project to map IronPython and IronRuby to Tamarin led by Seo Sanghyeon.[12] 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.[13] Neither project had production-quality releases and their current status is unclear.

[edit] Etymology

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

[edit] References

  1. ^ "Adobe and Mozilla Foundation to Open Source Flash Player Scripting Engine". Mozilla Foundation Press Center. San Francisco: Mozilla Foundation. November 7, 2006. http://www.mozilla.com/en-US/press/mozilla-2006-11-07.html. Retrieved September 3, 2010. 
  2. ^ "Tamarin Project". Mozilla Foundation. http://www.mozilla.org/projects/tamarin/. Retrieved September 3, 2010. 
  3. ^ Melanson, Mike (November 7, 2006). "Open Up". Penguin.SWF — Just another Adobe Blog site. http://blogs.adobe.com/penguin.swf/2006/11/open_source_actionscript.html. Retrieved September 3, 2010. 
  4. ^ "Project Tamarin - Adobe's contribution to Mozilla". The Browser Den. http://www.browserden.co.uk/news/tamarin/index.shtml. [dead link]
  5. ^ Eich, Brendan (October 13, 2006). "Mozilla 2". Brendan's Roadmap Updates. MozillaZine. http://weblogs.mozillazine.org/roadmap/archives/2006/10/mozilla_2.html. Retrieved September 3, 2010. 
  6. ^ Resig, John (July 23, 2007). "ActionMonkey". John Resig Blog. http://ejohn.org/blog/actionmonkey/. Retrieved September 3, 2010. 
  7. ^ "JavaScript:ActionMonkey". MozillaWiki. Mozilla Foundation. September 4, 2008. https://wiki.mozilla.org/index.php?title=JavaScript:ActionMonkey&oldid=107405. Retrieved September 3, 2010. 
  8. ^ Blizzard, Christopher (March 8, 2010). "A quick note on JavaScript engine components". Hacks.Mozilla.org. Mozilla Foundation. http://hacks.mozilla.org/2010/03/a-quick-note-on-javascript-engine-components/. Retrieved September 3, 2010. 
  9. ^ Hoare, Graydon (October 14, 2009). "State of Tamarin". mozilla.dev.tech.js-engine group. Google Groups. http://groups.google.com/group/mozilla.dev.tech.js-engine/msg/04e49d6407c33bd3. Retrieved September 3, 2010. 
  10. ^ Eich, Brendan (July 25, 2007). "New Projects". Brendan's Roadmap Updates. MozillaZine. http://weblogs.mozillazine.org/roadmap/archives/2007/07/new_projects.html. Retrieved September 3, 2010. 
  11. ^ Resig, John (August 8, 2007). "The Browser Scripting Revolution". John Resig Blog. http://ejohn.org/blog/the-browser-scripting-revolution/. Retrieved September 3, 2010. 
  12. ^ "Tamarin:IronMonkey". MozillaWiki. Mozilla Foundation. August 20, 2007. https://wiki.mozilla.org/index.php?title=Tamarin:IronMonkey&oldid=65786. Retrieved September 3, 2010. 
  13. ^ "Tamarin:ScreamingMonkey". MozillaWiki. Mozilla Foundation. May 28, 2008. https://wiki.mozilla.org/index.php?title=Tamarin:ScreamingMonkey&oldid=94625. Retrieved September 3, 2010. 

[edit] Further reading

[edit] External links

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值