On Mon 29 Sep 2008 09:35, [EMAIL PROTECTED] (Ludovic Courtès) writes:

> Hi!
>
> Andy Wingo <[EMAIL PROTECTED]> writes:
>
>> Current plan is to either look at that GC leak, if I'm feeling
>> adventurous, or otherwise keep plugging away at the test suite. Most
>> things pass but I do find some random bugs (46d2d6f80 took me a long
>> time to figure out).
>
> I see this change (in 877ffa3f9c8b1d58aedff2821ee1811c6f3c3622):
>
> @@ -331,7 +331,7 @@ vm_mark (SCM obj)
>  
>    /* mark the stack conservatively */
>    scm_mark_locations ((SCM_STACKITEM *) vp->stack_base,
> -                      vp->sp - vp->stack_base + 1);
> +                      sizeof (SCM)*(vp->sp + 1 - vp->stack_base));
>
> Assuming the `sp' and `stack_base' fields are `SCM_STACKITEM *', this
> change yields over-marking, which might explain why it fixes a problem
> with missed references (as noted in the log) as a side effect.

Yep. It was uncovered in 7ff017002ddc980f684120653549a10c6c7cde5c; seems
it has been over-marking since 2001 :)

> BTW, I'm not sure what you mean by "GC leak" (missed references or
> really ever-growing heap?) and by "plugging away at the test suite".

By GC leak I meant a missed reference (when the marking is done
"correctly").

By "plugging away at the test suite", I mean, getting more test cases
(the Guile ones, not the VM ones) to run. Currently there are a handful
that fail.

Cheers,

Andy
-- 
http://wingolog.org/


Reply via email to