From: Andrea Corallo <acorallo@gnu.org>
To: Helmut Eller <eller.helmut@gmail.com>
Cc: "Eli Zaretskii" <eliz@gnu.org>,
"Gerd Möllmann" <gerd.moellmann@gmail.com>,
emacs-devel@gnu.org
Subject: Re: MPS GC and its implications
Date: Thu, 02 May 2024 17:25:27 -0400 [thread overview]
Message-ID: <yp15xvv52k8.fsf@fencepost.gnu.org> (raw)
In-Reply-To: <87frv1hclv.fsf@gmail.com> (Helmut Eller's message of "Wed, 01 May 2024 15:43:08 +0200")
Helmut Eller <eller.helmut@gmail.com> writes:
>>> I'm not sure what is with the buffer case, but the string case means
>>> that source can point to string data, which is in our MPS leaf_pool. I
>>> think we cvould use an exact scan function for that purpose, analogous
>>> to scan_specpdl. WSYT?
>>
>> If this is indeed needed, we are in trouble. When we take a C pointer
>> to buffer or string text and use it in the following code, it's
>> because there's a hidden assumption that GC cannot happen during the
>> time the C pointer is being used. If this assumption is not true with
>> MPS, nothing in Emacs will work reliably.
>>
>> Is this indeed a problem? Didn't Gerd just explain to Andrea that
>> every object referenced from the stack or even from a register will be
>> automatically "fixed" if GC happens and decides to move the objects?
>> If so, why doesn't that solve the problem here?
>
> The stack and registers are ambiguous roots. The objects they point to
> are "pinned" i.e. not allowed to move. So as long as we keep a pointer
> in a local variable, things should work out fine.
[...]
>
> I think MPS is a concurrent GC, it means it runs "all the time". The
> reason why his works are the memory barriers. But maybe Gerd knows how
> things actually work.
It is still very unclear how it can move objects "all the time". During
execution traced objects can be loaded on the stack and unloaded all the
time (Eli showed other examples of that) so I don't see ATM how it can
move objects without actually pausing the mutator thread.
Andrea
next prev parent reply other threads:[~2024-05-02 21:25 UTC|newest]
Thread overview: 234+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-27 20:20 MPS: face-cache Gerd Möllmann
2024-04-28 5:06 ` Gerd Möllmann
2024-04-28 5:58 ` Gerd Möllmann
2024-04-28 6:09 ` Eli Zaretskii
2024-04-28 6:28 ` Gerd Möllmann
2024-04-28 6:45 ` Eli Zaretskii
2024-04-28 6:50 ` Gerd Möllmann
2024-04-28 7:37 ` Eli Zaretskii
2024-04-28 7:41 ` Gerd Möllmann
2024-04-28 6:50 ` Helmut Eller
2024-04-28 6:53 ` Gerd Möllmann
2024-04-28 6:58 ` Helmut Eller
2024-04-28 6:59 ` Gerd Möllmann
2024-04-28 7:10 ` Gerd Möllmann
2024-04-28 7:22 ` Gerd Möllmann
2024-04-28 7:29 ` Eli Zaretskii
2024-04-28 7:38 ` Gerd Möllmann
2024-04-28 7:56 ` Eli Zaretskii
2024-04-28 8:05 ` Gerd Möllmann
2024-04-28 8:13 ` Eli Zaretskii
2024-04-28 8:18 ` Gerd Möllmann
2024-04-28 8:23 ` Po Lu
2024-04-28 8:45 ` Eli Zaretskii
2024-04-28 8:22 ` Po Lu
2024-04-28 8:29 ` Gerd Möllmann
2024-04-28 8:35 ` Gerd Möllmann
2024-04-28 8:41 ` Po Lu
2024-04-28 8:43 ` Gerd Möllmann
2024-04-28 8:55 ` Gerd Möllmann
2024-04-28 7:55 ` Gerd Möllmann
2024-04-28 7:58 ` Eli Zaretskii
2024-04-28 8:04 ` Helmut Eller
2024-04-28 8:08 ` Gerd Möllmann
2024-04-28 8:52 ` Helmut Eller
2024-04-28 8:59 ` Gerd Möllmann
2024-04-28 9:04 ` Helmut Eller
2024-04-28 9:14 ` Gerd Möllmann
2024-04-28 9:26 ` Helmut Eller
2024-04-28 9:34 ` Gerd Möllmann
2024-04-28 9:40 ` Helmut Eller
2024-04-28 10:11 ` Gerd Möllmann
2024-04-28 10:17 ` Eli Zaretskii
2024-04-28 10:20 ` Gerd Möllmann
2024-04-28 10:43 ` Eli Zaretskii
2024-04-28 12:23 ` Gerd Möllmann
2024-04-28 12:26 ` Gerd Möllmann
2024-04-28 12:59 ` Helmut Eller
2024-04-28 13:55 ` Eli Zaretskii
2024-04-28 14:06 ` Gerd Möllmann
2024-04-28 14:30 ` Gerd Möllmann
2024-04-29 7:15 ` Helmut Eller
2024-04-29 7:52 ` Gerd Möllmann
2024-04-29 8:03 ` Helmut Eller
2024-04-29 8:21 ` Gerd Möllmann
2024-04-29 8:37 ` Eli Zaretskii
2024-04-29 8:41 ` Gerd Möllmann
2024-04-29 8:54 ` Helmut Eller
2024-04-29 11:05 ` Eli Zaretskii
2024-04-29 11:18 ` Gerd Möllmann
2024-04-29 11:41 ` Eli Zaretskii
2024-04-29 13:07 ` Helmut Eller
2024-04-29 13:22 ` Eli Zaretskii
2024-04-29 13:38 ` Helmut Eller
2024-04-29 13:57 ` Eli Zaretskii
2024-04-29 15:19 ` Helmut Eller
2024-04-29 15:32 ` Eli Zaretskii
2024-04-29 15:37 ` Eli Zaretskii
2024-04-29 8:39 ` Eli Zaretskii
2024-04-29 8:42 ` Gerd Möllmann
2024-04-29 13:13 ` Po Lu
2024-04-29 18:47 ` Gerd Möllmann
2024-04-29 19:15 ` Helmut Eller
2024-04-29 19:36 ` Gerd Möllmann
2024-04-30 5:52 ` Helmut Eller
2024-04-30 6:04 ` Gerd Möllmann
2024-04-30 6:36 ` MPS: staticpro everything Helmut Eller
2024-04-30 6:54 ` Gerd Möllmann
2024-04-30 18:57 ` Helmut Eller
2024-04-30 19:10 ` Gerd Möllmann
2024-04-30 19:22 ` Eli Zaretskii
2024-05-01 6:47 ` Gerd Möllmann
2024-05-01 7:33 ` Helmut Eller
2024-05-01 7:46 ` Gerd Möllmann
2024-05-01 12:15 ` Eli Zaretskii
2024-05-01 6:53 ` Helmut Eller
2024-05-01 13:06 ` Eli Zaretskii
2024-05-01 13:48 ` Gerd Möllmann
2024-05-01 14:02 ` Eli Zaretskii
2024-05-01 14:08 ` Helmut Eller
2024-05-01 14:20 ` Gerd Möllmann
2024-05-01 15:02 ` Eli Zaretskii
2024-05-01 16:06 ` Helmut Eller
2024-05-02 8:01 ` Eli Zaretskii
2024-05-02 9:04 ` Gerd Möllmann
2024-05-02 11:09 ` Eli Zaretskii
2024-05-02 12:01 ` Gerd Möllmann
2024-05-02 12:10 ` Eli Zaretskii
2024-05-02 12:30 ` Gerd Möllmann
2024-05-02 13:25 ` Po Lu
2024-05-02 14:01 ` Gerd Möllmann
2024-05-02 15:02 ` Eli Zaretskii
2024-05-02 15:37 ` Gerd Möllmann
2024-05-02 16:09 ` Eli Zaretskii
2024-05-02 19:08 ` Gerd Möllmann
2024-05-03 7:03 ` Eli Zaretskii
2024-05-03 7:30 ` Gerd Möllmann
2024-05-03 11:18 ` Helmut Eller
2024-05-03 11:29 ` Eli Zaretskii
2024-05-03 11:49 ` Gerd Möllmann
2024-05-03 12:01 ` Eli Zaretskii
2024-05-03 12:21 ` Gerd Möllmann
2024-05-03 13:39 ` Eli Zaretskii
2024-05-03 11:47 ` Gerd Möllmann
2024-05-02 15:12 ` Eli Zaretskii
2024-05-02 15:55 ` Gerd Möllmann
2024-05-02 16:45 ` Eli Zaretskii
2024-05-02 19:10 ` Gerd Möllmann
2024-05-02 15:09 ` Helmut Eller
2024-05-02 15:46 ` Gerd Möllmann
2024-05-02 16:03 ` Helmut Eller
2024-05-02 16:48 ` Eli Zaretskii
2024-05-02 18:30 ` Gerd Möllmann
2024-05-02 18:46 ` Eli Zaretskii
2024-05-02 19:01 ` Eli Zaretskii
2024-05-02 19:19 ` Gerd Möllmann
2024-05-02 19:51 ` Gerd Möllmann
2024-05-03 5:27 ` Eli Zaretskii
2024-05-03 5:44 ` Gerd Möllmann
2024-05-02 19:18 ` Gerd Möllmann
2024-05-02 18:49 ` Eli Zaretskii
2024-05-03 5:32 ` Gerd Möllmann
2024-05-03 6:26 ` MPS: GUI test automation (was: MPS: staticpro everything) Helmut Eller
2024-05-03 7:17 ` Eli Zaretskii
2024-05-03 7:18 ` MPS: GUI test automation Gerd Möllmann
2024-05-02 16:24 ` MPS: staticpro everything Eli Zaretskii
2024-05-01 6:05 ` Gerd Möllmann
2024-05-01 7:32 ` Helmut Eller
2024-05-01 7:46 ` Gerd Möllmann
2024-05-01 8:03 ` Gerd Möllmann
2024-05-01 8:25 ` Helmut Eller
2024-05-01 8:48 ` Gerd Möllmann
2024-05-01 9:42 ` Helmut Eller
2024-05-01 12:24 ` Eli Zaretskii
2024-05-01 16:45 ` Helmut Eller
2024-05-01 17:02 ` Gerd Möllmann
2024-05-01 13:12 ` Eli Zaretskii
2024-05-01 13:54 ` Gerd Möllmann
2024-05-01 12:50 ` MPS GC and its implications (was: staticpro everything) Eli Zaretskii
2024-05-01 13:39 ` MPS GC and its implications Gerd Möllmann
2024-05-01 14:52 ` Eli Zaretskii
2024-05-01 15:51 ` Gerd Möllmann
2024-05-01 16:48 ` Eli Zaretskii
2024-05-01 17:17 ` Gerd Möllmann
2024-05-01 17:52 ` Eli Zaretskii
2024-05-01 13:43 ` Helmut Eller
2024-05-01 14:05 ` Gerd Möllmann
2024-05-01 14:58 ` Eli Zaretskii
2024-05-01 15:54 ` Gerd Möllmann
2024-05-01 16:49 ` Eli Zaretskii
2024-05-01 17:19 ` Gerd Möllmann
2024-05-01 17:38 ` Helmut Eller
2024-05-01 17:56 ` Eli Zaretskii
2024-05-01 18:01 ` Helmut Eller
2024-05-01 18:07 ` Gerd Möllmann
2024-05-01 18:24 ` Eli Zaretskii
2024-05-01 18:41 ` Helmut Eller
2024-05-01 19:12 ` Gerd Möllmann
2024-05-02 6:03 ` Eli Zaretskii
2024-05-01 18:23 ` Eli Zaretskii
2024-05-01 17:53 ` Eli Zaretskii
2024-05-01 17:59 ` Gerd Möllmann
2024-05-01 18:20 ` Eli Zaretskii
2024-05-01 19:06 ` Gerd Möllmann
2024-05-02 8:30 ` Eli Zaretskii
2024-05-02 9:05 ` Gerd Möllmann
2024-05-02 21:25 ` Andrea Corallo [this message]
2024-05-03 5:42 ` Gerd Möllmann
2024-05-03 11:18 ` Eli Zaretskii
2024-05-03 11:32 ` Helmut Eller
2024-05-03 11:54 ` Eli Zaretskii
2024-05-03 11:59 ` Gerd Möllmann
2024-05-03 12:05 ` Eli Zaretskii
2024-05-03 12:27 ` Gerd Möllmann
2024-05-03 13:44 ` Andrea Corallo
2024-05-03 14:22 ` Gerd Möllmann
2024-05-03 12:28 ` Helmut Eller
2024-05-03 13:33 ` Eli Zaretskii
2024-05-03 13:57 ` Helmut Eller
2024-05-03 15:56 ` Eli Zaretskii
2024-05-03 19:18 ` Eli Zaretskii
2024-05-04 4:22 ` Helmut Eller
2024-05-04 7:43 ` Eli Zaretskii
2024-05-04 7:57 ` Gerd Möllmann
2024-05-04 9:01 ` Eli Zaretskii
2024-05-04 9:39 ` Helmut Eller
2024-05-04 9:56 ` Mattias Engdegård
2024-05-04 10:07 ` Helmut Eller
2024-05-04 10:29 ` Mattias Engdegård
2024-05-04 12:34 ` Eli Zaretskii
2024-05-04 16:08 ` Helmut Eller
2024-05-04 18:02 ` Gerd Möllmann
2024-05-03 11:54 ` Gerd Möllmann
2024-05-03 13:40 ` Andrea Corallo
2024-05-03 13:48 ` Gerd Möllmann
2024-05-04 6:25 ` Andrea Corallo
2024-05-04 8:00 ` Eli Zaretskii
2024-04-30 11:35 ` MPS: face-cache Eli Zaretskii
2024-04-30 12:57 ` Gerd Möllmann
2024-04-30 13:17 ` Eli Zaretskii
2024-04-30 13:43 ` Gerd Möllmann
2024-04-30 11:09 ` Eli Zaretskii
2024-04-30 12:41 ` Gerd Möllmann
2024-05-02 9:49 ` Eli Zaretskii
2024-05-02 10:39 ` Gerd Möllmann
2024-05-02 15:10 ` Helmut Eller
2024-05-02 18:28 ` MPS: pdump Gerd Möllmann
2024-05-02 19:13 ` Eli Zaretskii
2024-05-02 19:45 ` Gerd Möllmann
2024-05-03 6:29 ` Eli Zaretskii
2024-05-03 7:15 ` Gerd Möllmann
2024-05-03 11:24 ` Eli Zaretskii
2024-05-03 11:55 ` Gerd Möllmann
2024-05-03 12:03 ` Eli Zaretskii
2024-05-03 12:23 ` Gerd Möllmann
2024-05-03 5:54 ` Helmut Eller
2024-05-03 6:18 ` Gerd Möllmann
2024-05-03 7:28 ` Eli Zaretskii
2024-04-29 19:37 ` MPS: face-cache Helmut Eller
2024-04-29 19:39 ` Gerd Möllmann
2024-04-30 11:11 ` Eli Zaretskii
2024-04-30 12:42 ` Gerd Möllmann
2024-04-28 14:07 ` Eli Zaretskii
2024-04-28 14:31 ` Gerd Möllmann
2024-04-28 7:36 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=yp15xvv52k8.fsf@fencepost.gnu.org \
--to=acorallo@gnu.org \
--cc=eliz@gnu.org \
--cc=eller.helmut@gmail.com \
--cc=emacs-devel@gnu.org \
--cc=gerd.moellmann@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.