Java2Cトランスレータにおける可搬性のオーバヘッド

書誌事項

タイトル別名
  • Java2Cトランスレータ ニ オケル カハンセイ ノ オーバヘッド
  • Overheads for Portability in a Java2C Translator

この論文をさがす

抄録

Java では,セキュリティの確保やソフトウエア生産性の向上を目的として,null 検査によって不正なメモリ参照を防いだり,スタックトレース情報を提供したりする.これらの処理はJava が暗黙に実施するものであり,逆に,暗黙の処理を実施しないプログラムをJava で書くことはできない.暗黙の処理は実行時間やコードサイズに悪影響を与えうるが,暗黙の処理のオーバヘッドを軽減する作業は,Java では,プログラマではなく,コンパイラなど実行環境が実施する.暗黙の処理の中にはプラットホーム依存の技法を使うと効率的に実現できるものがあり,たとえばnull 検査はページトラップを使うと明示的なコードなしで実現できるが,ページトラップのようにプラットホーム依存の技法は可搬性を重視するJava コンパイラでは採用しにくい.本論文の目的はJava2C トランスレータとC コンパイラから構成する可搬性を重視したJava コンパイラにおいて,プラットホーム依存の技法を使わずに暗黙の処理を実現するとどれだけオーバヘッドが生じるか評価することにある.SPECjvm98 を使って評価した結果,プラットホーム依存の技法を使えば省略できる暗黙の処理向けのコードサイズが,Java2C トランスレータが生成するコード全体の40.03%を占めることが分かった.また,それらのコードの実行に,entiumIII 450 MHz とAm5x86 133 MHz を塔載したPC においてそれぞれ実行時間全体の5.75%および10.56%を費やすことが分かった.

Java implicitly provides features such as null tests to prevent invalid memory access for security,and stack traces to improve software productivity,and it is impossible to write a Java program that is free from the implicit features.In Java,the respoinsibility to remove overheads for the implicit features is not on the programmer but on the Java runtime environment,especially on its compiler.A Java compiler that is composed of a Java2C translator and a C compiler has good portability,but it su ?ers from more overheads to implement implicit features because a Java2C translator cannot use techniques that depend on platform.Some of the implicit features,such as null tests,can be implemented with little performance overhead by platform dependent techniques such as page traps.This paper shows the overheads Java2C translator su ?ers from inability to use platform dependent techniques.The result of SPECjvm98 showed that codes for implicit features share 40.03%of code-size a Java2C translator emits and the codes consume respectively 5.75% and 10.56%of the total execution time in PCs with entiumIII 450 MHz or Am5x86 133 MHz.

収録刊行物

参考文献 (20)*注記

もっと見る

キーワード

詳細情報 詳細情報について

問題の指摘

ページトップへ