[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 メーリングリストの案内