WEKO3
アイテム
コード書換えによる動的メソッド呼び出しの直接Devirtualization
https://ipsj.ixsq.nii.ac.jp/records/16779
https://ipsj.ixsq.nii.ac.jp/records/1677972780619-4420-4d85-9f14-832d1475faa8
| 名前 / ファイル | ライセンス | アクション |
|---|---|---|
|
|
Copyright (c) 2002 by the Information Processing Society of Japan
|
|
| オープンアクセス | ||
| Item type | Trans(1) | |||||||
|---|---|---|---|---|---|---|---|---|
| 公開日 | 2002-09-15 | |||||||
| タイトル | ||||||||
| タイトル | コード書換えによる動的メソッド呼び出しの直接Devirtualization | |||||||
| タイトル | ||||||||
| 言語 | en | |||||||
| タイトル | A Direct Devirtualization Technique with the Code Patching Mechanism | |||||||
| 言語 | ||||||||
| 言語 | jpn | |||||||
| キーワード | ||||||||
| 主題Scheme | Other | |||||||
| 主題 | 発表概要 | |||||||
| 資源タイプ | ||||||||
| 資源タイプ識別子 | http://purl.org/coar/resource_type/c_6501 | |||||||
| 資源タイプ | journal article | |||||||
| 著者所属 | ||||||||
| 日本IBM株式会社東京基礎研究所 | ||||||||
| 著者所属 | ||||||||
| 日本IBM株式会社東京基礎研究所 | ||||||||
| 著者所属 | ||||||||
| 日本IBM株式会社東京基礎研究所 | ||||||||
| 著者所属 | ||||||||
| 日本IBM株式会社東京基礎研究所 | ||||||||
| 著者所属(英) | ||||||||
| en | ||||||||
| Tokyo Research Laboratory, IBM Japan Ltd. | ||||||||
| 著者所属(英) | ||||||||
| en | ||||||||
| Tokyo Research Laboratory, IBM Japan Ltd. | ||||||||
| 著者所属(英) | ||||||||
| en | ||||||||
| Tokyo Research Laboratory, IBM Japan Ltd. | ||||||||
| 著者所属(英) | ||||||||
| en | ||||||||
| Tokyo Research Laboratory, IBM Japan Ltd. | ||||||||
| 著者名 |
石崎, 一明
安江, 俊明
川人, 基弘
小松, 秀昭
× 石崎, 一明 安江, 俊明 川人, 基弘 小松, 秀昭
|
|||||||
| 著者名(英) |
Kazuaki, Ishizaki
Toshiaki, Yasue
Motohiro, Kawahito
Hideaki, Komatsu
× Kazuaki, Ishizaki Toshiaki, Yasue Motohiro, Kawahito Hideaki, Komatsu
|
|||||||
| 論文抄録 | ||||||||
| 内容記述タイプ | Other | |||||||
| 内容記述 | 本発表では,Java などの動的クラスロードをともなう言語において,実装が容易な動的メソッド呼び出しの直接devirtualization 手法を提案する.本手法では,コンパイル時に動的メソッド呼び出しに対して直接devirtualization されたコードとメソッドがオーバライドされた場合に実行する動的メソッド呼び出し,の2 種類のコードを生成する.最初は前者を実行し,オーバライドが起きたときにコードを書き換えて後者を実行する.本手法では,コード書換えによって直接devirtualization されたコードを無効化するので,脱最適化のような再コンパイルのための複雑な実装が不要である.一方,再コンパイルを不要にするためにコンパイル時に2 種類のコードを用意するので,制御フロー上に合流点が生成される.一般に制御フローの合流点はコンパイラの最適化を妨げるが,本発表では合流点が存在しても十分な最適化を可能にする手法を示す.さらに,本手法と他のdevirtualization 手法を組み合わせてJava のJust-In-Time コンパイラに実装し,評価を行った.その結果,devirtualizationを行わない場合に比べ,SPECjvm98 とSPECjbb2000 において0 ?181%(平均24%)性能を改善できることを示す. | |||||||
| 論文抄録(英) | ||||||||
| 内容記述タイプ | Other | |||||||
| 内容記述 | This presentation presents a direct devirtualization technique for a language such as Java with dynamic class loading.The implementation of this technique is easy.For a given dynamic method call,a compiler generates the inlined code of the method,together with the code of making the dynamic call.Only the inlined code is actually executed until our assumption about the devirtualizationbecomes invalidated,at which time the compiler performs code patching to make the code of dynamic call executed subsequently.This technique does not require the complicated implementation such as deoptimization to recompile the method that is active on stack.Since this technique prevents some optimizations across the merge point between the inlined code and the dynamic call,we have further more proposed optimization techniques effectively.We made some experiments to understand the effectiveness and characteristics of the devirtualization techniques in our Java Just-In-Time compiler.In summary, we improved the execution performance of SPECjvm98 and SPECjbb2000 by ranging from 0%to 181%(with the geometric mean of 24%). | |||||||
| 書誌レコードID | ||||||||
| 収録物識別子タイプ | NCID | |||||||
| 収録物識別子 | AA11464814 | |||||||
| 書誌情報 |
情報処理学会論文誌プログラミング(PRO) 巻 43, 号 SIG08(PRO15), p. 110-110, 発行日 2002-09-15 |
|||||||
| ISSN | ||||||||
| 収録物識別子タイプ | ISSN | |||||||
| 収録物識別子 | 1882-7802 | |||||||
| 出版者 | ||||||||
| 言語 | ja | |||||||
| 出版者 | 情報処理学会 | |||||||