Research Project
Grant-in-Aid for JSPS Fellows
前年までの成果を元に、環境に適応する高性能なJava仮想機械を実現する方式の中心となるOpenJIT2の設計および実装を行った。OpenJIT2は開放型コンパイラの技術を用いて設計されたJava仮想機械向けのJust-In-Timeコンパイラであり、Javaプログラムの実行時に実行環境において行われるJavaバイトコードから実行環境の機械語へのコンパイルを行うコンパイラである。OpenJIT2は、開放型コンパイラ技術により、実行環境やプログラムの性質に特化したコンパイラモジュールを動的に組み込むことが可能であるため、従来のコンパイラでは実現できない種類のコンパイラによる最適化技術を適用するJust-In-Timeコンパイラを構成することができる。また、OpenJIT2はユーザによるコンパイラモジュールの実装を支援するために、オブジェクト指向によるアプリケーションフレームワークとして設計および実装がなされている。この特長はOpenJIT2自体の様々なJava仮想機械への移植性も同時に実現する。設計当初の動作環境であるClassic VMと呼ばれるJava仮想機械に加え、現在、西フロリダ大学ペンサコーラ校のグループが開発中のAroma VMと呼ばれるClassic VMとは完全に異なるJava仮想機械への移植作業が進んでおり、今後評価を行った上で成果を論文として発表する予定である。本研究の3年間の成果として、プログラムの実行環境やプログラムの性質に特化した最適化を実現するJust-In-TimeコンパイラであるOpenJIT2の機能とOpenJIT2自体のJava仮想機械間の移植性の実現により、環境に適応する高性能なJava仮想機械が実現できたといえる。