emacs-devel
[Top][All Lists]
Advanced

[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



reply via email to

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