[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 09:02:52 +0000 |
On Mon, Mar 8, 2021 at 8:26 AM martin rudalics <rudalics@gmx.at> wrote:
> > For me, it was a bit difficult to see that this would indeed be safe,
> > but I'm now pretty convinced it would be: objects that are unreachable
> > in the child Emacs cannot become reachable in the parent Emacs (they
> > might show up on the stack, but that's a false positive).
>
> How would this handle the standard problem of the Lisp thread storing a
> pointer to an unmarked object A in an already marked object B and
> releasing all other pointers to A?
We fork(), we don't clone(). If A exists at the time of fork() but
isn't reachable through the thread's stack, that's a bug anyway; if it
doesn't exist yet at the time of fork(), it's not collected in this
cycle.
Did I miss something?
(Other than weak hash tables, of course, which may resurrect
unreachable objects, but I intend to handle those...)
Pip
- Opportunistic GC, Stefan Monnier, 2021/03/07
- Re: Opportunistic GC, Pip Cet, 2021/03/08
- Re: Opportunistic GC, martin rudalics, 2021/03/08
- Re: Opportunistic GC,
Pip Cet <=
- Re: Opportunistic GC, martin rudalics, 2021/03/08
- Re: Opportunistic GC, Pip Cet, 2021/03/08
- 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