[Yarv-devel] constant folding (was: calc constant)
MAEDA Atusi
maeda-yarv @ atusi.org
2004年 2月 10日 (火) 01:48:24 EST
"K.Sasada" <ko1 at namikilab.tuat.ac.jp> writes:
> そのまんま selective inlining なんですね。引用してるし。コピーして良い、
> 悪い、の判定が面白いですね。MIPS は icache破棄は特権命令だったかなぁ。
そうなんですよ。ほとんど「自動JIT構成法」ですよね。
GCC以外ならcase threadingにfallbackするようにすれば、移植性も問題ない。
> > ああ、オペランド(put 20 の「20」とか)はthreaded codeの方に入ってるんで
> > したね。特殊化した命令 (put_20 とか) 以外はダメか。
>
> オペランドも埋め込めちゃう何かがやっぱり必要なんですかね。って、まんま
> アセンブラですね。
そういえば、こんなのがありました。
「家電向けJava JIT コンパイラの構成方法とその評価」
http://www.ipsj.or.jp/members/Trans/Jpn/03/2002/4308/article005.html
・Cで書いたインタプリタ記述からJITを自動生成する。
・機械語にオペランドが埋め込まれる箇所の埋め込み方は、オペランドを変え
てCでコンパイルしてみて、差分を比較して自動判別する。
前田敦司
Yarv-devel メーリングリストの案内