[Top][All Lists]
[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/