Java向け動的コンパイラによる冗長なインスタンス変数参照の削除
スポンサーリンク
概要
- 論文の詳細を見る
本論文では,Java向け動的コンパイラにおいて,冗長なインスタンス変数参照の削除を実施する際に,固有に問題となる点を指摘し,その解決策を検討する.本論文で指摘する問題点とは,動的ロードとネイティブメソッド呼び出しである.動的ロードが問題となるのは,クラスの動的な追加によって,結果として,最適化を適用可能な箇所が変化し,追加より前に適用した最適化が不適切になりうるからである.ネイティブメソッド呼び出しが問題となるのは,Javaのプログラム(バイトコード)を解析しただけでは分からないところからインスタンス変数参照を書き換えうることから,インスタンス変数参照の書き換えがいつおきるか,どのインスタンス変数参照が冗長か判定することが困難になり,最適化を適用しにくくなるからである.これらの問題を回避する手段として,最適化の適用先を保守的に選択する方法もあるが,それでは適用先が少なくなる.本論文の提案技法では,これらの問題の解決するために,実行時に動的ロードやネイティブメソッドの利用状況を監視し,監視の結果に基づいて最適化を適用する.提案技法を使って冗長なインスタンス変数参照の削除を実装し,その効果を,SPECjvm98およびSPECjbb2005を使って評価した結果,実行速度を相乗平均で0.6%高速化できることが分かった.
- 一般社団法人情報処理学会の論文
- 2008-01-15
著者
関連論文
- Javaにおけるコンテナ向けキャストの除去
- Java向け動的コンパイラによる冗長なインスタンス変数参照の削除
- Java向け動的コンパイラによる冗長なBox化の削除
- Java向けヒープに対する不正参照のページ保護による検出
- 脆弱性を考慮したJava向け動的コンパイラの可搬な設計(セキュリティ基盤技術)
- 脆弱性の動的検知機能との連携を考慮した構造化例外処理の設計
- スレッド別ごみ集めにおけるライトバリアの高速化
- Java2Cトランスレータにおける可搬性のオーバヘッド
- 組込み機器向けJava2Cトランスレータにおける2返戻値法を使った例外処理の実現
- Java2Cトランスレータにおける例外処理の実現
- Java向け静的コンパイラによる仮想メソッド呼び出しの高速化
- Javaにおける静的コンパイル済みコードのリンク方法
- Java向け静的コンパイラによるクラス間最適化
- Java向けごみ集めの基本処理の高速化