Java2Cトランスレータにおける可搬性のオーバヘッド
スポンサーリンク
概要
- 論文の詳細を見る
Javaでは,セキュリティの確保やソフトウエア生産性の向上を目的として,null検査によって不正なメモリ参照を防いだり,スタックトレース情報を提供したりする.これらの処理はJavaが暗黙に実施するものであり,逆に,暗黙の処理を実施しないプログラムをJavaで書くことはできない.暗黙の処理は実行時間やコードサイズに悪影響を与えうるが,暗黙の処理のオーバヘッドを軽減する作業は,Javaでは,プログラマではなく,コンパイラなど実行環境が実施する.暗黙の処理の中にはプラットホーム依存の技法を使うと効率的に実現できるものがあり,たとえばnull検査はページトラップを使うと明示的なコードなしで実現できるが,ページトラップのようにプラットホーム依存の技法は可搬性を重視するJavaコンパイラでは採用しにくい.本論文の目的はJava2CトランスレータとCコンパイラから構成する可搬性を重視したJavaコンパイラにおいて,プラットホーム依存の技法を使わずに暗黙の処理を実現するとどれだけオーバヘッドが生じるか評価することにある.SPECjvm98を使って評価した結果,プラットホーム依存の技法を使えば省略できる暗黙の処理向けのコードサイズが,Java2Cトランスレータが生成するコード全体の40.03%を占めることが分かった.また,それらのコードの実行に,PentiumIII 450MHzとAm5x86 133MHzを塔載したPCにおいてそれぞれ実行時間全体の5.75%および10.56%を費やすことが分かった.
- 一般社団法人情報処理学会の論文
- 2002-09-15
著者
関連論文
- Javaにおけるコンテナ向けキャストの除去
- Java向け動的コンパイラによる冗長なインスタンス変数参照の削除
- Java向け動的コンパイラによる冗長なBox化の削除
- Java向けヒープに対する不正参照のページ保護による検出
- 脆弱性を考慮したJava向け動的コンパイラの可搬な設計(セキュリティ基盤技術)
- 脆弱性の動的検知機能との連携を考慮した構造化例外処理の設計
- スレッド別ごみ集めにおけるライトバリアの高速化
- Java2Cトランスレータにおける可搬性のオーバヘッド
- 組込み機器向けJava2Cトランスレータにおける2返戻値法を使った例外処理の実現
- Java2Cトランスレータにおける例外処理の実現
- Java向け静的コンパイラによる仮想メソッド呼び出しの高速化
- Javaにおける静的コンパイル済みコードのリンク方法
- Java向け静的コンパイラによるクラス間最適化
- Java向けごみ集めの基本処理の高速化