Date: Mon, 25 Oct 99 13:22:03 JST From: SHUDO Kazuyuki Subject: [JavaHouse-Brewers:28659] Re: Proxy JIT To: java-house-brewers at java-house.etl.go.jp (JavaHouse Brewers ML) Message-Id: <199910250420.NAA29193@cafe.muraoka.info.waseda.ac.jp> 首藤です。 > > Javaに対する意見ですが、JITコンパイル結果をなんとかしてアセンブラコー > > ドで見る手段が欲しいものですね。 > できるかも...。 > > まずニセJITを作ります。JIT interfaceを実装したものですがそれ自身はコー > ド生成をしません。本物のJITにつないで使います。VMからJITコンパイルせ > よとの指令がきたとき、本物のJITに生成させて、 どうせなら、複数の JIT の shared library をロードしておいて、 場合、メソッドに応じて JIT コンパイラを選べる、ってのはどうですか。 名付けて meta JIT。 #なんか俺、ここ 4,5年間、meta meta ばっかり言ってるような気が… JIT が生成したコードを覗く方法について、以前 [JavaHouse-Brewers:25385] analysis of JIT compiled code で書いたことがあります。 native methods を使って覗くことができると思います。 少なくとも classic VM でなら。 あと、JIT による最適化について知りたければ、 論文を読むっていう手もあります。 日本語で書かれたものをいくつか挙げます。 英語で書かれたものをフォロー仕切れてないもので… (AJIT, LaTTe, Cacao, ElectricalFire, ...) そういえば、Kaffe も 1.0.5 になり、JIT が以前よりずいぶん良くなったそうです。 以前のものは JIT2、今のものは JIT3 というそうです。 Kaffe の売りである高い移植性を性能と両立させるのは大変そうです。 [JIT by IBM, for AIX,Win32,Linux/PowerPC,x86] 石崎一明,川人基弘,今野和浩,安江俊明,竹内幹雄,小笠原武史,菅沼俊夫, 小野寺民也,小松秀昭, "Java Just-In-Time コンパイラにおける最適化とその評価", 電子情報通信学会技術研究報告, CPSY99-64, pp.17-24, Aug 1999 [FJIT by 富士通研 & 富士通, for SPARC] 志村浩也,木村康則, "Java JIT コンパイラの試作", 情報処理学会研究報告, 96-ARC-120, pp.37-42, Dec 1996 志村浩也,木村康則, "Java JIT コンパイラの性能評価", 情報処理学会第55回全国大会講演論文集(1), pp.228-229, Sep 1997 [OpenJIT by 松岡研 & 富士通研 & 富士通, for SPARC,x86] 松岡聡,小川宏高,志村浩也,木村康則,堀田耕一郎,高木浩光, "OpenJIT ---自己反映的な{Java JIT}コンパイラ---", 電子情報通信学会技術研究報告, CPSY98-67, pp.49-56, Aug 1998 OpenJIT A Reflective Java JIT Compiler http://www.openjit.org/index-j.html P.S. 出張している間に、面白そうなネタ (計算機アーキテクチャと JIT, ポインタ, メモリ管理など) が議論されていて、ちょっと悔しいです。 SHUDO Kazuyuki/首藤一幸 私をたばねないで あらせいとうの花のように shudoh at muraoka.info.waseda.ac.jp