SpiderMonkey(スパイダーモンキー)とは、JavaScriptエンジンです。Mozilla Foundationが開発しており、Firefoxなどで利用されています。

オープンソースのSpiderMonkeyとは

SpiderMonkey(スパイダーモンキー)とは、JavaScriptエンジンです。Mozilla Foundationが開発しており、Firefoxなどで利用されています。

「SpiderMonkey」基本情報

■概要

SpiderMonkey(スパイダーモンキー)とは、JavaScriptエンジンです。Mozilla Foundationが開発しており、Firefoxなどで利用されています。

■基本説明

SpiderMonkeyは、C/C++実装のJavaScriptエンジンです。

さまざまなMozilla製品で使用されており、FirefoxおよびGNOME 3デスクトップなどのさまざまな埋め込み用のJavaScriptサポートを提供します。

■経緯

SpiderMonkeyは「世界初のJavaScriptエンジン」として知られています。

主な機能

SpiderMonkeyは以下の機能を含んでいます。
・インタプリタ
・Just-In-Time(JIT)コンパイラ
・ガベージコレクタ
・JavaScript値の基本的な動作を実装するコード
・さまざまな拡張機能を持つECMAを実装する標準ライブラリ
・APIインタラクティブなJavaScript開発
・JavaScriptプログラムファイルのコマンドライン呼び出し用のJavaScriptシェル など

一方、単体では「DOM(Document Object Model)」のようなホスト環境は提供しません。

主な特徴

■高速インタプリタ

SpiderMonkeyは、タイプのないバイトコードを実行する高速インタプリタで、JavaScript値の全範囲を表す型タグ付き値の型で動作します。

■コンパイラ

コンパイラはJavaScriptソースコードを使用し、「バイトコード」「ソース注釈」「文字列」「数値」「識別子リテラルのプール」を含むスクリプトを生成します。

このスクリプトには、ソースコードで定義された関数も含めて、それぞれ独自のネストされたスクリプトを持つオブジェクトが含まれています。

コンパイラは、テーブルドリブンレキシカルスキャナではなく、「ランダムロジック」「ASTを生成する再帰的降下パーサ」「ツリーウォーキングコードジェネレータ」で構成されます。

■ガベージコレクタ

ガベージコレクタは、マークアンドスイープ型の非保存的で厳密なコレクタとして動作します。

JSオブジェクトと文字列記述子(JSString)を保持するために使用されますが、文字列バイトは保持されません。

JS_NewRuntimeGCの渡されたバイトが割り当てられ、別のものが割り当て要求されたときにのみ自動的に実行されます。JS APIユーザーは、必要に応じて、スクリプトの実行を呼び出すか、スクリプトの実行の間の操作のコールバックから呼び出す必要があります。

補足情報

■同様製品

同様な機能を提供する製品として、次のようなものがあります。

オープンソース製品:「Google V8 JavaScript Engine」「ChakraCore」など。

■オフィシャルサイト

オフィシャルサイト

→Mozilla →SpiderMonkey(SpiderMonkey - Mozilla | MDN)

ライセンス情報

SpiderMonkeyのライセンスは「Mozilla Public License 2」です。

詳細について、こちらを参照ください。
→Mozilla →SpiderMonkey

ダウンロード

→Mozilla →SpiderMonkey →SpiderMonkey releases

 

参考元サイト

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

SpiderMonkey最新TOPICS

最新情報はありません。

SpiderMonkey最新CLOSEUPコラム

イベント情報

無料資料プレゼント

第2回「多要素認証の種類と方法」

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該資料の作成・提供企業とも共有させていただき、当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

本資料を見るには次の画面でアンケートに回答していただく必要があります。



  • オープソース書籍(サイド)
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter