| タマリン | |
|---|---|
| 開発者 | アドビシステムズとモジラ |
| 執筆 | C++ |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | ECMAScript用仮想マシン |
| ライセンス | GPL、LGPL、MPLの3つのライセンスを取得した |
| Webサイト | 開発者 |
| リポジトリ |
|
Tamarin は、 ECMAScriptの第 4 版(ES4) 言語標準を実装することを目的とした、ジャストインタイム コンパイル(JIT) をサポートする、開発が終了したフリー ソフトウェアの仮想マシンです。Tamarin のソース コードは、 Adobe Flash Player 9に導入されたAdobe Systemsが開発したActionScript Virtual Machine 2 (AVM2) [ 1 ]に由来し、 ActionScript 3スクリプト言語を実装しています。ActionScript Virtual Machine 2 は、2006 年 11 月 7 日にMozilla Foundationにオープンソースとして寄贈され、 Mozillaコミュニティの幅広いサポートを受けて、高性能仮想マシンとして Tamarin を開発し、Mozilla と Adobe Systems が次世代のJavaScriptおよびActionScriptエンジンで使用することになりました。最終的な目標は、Web ブラウザとAdobe Flashプラットフォーム全体でスクリプト言語を統一し、より高性能なリッチWeb アプリケーションの開発を容易にすることです。[ 2 ]
ジャストインタイムコンパイラと保守的なガベージコレクタを含むソースコードは、2006 年 11 月 7 日にMozilla Foundationに寄贈されました。[ 3 ]寄贈されたコードは、GPL、LGPL、およびMPLライセンスの3 つのライセンスの下でMozilla のMercurialリポジトリで開発されます。[ 4 ]寄贈されたコードは約 135,000 行のコードであり、[ 5 ] Netscape自体を除けば、Mozilla プロジェクトへの最大の単一のコード寄贈となっています。[ 6 ]
Mozilla 2 [ 7 ] (そしてFirefox 4)の一部として Tamarin を使用する計画がありました。TamarinとSpiderMonkeyを統合するプロジェクトは「ActionMonkey」[ 8 ]と呼ばれていましたが、Tamarin のインタープリタが SpiderMonkey のインタープリタよりも遅いことが判明したことと、ECMAScript の開発計画が、当時存在していた Tamarin ソース コードによって部分的に実装され、Adobe、Mozilla、および Tamarin プロジェクト内のコミュニティの共同作業によって完成される予定だった ECMAScript 4 [ 10 ] から ECMAScript Harmony [ 11 ] に移行したため、 2008 年に中止されました[ 9 ] 。
AdobeはFlash Playerで引き続きTamarinを使用したが、 MozillaアプリケーションのJavaScriptエンジンとしてSpiderMonkeyに取って代わることはなかった。
現代の Mozilla アプリケーション (Firefox 3.5 以降) で SpiderMonkey を介して使用されている Tamarin の唯一の部分はNanoJITであり、これはジャストインタイムコンパイルを実行する際にネイティブコードを生成するために使用されるモジュールです。[ 12 ]
Adobeは、ActionScript Virtual Machine 2とJITコンパイラのコードを提供しました。ActionScriptコンパイラはAdobe Flexの一部としてオープンソースでもあります。[ 13 ]また、オープンソースのCおよびC++コンパイラであるCrossBridgeもあります。
TamarinはAdobe Flash Playerとは異なり、Flash Playerは依然としてクローズドソースです。Tamarin仮想マシンはFlash Playerの一部にすぎません。
Tamarinに関連する2つのプロジェクト、IronMonkeyとScreamingMonkeyが、2007年7月25日にThe Ajax Experience WestのBrendan Eichの基調講演で発表されました。 [ 14 ] [ 15 ] IronMonkeyは、Seo Sanghyeonが率いる、 IronPythonとIronRubyをTamarinにマッピングするプロジェクトです。[ 16 ] ScreamingMonkeyの目標は、 Internet Explorerを皮切りに、Mozilla以外のブラウザ内でTamarinを実行できるようにすることです(これにより、JavaScript 2を理解できるようになります)。このプロジェクトはMark Hammondが率いています。[ 17 ]どちらのプロジェクトも製品レベルのリリースはなく、現在の状況は不明です。
クモザルとタマリンはどちらも非常に似た目的を持っているため、それぞれサルの種類(クモザルとタマリン)に由来する名前が付けられました。
Mozilla CTO
Foundationのエグゼクティブディレクター。
Mozilla開発者
{{cite web}}: CS1 maint: タイトルとしてアーカイブされたコピー (リンク)mozilla.dev.tech.js-engine