help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-smalltalk] the garbage collector is not doing its job


From: Derek Zhou
Subject: Re: [Help-smalltalk] the garbage collector is not doing its job
Date: Tue, 20 Jan 2009 22:20:50 -0800
User-agent: KMail/1.9.9

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]