遠藤です。

# ruby-dev からエラーメールが来たので再送しています。
# もし二重投稿になったらすみません。


いや、やっぱり私の勘違いでした ;-(
lev == 0 && stack_check() の lev は減っていくと思っていたら増えていく
んですね。大変失礼しました。


2011年7月2日18:49 Yusuke ENDOH <mame / tsg.ne.jp>:
> stack_check() は lev とか関係なく「現在からスタックを GC_WATER_MARK だけ
> 伸ばしても大丈夫か」をチェックするものだと思います。

でも、stack_check が上記の私の理解で使われている箇所もあるようなので
(vm_eval.c が ruby_stack_check 経由で stack_check を呼んでいる) 、
stack_check の引数で GC_WATER_MARK の大きさを指定可能にするのがいい
と思います。

-- 
Yusuke Endoh <mame / tsg.ne.jp>