On Monday 19 January 2009 12:34:02 am you wrote:
> I actually applied this patch instead, but you must be thanked anyway
> for the debugging.
Another thing is I don't think the _gst_incremental_gc_step function in
oop.c is doing what it means to do:
void
_gst_incremental_gc_step ()
{
OOP oop, firstOOP;
int i;
for (i = 0, oop = _gst_mem.highest_swept_oop,
firstOOP = _gst_mem.last_swept_oop;
i <= INCREMENTAL_SWEEP_STEP && --oop > firstOOP;
oop->flags &= ~F_REACHABLE)
{
if (--oop > firstOOP)
{
finished_incremental_gc ();
break;
}
if (!IS_OOP_VALID_GC (oop))
...
If you look closely there is no practical way it can get to the
IS_OOP_VALID_GC check, let alone the actual sweeping. However my attempt
of fixing it intuitively caused gst to crash so I don't know...
Derek
_______________________________________________
help-smalltalk mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-smalltalk