ノルウェーのOpera Softwareは同社の公式ブログで現地時間2009年2月4日,Webブラウザ「Opera」用の新たなJavaScriptエンジン「Carakan」を開発中であると発表した。バイトコード処理の見直しやコンパイル機能の搭載といった改良で高速化を図る。具体的な提供時期は明らかにしていない。

 ネイティブ・コードを生成しない「コンパイル機能オフ」の設定で処理速度を調べたところ,ベンチマーク・テストSunSpiderの結果はWebブラウザ「Opera 10」(アルファ版)のレンダリング・エンジン「Presto 2.2」に搭載されているJavaScriptエンジンに比べ2~3倍程度速かったという(関連記事:次期Webブラウザ「Opera 10」のアルファ版公開,新レンダリング・エンジンを搭載)。ネイティブ・コードを生成させるテストでは,既に5~50倍の高速化を確認できたとしている。

 新JavaScriptエンジンは,バイトコード処理時に固定長のスタックを確保する「レジスタ」方式を採用し,各命令からどのレジスタでもアクセスできるようにした。スタックの最上位にあるデータをコピーする必要がないため,処理速度の向上につながる。

 バイトコードとコンパイルしたネイティブ・コードを組み合わせ,高速化とコンパイル処理によるオーバーヘッドのバランスをとる。当初は32ビット/64ビット版x86プロセサのみに対応するが,ARMなどほかのプロセサ・アーキテクチャ向けの準備作業も始めている。さらに,プログラム言語のクラスで各JavaScriptオブジェクトを表現する,といった改良も施す。

[公式ブログへの投稿記事]