[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Opportunistic GC
From: |
martin rudalics |
Subject: |
Re: Opportunistic GC |
Date: |
Mon, 8 Mar 2021 10:51:20 +0100 |
> 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.
I have no idea what the difference between fork and clone implies here.
IIUC you have to make a copy of Lisp thread and heap, have the collector
operate on the copies and, when done, pass the now unmarked objects to
the Lisp thread for recycling in the original heap. IIUC that doubles
the size needed for heap and stack. And short-lived objects have to
wait for the next cycle to get recovered. Or what am I missing?
martin
- 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, 2021/03/08
- Re: Opportunistic GC,
martin rudalics <=
- 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
- Re: Opportunistic GC, Andrea Corallo, 2021/03/08