「SpiderMonkey」の版間の差分
←ページの置換: 'ayy lmao' |
110.77.141.82 (会話) による ID:58356503 の版を取り消し |
||
1行目: | 1行目: | ||
{{Infobox Software |
|||
ayy lmao |
|||
| 名称 = SpiderMonkey |
|||
| 開発元 = [[Mozilla Foundation]] / [[Mozilla Corporation]] |
|||
| 対応プラットフォーム = [[クロスプラットフォーム]] |
|||
| 種別 = [[JavaScript]]エンジン |
|||
| ライセンス = [[Mozilla Public License|MPL]] 2.0 |
|||
| 公式サイト = http://www.mozilla.org/js/spidermonkey/ |
|||
}} |
|||
'''SpiderMonkey''' は世界初の[[JavaScript]]エンジンのコード名。[[ブレンダン・アイク]]が[[ネットスケープコミュニケーションズ]]で開発し、後にオープンソースとしてリリースされ、現在{{いつ|date=2014年7月}}は [[Mozilla Foundation]] が保守している。 |
|||
== 内部 == |
|||
SpiderMonkey は[[C言語]]で実装され、[[コンパイラ]]、[[インタプリタ]]、[[逆コンパイラ]]、[[ガベージコレクション|ガベージコレクタ]]、標準クラス群などから成る。それ単体では [[Document Object Model]] (DOM) のようなホスト環境を提供しない。 |
|||
SpiderMonkey およびそれと姉妹関係にある [[Rhino]] は、[[ECMAScript for XML|ECMAScript for XML (E4X)]] 標準をサポートしている。 |
|||
== 応用 == |
|||
JavaScript のホスト環境を提供する他のアプリケーションに組み込んで使用する。最も一般的なアプリケーションは [[Mozilla Firefox]] と [[Mozilla Application Suite]] / [[SeaMonkey]] であり、他にも [[Adobe Acrobat]] と Adobe Reader がある。さらに、[[Yahoo! Widget Engine|Yahoo! Widgets]] や [[ウルティマオンライン]]のサーバエミュレータである [[UOX|UOX3]] でもJavaScriptエンジンとして使っている。変わったところでは、[[オープンソース]]の[[コンピュータRPG|ロールプレイングゲーム]]設計支援ツールである [[:en:Sphere (program)|Sphere]] でもJavaScriptエンジンとして使っている。また、SpiderMonkey の一部は、[[Wine]]プロジェクトで[[JScript]]機能の実装に流用されている<ref>[http://www.winehq.org/pipermail/wine-cvs/2008-September/047548.html wine-cvs mailing list], [[2008年]][[9月16日]]: “jscript: Added regular expression compiler based on Mozilla regexp implementation”</ref>。 |
|||
== TraceMonkey == |
|||
Mozilla は SpiderMonkey に “[http://www.ics.uci.edu/~franz/Site/pubs-pdf/ICS-TR-07-12.pdf Trace Trees]” を使った最適化を行ってきた。2009年7月にリリースされた Firefox 3.5 では、この新たな最適化版を実装しており「場合によっては20%から40%の性能向上」になるという<ref>[http://arstechnica.com/news.ars/post/20080822-firefox-to-get-massive-javascript-performance-boost.html Firefox to get massive JavaScript performance boost] ars technica, 2008年8月22日</ref>。 |
|||
== JägerMonkey == |
|||
TraceMonkey を利用できないケースを高速化する Method JIT。アセンブラ部分は [[WebKit]] の SquirrelFish Extreme ([[Nitro]]) のものをベースとしている<ref>[http://blog.mozilla.com/dmandelin/2010/03/15/jagermonkey-nitro-components/ Starting JägerMonkey] David Mandelin's blog</ref>。 |
|||
== 関連項目 == |
|||
* [[Rhino]] |
|||
== 脚注 == |
|||
{{reflist}} |
|||
== 外部リンク == |
|||
* [http://www.mozilla.org/js/spidermonkey/ SpiderMonkey (JavaScript-C) Engine] |
|||
* [http://developer.mozilla.org/en/docs/SpiderMonkey Documentation for SpiderMonkey] |
|||
* [http://sourceforge.net/docman/display_doc.php?docid=10853&group_id=50913 Franky Braem Tutorial on using JS from C++] |
|||
* [http://www.wxjavascript.net wxJavaScript, porting wxWidgets using SpiderMonkey] |
|||
* [http://SpiderApe.sourceforge.net SpiderApe] - SpiderMonkey 上の C++ ライブラリ。SpiderMonkey の組み込みと拡張を単純化することを意図している。 |
|||
* [http://soubok.googlepages.com/javascript SpiderMonkeyエンジンを使っているプロジェクト] - JavaScript Native Interface, JavaScript Host |
|||
* [http://code.google.com/p/jslibs/ jslibs project] - [[zlib]], [[SQLite]], [[Netscape Portable Runtime|NSPR]], [[Open Dynamics Engine|ode]], [[libpng]], [[libjpeg]], [[libffi]], (...) といった SpiderMonkey 用ライブラリ群 |
|||
* [http://malzilla.sourceforge.net/ Malzilla] - SpiderMonkey を使ってWebページ上のJavaScriptを調べることで[[マルウェア]]を探し出すツール |
|||
* [http://www.trixul.com/ TriXUL] - [http://trixul.cvs.sourceforge.net/trixul/trixul/layout/jsengine (TriXUL CVS)] - SpiderMonkey を組み込んだXMLベースのGUIツールキット。GUIの背後にあるロジックをJavaScriptで実装する。JavaScript から C++ オブジェクトを呼び出せる。 |
|||
{{Mozilla プロジェクト}} |
|||
{{Software-stub}} |
|||
[[Category:Mozilla]] |
|||
[[Category:JavaScript]] |
2016年1月24日 (日) 13:12時点における版
開発元 | Mozilla Foundation / Mozilla Corporation |
---|---|
リポジトリ | |
プラットフォーム | クロスプラットフォーム |
種別 | JavaScriptエンジン |
ライセンス | MPL 2.0 |
公式サイト | http://www.mozilla.org/js/spidermonkey/ |
SpiderMonkey は世界初の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]。
TraceMonkey
Mozilla は SpiderMonkey に “Trace Trees” を使った最適化を行ってきた。2009年7月にリリースされた Firefox 3.5 では、この新たな最適化版を実装しており「場合によっては20%から40%の性能向上」になるという[2]。
JägerMonkey
TraceMonkey を利用できないケースを高速化する Method JIT。アセンブラ部分は WebKit の SquirrelFish Extreme (Nitro) のものをベースとしている[3]。
関連項目
脚注
- ^ wine-cvs mailing list, 2008年9月16日: “jscript: Added regular expression compiler based on Mozilla regexp implementation”
- ^ Firefox to get massive JavaScript performance boost ars technica, 2008年8月22日
- ^ Starting JägerMonkey David Mandelin's blog
外部リンク
- SpiderMonkey (JavaScript-C) Engine
- Documentation for SpiderMonkey
- Franky Braem Tutorial on using JS from C++
- wxJavaScript, porting wxWidgets using SpiderMonkey
- SpiderApe - SpiderMonkey 上の C++ ライブラリ。SpiderMonkey の組み込みと拡張を単純化することを意図している。
- SpiderMonkeyエンジンを使っているプロジェクト - JavaScript Native Interface, JavaScript Host
- jslibs project - zlib, SQLite, NSPR, ode, libpng, libjpeg, libffi, (...) といった SpiderMonkey 用ライブラリ群
- Malzilla - SpiderMonkey を使ってWebページ上のJavaScriptを調べることでマルウェアを探し出すツール
- TriXUL - (TriXUL CVS) - SpiderMonkey を組み込んだXMLベースのGUIツールキット。GUIの背後にあるロジックをJavaScriptで実装する。JavaScript から C++ オブジェクトを呼び出せる。