家電向けJava JITコンパイラの構成方法とその評価

書誌事項

タイトル別名
  • カデン ムケ Java JIT コンパイラ ノ コウセイ ホウホウ ト ソノ ヒョウカ
  • A Construction Scheme of Java JIT Compiler for Consumer Electronics and Its Evaluation

この論文をさがす

抄録

携帯電話などの家電機器へのJava 普及が進みつつある中で,Java プログラムの高速化が求められ,Java JIT コンパイラが要望されている.家電機器向けのJIT コンパイラの実装では,実行性能追求よりも家電機器の持つ2 つの特性「メモリ資源の制約」,「機種展開時のCPU 変更に対応する移植性」を考慮する必要がある.PC 用JIT コンパイラは,レジスタなど,CPU に依存した構造に最適化することによって,高速化に注力しているが,コンパイラが複雑化してメモリ資源が増え,CPU の移植性が低下するため,家電機器にはそのままでは適用できない.本論文で提案する方式では,1)最適化を実装しないことでコンパイラサイズを縮小し,2) GCC の利用とインタプリタC ソースコードからのコンパイラ自動生成による移植性の向上,を実現させた.また,本方式では,bytecode 実行とnativecode 実行が同じJava オペランドスタックを共有するので,部分コンパイルが容易に実現でき,nativecode を格納するメモリを削減するうえでも有効である.インテルx86 用の実装評価では,コンパイラ自体のメモリ量が17K バイト,インタプリタの最大8.7 倍の高速化を実現できた.

In Java having wide spread through the consumer electronics appliances, e.q. a cellular phone, the Java JIT compiler is necessary to improve the execution speed of Java programs. In the implementation of the JIT compiler for cunsumer electronics, the characteristics that have “restrictions of memory resources” and “the portability to CPU change at the time of model deployment” need to be taken into more consideration, rather than the improvement in its speed. The JIT compiler for PC has concentrated in improvement of the execution speed by optimizing to the structure depending on CPU, such as registers. While a compiler becomes complicated, memory resources increase and the portability of CPU goes down, as a result, it is inapplicable to consumer electronics. In the proposed scheme by this paper, we reduced the compiler size without adopting the optimization depending on CPU, and raised ortability with using GCC and carrying out automatic generation of the compiler from an interpreter source code. Moreover, since byte code and native code share the Java operand stack at execution time, partial compilation is easily realized. Therefore, this system is ef-fective for reducing the memory which stores native codes. Our evaluation results show that compiler memory size is 17 K bytes for Intel x86 processor, and that the execution speed of native codes is a maximum of 8.7 times of an interpreter.

収録刊行物

被引用文献 (2)*注記

もっと見る

参考文献 (13)*注記

もっと見る

キーワード

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

問題の指摘

ページトップへ