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