Gecko 1.9.2の最後のミッシングリンク、JavaScriptエンジンについて、作業プランがついに公開された。といっても、Gecko 1.9.1の完成に向けた作業を続けている現時点で詳細な記述は無理なため、ごくあっさりした内容だ。
しかし、うれしいことにmozilla.dev.planningで開発責任者の一人Robert Sayre氏が簡単な補足説明を加えている。詳細は次のとおり。なお、[]内は訳注である。
- trace recursion
- リアルコード[実環境のプログラムコード]がこれに当たり、ベンチマーケティング[ベンチマークを通じたマーケティング]にも役立つ。
- improved ARM performance
- このモバイルプラットフォーム向けに生成されるコードを大きく改善することができそうだ。
- cleaner, safer code -> moving from jschar* buffers to c++ vectors, f.e.
- JavaScriptは現在、C++のファシリティを利用してコードの可読性と安全性を高められる。
- nanojit compilation speed improvements
- 習熟するにつれて、nanojit[TraceMonkeyのコア]のデザイン上の欠点が見えてきた。それらを修正して、トレースとコンパイルの段階におけるパフォーマンスを向上させることができる。
- GC scalability improvements
- アニメーションのようにたくさんのガベージが生成される状況で、もっとうまくやるべき。
- ES 3.1 major features in testing, including Object.defineProperty et al, strict mode
- この標準[ECMAScript 3.1]はついに実装できる状態になったようだ。
- improve interpreter performance
- トレースから落ちる部分のパフォーマンスを、LIR[低水準中間表現(Low level Intermediate Representation)] としてインタープリタループを生成することによって改善し続けるべき。
説明は専門的で難しい。また、一つ気になったのは、TraceMonkeyの対象をDOMに拡張する話はどこにいったのかということ。今後追記されるのだろうか。
(同日追記)
id:takenspcさんから、DOMへの拡張はContent Worksheet(『メモ:ワークシートが順次公開中』)のTrace DOM methodsではないかとのご指摘を受けた。おっしゃるとおりだと思う。ワークシートには"1.9.2 (maybe sooner!)"とあるが、確実にパフォーマンスが上がるので、ぜひ1.9.1に間に合ってほしい。