emacs-devel
[Top][All Lists]
Advanced

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

Re: Some experience with the igc branch


From: Eli Zaretskii
Subject: Re: Some experience with the igc branch
Date: Sat, 28 Dec 2024 18:27:33 +0200

> Date: Sat, 28 Dec 2024 14:04:31 +0000
> From: Pip Cet <pipcet@protonmail.com>
> Cc: Eli Zaretskii <eliz@gnu.org>, stefankangas@gmail.com, ofv@wanadoo.es, 
> emacs-devel@gnu.org, eller.helmut@gmail.com, acorallo@gnu.org
> 
> Gerd Möllmann <gerd.moellmann@gmail.com> writes:
> 
> >> If I run Emacs with a breakpoint in process_one_message (after
> >> enabling garbage-collection-messages), all I ever see is GC triggered
> >> by igc_on_idle, which AFAIU is only one of the way GC can be
> >> triggered.  Where are the entry points for the other GC triggers?  I'm
> >> asking because I'd like to run Emacs like that and see which thread(s)
> >> run GC.
> >
> > I wonder if your interpretation is right here. AFAIR,
> > process_one_message is always called from igc_on_idle. IOW, we handle
> 
> There's a second call path when we create finalizable objects
> (maybe_process_messages).
> 
> > messages from MPS only when Emacs thinks it's idle, and that is always
> > in the main thread.
> 
> My understanding is, also, that process_one_message doesn't trigger GC,
> it handles messages produced by GCs triggered in other places.

But igc_on_idle does call GC, right after it calls
process_one_message, so a breakpoint there will show when GC is
entered due to Emacs being idle.



reply via email to

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