[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Opportunistic GC
From: |
Pip Cet |
Subject: |
Re: Opportunistic GC |
Date: |
Mon, 8 Mar 2021 15:02:18 +0000 |
On Mon, Mar 8, 2021 at 2:49 PM Eli Zaretskii <eliz@gnu.org> wrote:
> > From: Pip Cet <pipcet@gmail.com>
> > Date: Mon, 8 Mar 2021 10:44:06 +0000
> > Cc: eliz@gnu.org, Stefan Monnier <monnier@iro.umontreal.ca>,
> > emacs-devel@gnu.org
> >
> > And, yes, we should keep the mark bits separate from the data so we
> > could avoid unsharing an entire page because a single object in it
> > survives GC.
>
> Ah, so not really an easy change after all.
For conses, it's easy. Instead of keeping the mark bits in the cons
block, we keep a pointer to the mark bits in the cons block, and
allocate the mark bits separately and (hopefully) on a different page.
> And how do you propose to keep the mark bits separately and still
> maintain coherency between the object and its bits?
Just as we do for pdumper, which already does this. In fact, I'm
pretty sure it was Daniel who said a while ago that he wants to extend
that to all GCable objects, not just those that live in the pdmp.
AFAIK, we never go from mark bit to object, only from object to mark
bit. And that would simply be behind a level of pointer indirection.
In each Emacs process, there'd still be a 1-to-1 relation between
objects and mark bits. It would just so happen that there are two
Emacs processes, one of which only checks which objects are
unreachable in it and tells the other one about them.
Pip
- Re: Opportunistic GC, (continued)
- Re: Opportunistic GC, martin rudalics, 2021/03/08
- Re: Opportunistic GC, Pip Cet, 2021/03/08
- Re: Opportunistic GC, martin rudalics, 2021/03/08
- Concurrent GC via fork (was: Opportunistic GC), Stefan Monnier, 2021/03/08
- Re: Concurrent GC via fork, martin rudalics, 2021/03/09
- Re: Opportunistic GC, Pip Cet, 2021/03/10
- Re: Opportunistic GC, Stefan Kangas, 2021/03/08
- Re: Opportunistic GC, Pip Cet, 2021/03/08
- Re: Opportunistic GC, Andrea Corallo, 2021/03/08
- Re: Opportunistic GC, Eli Zaretskii, 2021/03/08
- Re: Opportunistic GC,
Pip Cet <=
- Re: Opportunistic GC, Eli Zaretskii, 2021/03/08
- Re: Opportunistic GC, Pip Cet, 2021/03/08
- Re: Opportunistic GC, Eli Zaretskii, 2021/03/08
- Re: Opportunistic GC, Pip Cet, 2021/03/08
- Re: Opportunistic GC, Eli Zaretskii, 2021/03/08
- Re: Opportunistic GC, Stefan Monnier, 2021/03/08
- Re: Opportunistic GC, Pip Cet, 2021/03/08
- Re: Opportunistic GC, Stefan Monnier, 2021/03/08
Re: Opportunistic GC, Andrea Corallo, 2021/03/08