emacs-devel
[Top][All Lists]
Advanced

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

Re: scratch/igc: Implications of MPS being asynchronous


From: Eli Zaretskii
Subject: Re: scratch/igc: Implications of MPS being asynchronous
Date: Sun, 12 Jan 2025 12:57:42 +0200

> From: Stefan Kangas <stefankangas@gmail.com>
> Date: Sun, 12 Jan 2025 10:17:30 +0000
> Cc: pipcet@protonmail.com, gerd@gnu.org
> 
> In Bug#75322, Pip Cet writes:
> 
> > The MPS-based GC in scratch/igc does not allow or require application
> > C code to make "no GC here" assumptions.
> 
> This is stated quite unambiguously also in the MPS guide:
> 
>      "The MPS is asynchronous: this means that it might be scanning,
>      moving, or collecting, at any point in time (potentially, between
>      any pair of instructions in your program)."  (Chapter 2)
> 
> This makes it clear what it means not to "allow" C code to make "no GC
> here" assumptions.  But I don't understand what it means that it is not
> "required" to make such assumptions.  Could someone clarify that part
> please?

The above text is misleading: "asynchronous" doesn't seem to be
relevant to the part of MPS we are using, since its GC runs on our
threads, not on a separate thread.  And saying that "no GC here"
assumptions are always false is too radical to my palate, and AFAIU is
at least not accurate.

> I would suggest documenting this somehow.  The attached patch is the
> best proposal I could come up with based on my understanding so far.

Thanks, but I think it's inaccurate for the reasons explained above.



reply via email to

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