[Yarv-devel] GC Tech. on Script Lang.
nobu.nakada @ nifty.ne.jp
nobu.nakada @ nifty.ne.jp
2004年 2月 9日 (月) 21:15:56 EST
なかだです。
At Mon, 09 Feb 2004 20:55:56 +0900,
K.Sasada wrote:
> String#+ とか、 Fixnum#+, ... はきっと書き換えられないだろう、という予
> 測の下で、定数畳み込みみたいなことをやってしまう。でも、書き換えられたら
> やばいので、保険としてその命令列のを String とか Fixnum に登録しておく。
標準ライブラリでも書き換えるものはあります。mathn.rbとか。
> 定数にも同じようにフックかけてやれば、それは結構効果があると思うのです
> が。定数の再定義なんてあんまりしないよね? ね?
>
>
> if(DebugNantoka)
> debug_print ...
> end
>
> 個人的に、こういうのを消したいんですよ。これのために、私は ruby でこう
> いうの埋め込むのをためらってしまって。
そういう用途には、どっちかというとRegexpのoオプションを汎化させ
たものを…とか。
> 問題:畳み込んだ命令列実行中、String#+ などを再定義されたとき、処理が復
> 帰できますか?(命令位置の補正ができますか?)
「処理が復帰」というのがよく分かりませんが、すでにdispatchされ
たメソッドはそのまま継続するんじゃないでしょうか。全然違うこと
をいってるかも知れませんが。
--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦
Yarv-devel メーリングリストの案内