guile-devel
[Top][All Lists]
Advanced

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

Re: vm status update, in the crisp fall


From: Andy Wingo
Subject: Re: vm status update, in the crisp fall
Date: Mon, 29 Sep 2008 20:38:14 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

On Mon 29 Sep 2008 09:35, address@hidden (Ludovic Courtès) writes:

> Hi!
>
> Andy Wingo <address@hidden> 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

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