ワークロード最適化システム - Java JITコンパイラ


Java JITコンパイラ


プロジェクトの概要

Java™は最も有力な言語の1つであり,ゲームからe-ビジネスまでの幅広い分野のプログラミングに利用されています. Javaで書かれたプログラムは,バイト・コードと呼ばれる中間言語に変換されるため, Java実行環境さえ用意すればどのような計算機上でも実行できるという長所があります. しかしその一方で,バイト・コードを実行する計算機上でインタープリットする ためのオーバヘッドが問題となっています.

ジャスト・イン・タイム (Just-In-Time, JIT) コンパイラは, バイト・コードを実行時に動的に機械語に変換 (コンパイル) することにより 高速実行を可能にする技術です. このプロジェクトの成果であるJITコンパイラの技術は, ネットワーク・コンピュータ (NC) から大型機までの IBMのほぼすべてのJavaプラットフォームで使用されています.


研究項目

  • インタプリタとコンパイルされたコードによる混在実行
  • 単一アトミック命令によるビジーウェイトしないロック技術
  • コード書き換えによるメソッド呼出の非仮想化
  • 制御フロー変形による異なるクラス情報の合流の最小化
  • メモリ保護機能を考慮した冗長NULLポインタチェックの除去
  • 2種類のプロファイラを使った最適化の動的制御
  • 例外の実行時履歴を使った例外処理最適化
  • 特殊命令を活用するためのイディオム認識技術
  • 局所性を活用したアトミック命令を用いないロック技術
  • NUMAマシンに対応したメモリ管理技術


学会での発表・論文・著作物