[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[MD:7042] Conservative stack scanning on Meadow.



堀口です. 今ひとつわからなかったのでここでお聞きしますが..

Stefan> > So, it may be freed by GC happened in evalfun (is typically
Stefan> > Feval) called just after.
Stefan> 
Stefan> Actually, in most configurations nowadays Emacs doesn't
Stefan> use GCPROs any more but uses conservative stack scanning
Stefan> instead, so the problem is limited to some particular
Stefan> (hopefully rare) configs.
 
http://lists.tunes.org/archives/gclist/2001-July/002136.html

 今時の Emacs ではスタック見て決めるので GCPRO はイランということ
のようですが,

Meadow3/src/config.h
> /* Meadow change: Disable conservative GC.  */
> /* Enable conservative stack marking for GC.  */
> #undef GC_MARK_STACK

 Meadowは このあたりでは GCPRO を使う方法を使い続けているというこ
とですね.

 んで, その理由は以下でいうテストで"やっぱだめじゃん"ということで
やめたんでしょうか. 3年前の話ですが..

http://www.ysnb.net/meadow/meadow-develop/2002/msg01007.html

でも今の emacs のソースを見るとたしかに,

emacs/src/config.h
> /* Enable conservative stack marking for GC.  */
> #define GC_MARK_STACK 1

 というわけで GC_MAKE_GCPROS_NOOPS (1) に設定されています.

Meadow でも動くんでしょうか. それとも何か他の条件も重なってやっぱ
り無理? 実は切り替えには意味があまりない?

-- 
ほりぐちきょうたろう