JSRuntime
出典: MDC
(JSContext から転送)
JSAPIにおいて、JSRuntimeはメモリ管理やグローバルなデータ構造などを扱う最高位のオブジェクトです。複数のスレッドが動作するプログラムにおいても、プログラム内のJSRuntimeは一般的に一つだけです。JSRuntimeはJavaScriptのオブジェクトを保持する空間であり、オブジェクトは複数のJSRuntimeを跨いで移動することはできません。
JSContextはJSRuntimeの子に位置し、すべてのJavaScriptコードとJSAPIの関数はJSContextを介して実行されます。JSContext内には、global objectや実行時スタックなどが含まれます。 例外処理、エラー報告、一部のJavaScriptのオプション などは各JSContextごとに管理されます。JS_THREADSAFEオプションを有効にしたビルドでは、複数のスレッドからJavaScriptのコードを呼び出し並行して実行できますが、呼び出し元のスレッドはそれぞれ独立したJSContextを持つ形になります。詳細はJS_THREADSAFEを参照してください。
JavaScriptオブジェクトとそのコンテキストとの関係は固定されたものでなく、オブジェクトはJSRuntimeを介してその子となるJSContext間で共有することができます。