From: Ara.T.Howard@... Date: 2005-05-17T12:30:30+09:00 Subject: Re: rb_gc_mark question On Tue, 17 May 2005, Nakada, Nobuyoshi wrote: > Hi, > > At Tue, 17 May 2005 09:30:31 +0900, > Ara.T.Howard@noaa.gov wrote in [ruby-talk:142861]: >>> GC may run while resizing rows, however many platforms don't >>> have the problem. And rb_gc_mark() isn't sufficient in theory >>> but volatile with currow avoids it, so rb_gc_mark() isn't >>> needed here at all. >> >> why does it matter if the GC runs while re-sizing rows? it seems like rows >> would still have references to all the old rows and the new one would be >> added? or are you saying that, without volatile currow could get gc'd when >> rows got resized? i guess i can see that. still how would volatile help >> that? > > I forgot that it was an already fixed bug on platforms passing > arguments by regsiters. thanks nobu - this is good to know. >>> Therefore volatile before rval is better than rb_gc_mark() also >>> here. >> >> you are saying ONLY volatile and no rb_gc_mark then? > > So you don't need volatile neither rb_gc_mak() with recent versions of ruby > even on such platforms. o.k. - that's great because i already stripped them ;-) cheers. -a -- =============================================================================== | email :: ara [dot] t [dot] howard [at] noaa [dot] gov | phone :: 303.497.6469 | renunciation is not getting rid of the things of this world, but accepting | that they pass away. --aitken roshi ===============================================================================