Java向け静的コンパイラによる仮想メソッド呼び出しの高速化
スポンサーリンク
概要
- 論文の詳細を見る
Javaアプリケーションを高速実行する手段の1つに, 静的コンパイラがある. 静的コンパイラの利点は, JITコンパイラより長い時間をかけて最適化を実施できる点にある. しかし, クラス間最適化を施した静的コンパイル済みコードは, プログラムの実行開始当初から利用できるとは限らず, 静的コンパイル時に参照したクラスの初期化が済むまでリンクを待たなければならない場合がある. そこで, Java向け静的コンパイラでは, クラス間最適化の実施にあたり, コードの実行速度だけでなく, リンク時期についても配慮する必要がある. 本論文では, 仮想メソッド呼び出しを高速化するクラス間最適化であるI-call if変換について, リンク時期への配慮を含め, Java向け静的コンパイラで実現する方針について検討する. SPECjvm98による評価結果から, Java向け静的コンパイラではメソッドチェック変換と限定的I-call if変換を積極的に適用すると実行速度が遠くなる傾向があり, メソッドチェック変換のみで最適化すると, クラスチェック変換のみで最適化する場合より最大で9.83%高速化できることが分かった.
- 一般社団法人情報処理学会の論文
- 2001-07-15
著者
関連論文
- Javaにおけるコンテナ向けキャストの除去
- Java向け動的コンパイラによる冗長なインスタンス変数参照の削除
- Java向け動的コンパイラによる冗長なBox化の削除
- Java向けヒープに対する不正参照のページ保護による検出
- 脆弱性を考慮したJava向け動的コンパイラの可搬な設計(セキュリティ基盤技術)
- 脆弱性の動的検知機能との連携を考慮した構造化例外処理の設計
- スレッド別ごみ集めにおけるライトバリアの高速化
- Java2Cトランスレータにおける可搬性のオーバヘッド
- 組込み機器向けJava2Cトランスレータにおける2返戻値法を使った例外処理の実現
- Java2Cトランスレータにおける例外処理の実現
- Java向け静的コンパイラによる仮想メソッド呼び出しの高速化
- Javaにおける静的コンパイル済みコードのリンク方法
- Java向け静的コンパイラによるクラス間最適化
- Java向けごみ集めの基本処理の高速化