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

Reply via email to