[Yarv-devel] GC Tech. on Script Lang.

nobu.nakada @ nifty.ne.jp nobu.nakada @ nifty.ne.jp
2004年 2月 9日 (月) 22:24:09 EST


なかだです。

At Mon, 09 Feb 2004 21:37:53 +0900,
K.Sasada wrote:
> > 標準ライブラリでも書き換えるものはあります。mathn.rbとか。
> 
>  はい。でも、メソッド呼ぶ回数よりは少ないと思います。トップ
> レベルで require しておけば、トップの命令列しか書き換えないで
> すむし("問題" になりますが)。

すでにrequireされた部分も書き換えないといけないのでは。

> > そういう用途には、どっちかというとRegexpのoオプションを汎化させ
> > たものを…とか。
> 
>  すみません、寡聞にして知らないんですが、ポインタなど教えて
> いただけませんか。

[ruby-dev:21614]とか、[ruby-list:22782]とかです。

> ## pseudo assembler(optimized) L1
> 0: put 20
> 2: send :p, 1
> ... !!
> X: put 20
> Y: send :p, 1
> 
> !! を実行すると、L1 は最適化前に戻る
> 
> ## ## pseudo assembler L1'
> 0: put 10
> 2: put 10
> 4: send :+,1
> ... !!
> X': put 10 # offset が X から X' に変わった
> Y': put 10
> Z : send :+, 1
> 
>  たとえば、module_eval からの返り番地は X として積んであっ
> たのですが、これを X' と変更しなければならないと思うのですが
> (でないと、結果が意図したものにならない)、これを実現できる
> かなぁ、とかです。


うーん、最初からnopで埋めておくくらいしか思い付きませんが…。

-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦


Yarv-devel メーリングリストの案内