emacs-devel
[Top][All Lists]
Advanced

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

Re: Collecting markers with MPS


From: Helmut Eller
Subject: Re: Collecting markers with MPS
Date: Wed, 24 Apr 2024 10:56:27 +0200
User-agent: Gnus/5.13 (Gnus v5.13)

On Wed, Apr 24 2024, Eli Zaretskii wrote:

[...]
>> What do you think?  Is there an more elegant alternative?
>
> My opinions here mean very little for now, as I don't yet have a good
> view of the issues, but in general: why do we have to do everything
> the old GC did in the new GC?

And I was hoping you would say: "We don't need to collect markers.  It's
a nicety that was easy to do in the old GC.  If it's not easy in the new
GC, leave it out".

> Can't we leave some of the stuff to be
> done in the main thread?  For example, the old GC would compact buffer
> text, Lisp strings, and font caches -- this cannot be done from a
> different thread, AFAIU.  Why not keep doing this from the main
> thread, like we do now? They are not really directly relevant to GC,
> just some housekeeping tasks that need to be done from time to time.

How would the main thread know that a marker is not referenced from
anywhere else than from the undo-list?  Are you saying the main thread
should still do some marking as the old GC did, so that it can make the
decisions on the same mark bits?

> Yes, it would mean the main thread still needs to stop from time to
> time, but for much shorter periods of time.  And it will allow us to
> sidestep the significant changes like those mentioned above, some of
> which would mean Lisp-level changes that will affect Lisp programs.
>
> If leaving some of this stuff in the main thread is reasonable, we
> could add the above two jobs to that part, which would allow us to
> leave the existing related code almost intact.
>
> Does this make sense?

I think, moving some things from the old GC code to timers certainly
would make sense.  But for the marker issue in particular, I don't see
how it could be done without help from the GC.

Helmut



reply via email to

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