Programming Languages, Martial Arts and Computers. The Weblog of Chris Double.

これからリリースされるFirefoxにはTamarin JITやSpiderMonkey JITと呼ばれるJavaScript JIT技術実装が搭載される。結果として、JavaScriptの実装が大幅に改善され、Webアプリケーションのより快適な利用が可能になる。このJIT技術のバックエンド技術として使われているC++ライブラリがNanojitだ。LIR (low-level intermediate representation)と呼ばれる表記をNanojitにかませることでマシンコードを生成して利用することができる。

このNanojitを使うサンプルをChris Double氏が身のブログにおいてSimple Nanojit Exampleとして公開した。Nanojitを使ってみるのに具合のいい記事に仕上がっている。Simple Nanojit Exampleでは簡単な算術処理をNanojitを使って処理する例を紹介しており、実際にどういったマシンコードが生成されたかが掲載されている。なお、NanojitはいまのところTamarinとMozillaのリポジトリに含められているため、Chris Double氏はNanojitの部分だけを抜き出してGitHubにコードをおいている。

JIT技術はスタティックにコンパイルを実施してネイティブコードを生成するタイプ以外の言語では、実行速度の高速化を実現する方法としてもっともポピュラーなもののひとつ。しかし実際にプログラミングするとなるとなかなか手がでない分野でもある。Simple Nanojit Exampleなシンプルなサンプルだが、それでも若干複雑だ。しかし取っ掛かりとしてはじめるには理解しやすいドキュメントといえる。