Firefox web browser - Faster, more secure & customizable |
Firefox開発版から「TraceMonkey」のコードが削除されたことが報告された。TraceMonkeyはJavaScriptのトレースJITコンパイラ。10月末にはすでに無効化されていたが、今回ついに削除となった。6万7,000行に及ぶTraceMonkeyのコードはFirefoxから削除され、長きに渡る役割を終えたことになる。
Firefoxには4つのJavaScriptエンジンがある。JavaScriptインタプリタである「SpiderMonkey」、トレースJITコンパイラである「TraceMonkey」、メソッド型のJITコンパイラである「JaegerMonkey」、そして現在開発を進めている最新のJITコンパイラ「IonMonkey」だ。高速化技術として最初の導入されたJITがTraceMonkeyだった。TraceMonkeyは特定のコードに対しては優れた高速化を実現したが、適用範囲が狭いという問題を抱えていた。
JaegerMonkeyは広範囲に渡ってネイティブコードへ変更できるJIT。これまではJaegerMonkeyとTraceMonekyを組み合わせたJIT構成を採用してきたが、JaegerMonkey+TraceMonekyeよりも、JaegerMonkey+型推論エンジンの方が性能を発揮できる状況になった。このため、TraceMonkeyはその役割を終えたと判断され、今回の削除につながっている。
ただし、すでにJaegarMonkey+型推論エンジンでも、改善できないいくつかのパターンがあることが分かっており、こうした部分を改善するJITとしてIonMonkeyの開発が進められている。直近では型推論エンジンを取り込んだJaegerMonkeyが主力として使用され、さらに先の未来にはIonMonkeyがこれに替わる存在になるものとみられる。