emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MPS signals and Emacs


From: Eli Zaretskii
Subject: Re: MPS signals and Emacs
Date: Mon, 22 Apr 2024 12:41:11 +0300

> From: Gerd Möllmann <gerd.moellmann@gmail.com>
> Cc: eggert@cs.ucla.edu,  eller.helmut@gmail.com,  emacs-devel@gnu.org
> Date: Mon, 22 Apr 2024 11:29:30 +0200
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> I think I've also seen at least one other example, but I forget where
> >> that was (maybe specpdl, or bytecode?). I think the function called
> >> is mark_mem or so.
> >
> > So any Lisp object referenced from the C stack or from byte-code will
> > not be copied by MPS?  
> 
> Yes.
> 
> > What are the implications of that for Emacs? AFAIU, the current GC
> > considers any such object as live, marks it, and doesn't collect it as
> > garbage during the sweep step, but being unable to copy such an object
> > means something very different for a copying GC, doesn't it? Because
> > AFAIU live objects _are_ copied.
> 
> No, it's a bit different. Being able to copy and objects being live are
> orthogonal. At the heart of the mostly-copying idea is simply that
> ambigupusly references aren't moved in memory (so they aren't copied).
> That doesn't mean these objects aren't live. They are.

Doesn't copying GC work by copying live objects to a new memory
region, and then freeing the old region?  If so, if some objects
cannot be moved, how can the old region be freed?



reply via email to

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