• 検索結果がありません。

Op enJIT コンパイラ基盤機能

ドキュメント内 fmaster.dvi (ページ 45-50)

第 5 章 機能仕様

6.3 Op enJIT コンパイラ基盤機能

(1)

機能説明

本機能ではOpenJIT全体の基本動作を司る.

SunのJDKにおいては,Java Native Code API(Application Programmer's

Inter-face)というコンパイラに対するインタフェースが用意されている.このAPIJVM

のインタプリタにネイティブコード生成を組み込むために用意されたものである.今 回開発するOpenJITコンパイラでは,このAPIに基づくことによりJDKに準拠の

VMにOpenJITコンパイラを組み込むことができる.このJITコンパイラはJVM

ら必要なときに読み込まれ動作する.

(2)

機能構成及び他の機能ブロックとの関係

OpenJITコンパイラ基盤機能の構成と他の機能ブロックとの関係を図6.2に示す.

(3)

入力データ

特になし.

(4)

出力データ

起動情報.

(5)

例外条件及び制約条件

特になし.

バイトコード

O p e n J I Tフロント エンド 6.4 - 6.9

最適化された バイトコード

O p e n J I T バック エンド 7.3 - 7.9

O p e n J I T 初期化部

O p e n J I T コンパイラ フロントエンド

制御部

O p e n J I T JNI A P I 登録部

6.2: OpenJIT コンパイラ基盤機能

6.3.1 OpenJIT

初期化部

(1) 機能説明

OpenJIT初期化部は,OpenJITフロントエンドシステムの各機能,OpenJITバッ クエンドシステムの各機能の初期化を指示し,OpenJITシステム全体の初期化を行 う.

(2) 機能構成及び他の機能ブロックとの関係

本小機能の他の機能ブロックとの関係は図6.2に示す通りである.

(3) 入力データ 特になし.

(4) 出力データ 特になし.

(5) 例外条件及び制約条件 特になし.

(6) 特記事項(性能,容量)

特になし.

6.3.2 OpenJIT

コンパイラフロントエンド制御部

(1) 機能説明

OpenJITフロントエンドシステムのOpenJITバイトコードディスコンパイラ機能,

OpenJITクラスファイルアノテーション解析機能,OpenJIT最適化機能を必要に応

じて,起動および制御することで,フロントエンド系の処理を制御する.

(2) 機能構成及び他の機能ブロックとの関係

本小機能の他の機能ブロックとの関係は図6.2に示す通りである.

(3) 入力データ 特になし.

(4) 出力データ 特になし.

(5) 例外条件及び制約条件 特になし.

(6) 特記事項(性能,容量)

特になし.

6.3.3 OpenJIT JNI API

登録部

(1) 機能説明

OpenJITバックエンドシステム用のJNI(JavaNativeInterface)APIを登録する.

これにより,JavaVMに対して付加されるJIT用にJDKが用意したAPIOpenJIT システム内から利用して,任意のメソッドをJITコンパイルすることが可能となる.

(2) 機能構成及び他の機能ブロックとの関係

本小機能の他の機能ブロックとの関係は図6.2に示す通りである.

(3) 入力データ 特になし.

(4) 出力データ 特になし.

(5) 例外条件及び制約条件 特になし.

(6) 特記事項(性能,容量)

特になし.

ドキュメント内 fmaster.dvi (ページ 45-50)

関連したドキュメント