わたなべです.

Yukihiro Matsumoto <matz / netlab.co.jp> writes:

:    if ((++tick & 0xfff) == 0 && stack_length() > STACK_LEVEL_MAX)
:	Raise(eSysStackError, "stack level too deep");
:
:と4096回に一回チェックしてるんですが,スタックの伸びが速すぎ
:て使い切る方が早かったんですね.もうちょっと頻繁にチェックす
:べきでしょうか.

最適化するのやめてたり gcc を使ったりすると 4096 でもいいみたいです.
sun4 cc で -O のときは 0x3ff でいちおう検出できました.
というわけで 1024 回に一回にするとか.