JavaScriptのJITコンパイラ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/05/12 15:53 UTC 版)
「実行時コンパイラ」の記事における「JavaScriptのJITコンパイラ」の解説
近年の主要なウェブブラウザはJavaScriptのエンジンにJITコンパイラを搭載し、高速に処理できるようになっている。Internet Explorer 9、Mozilla Firefox 3.5、Google Chrome 1、Safari 4、Opera 10.50、Opera Mobile 10.1以降のウェブブラウザに搭載されている。NetFront Browser 4.1 には搭載されていない。変数の型は統計的には安定しているという事実を使い、実行時の変数に代入された値の統計データから、変数に型を割り振ることにより、JITコンパイラが実現し、高速にJavaScriptを処理できるようになった。Google ChromeのV8など、インタプリタを使わずに最初からJITコンパイルし、変数などの型は実行時に随時割り振っていくタイプと、Firefox 3.5のように、事前に一度インタプリタで実行して、その情報を元に型を割り振りながらJITコンパイルするタイプなどがある。どちらのタイプであっても、型が安定しているケースは、高速に実行できるようになっている。JavaScriptにおいて、型が安定しているというのは、オブジェクトについては、プロパティが追加されていないという意味も含む。プロパティアクセスの時に、まず、型が期待通りの型であるかチェックし、もし、そうならば、プロパティからそれが指し示す番地へはC言語の構造体のように定数を足し算するだけで求まる。
※この「JavaScriptのJITコンパイラ」の解説は、「実行時コンパイラ」の解説の一部です。
「JavaScriptのJITコンパイラ」を含む「実行時コンパイラ」の記事については、「実行時コンパイラ」の概要を参照ください。
- JavaScriptのJITコンパイラのページへのリンク