開発元 | Mozilla Foundation / Mozilla Corporation |
---|---|
リポジトリ | |
プラットフォーム | クロスプラットフォーム |
種別 | JavaScriptエンジン |
ライセンス | MPL 2.0 |
公式サイト | https://spidermonkey.dev/ |
SpiderMonkey(スパイダーモンキー)はFirefoxなどで使用されている世界初のJavaScriptエンジンである。ブレンダン・アイクがネットスケープコミュニケーションズで開発し、後にオープンソースとして公開され、現在[いつ?]は Mozilla Foundation が保守している。
SpiderMonkey はC言語で実装され、コンパイラ、インタプリタ、逆コンパイラ、ガベージコレクタ、標準クラス群などから成る。それ単体では Document Object Model (DOM) のようなホスト環境を提供しない。
SpiderMonkey およびそれと姉妹関係にある Rhino は、ECMAScript for XML (E4X) 標準をサポートしている。
JavaScript のホスト環境を提供する他のアプリに組み込んで使用する。最も一般的なアプリケーションは Mozilla Firefox と Mozilla Application Suite / SeaMonkey であり、他にも Adobe Acrobat と Adobe Reader がある。さらに、Yahoo! Widgets や ウルティマオンラインのサーバエミュレータである UOX3 でもJavaScriptエンジンとして使っている。変わったところでは、オープンソースのロールプレイングゲーム設計支援ツールである Sphere でもJavaScriptエンジンとして使っている。また、SpiderMonkey の一部は、WineプロジェクトでJScript機能の実装に流用されている[1]。
Mozilla は SpiderMonkey に “Trace Trees” を使った最適化を行ってきた。2009年7月にリリースされた Firefox 3.5 では、この新たな最適化版を実装しており「場合によっては20%から40%の性能向上」になるという[2]。Firefox 11 以降では使われていない。
TraceMonkey を利用できないケースを高速化する Method JIT。アセンブラ部分は WebKit の SquirrelFish Extreme (Nitro) のものをベースとしている[3]。Firefox 18 以降では IonMonkey にとって替わられ、さらにFirefox 83以降では WarpMonkey にとって替わられた。