From: Pip Cet <pipcet@protonmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: sebastian@sebasmonia.com, kien.n.quang@gmail.com,
emacs-devel@gnu.org, yantar92@posteo.net
Subject: Re: MPS: Win64 testers?
Date: Fri, 23 Aug 2024 18:57:12 +0000 [thread overview]
Message-ID: <878qwn6pa2.fsf@protonmail.com> (raw)
In-Reply-To: <86le0np62c.fsf@gnu.org>
"Eli Zaretskii" <eliz@gnu.org> writes:
>> If your point is that it might be a long time until MPS is stable enough
>> for very unusual configurations, that is certainly true, and affects
>> when it's a good idea to enable it for general use.
>
> Not "for very unusual configurations", for all configurations,
> including the most popular ones.
Which ones do you mean?
> We are touching the most delicate
> parts of Emacs, and will probably touch a lot of them (unless we find
> some simpler, more reliable way of preventing these problems).
Simpler, maybe, but reliability, I will keep insisting, improves if we
think about why it's safe to hand off a pointer to GCable memory to an
externable library.
>> >> This particular call is safe. 'match_data' lives on the stack, MPS
>> >> treats the stack conservatively as pinning every object to which it
>> >> might possibly refer, thus 'match_data->pattern' cannot be moved.
>> >
>> > IOW, we are lucky. Because match_data could well be a global variable
>> > allocated off the heap, or something else.
>>
>> Which would be a bug both with and without MPS, as nothing protects
>> match_data.list from GC if it doesn't live on the stack.
>
> ??? We have gobs of those, and know how to protect them. The easiest
> way is staticpro, and there are others.
My point is you'd have to protect it, albeit slightly differently, with
or without MPS. Not that much changes with MPS, and to say it works
because "we are lucky" is inaccurate.
>> >> The change I proposed is redundant: it tells MPS not to move the
>> >> pointer, and it uses a pointer-to-a-pointer to catch potential moves.
>> >> Only one part of that is needed, but in both cases, we need to remember
>> >> to un-pin/free something.
>> >
>> > If the change is redundant, why did you propose it?
>>
>> Better to solve a problem twice than not to solve it at all?
>
> Not in my book, no. Since Emacs is stable, we should not add any code
> that is not strictly necessary, otherwise we risk unnecessary
> problems.
The master branch may be, but there's nothing wrong with keeping our
options open on scratch/igc rather than leaving in a few "redundant"
safety checks.
I agree, though, that a comment is in order here.
Pip
next prev parent reply other threads:[~2024-08-23 18:57 UTC|newest]
Thread overview: 123+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-06 3:04 MPS: Win64 testers? Quang Kien Nguyen
2024-08-06 7:03 ` Quang Kien Nguyen
2024-08-06 11:40 ` Eli Zaretskii
2024-08-06 17:39 ` Quang Kien Nguyen
2024-08-06 18:32 ` Eli Zaretskii
2024-08-06 20:52 ` Quang Kien Nguyen
2024-08-07 11:41 ` Eli Zaretskii
2024-08-07 18:32 ` Quang Kien Nguyen
2024-08-08 5:46 ` Eli Zaretskii
2024-08-08 23:44 ` Quang Kien Nguyen
2024-08-09 6:00 ` Eli Zaretskii
2024-08-09 6:10 ` Eli Zaretskii
2024-08-09 9:19 ` Quang Kien Nguyen
2024-08-09 11:03 ` Eli Zaretskii
2024-08-13 12:12 ` Quang Kien Nguyen
2024-08-13 12:37 ` Eli Zaretskii
2024-08-13 15:51 ` Pip Cet
2024-08-13 18:26 ` Quang Kien Nguyen
2024-08-13 19:19 ` Eli Zaretskii
2024-08-13 20:22 ` Quang Kien Nguyen
2024-08-14 13:11 ` Sebastián Monía
2024-08-14 17:24 ` Quang Kien Nguyen
2024-08-16 20:09 ` Sebastián Monía
2024-08-17 11:37 ` Sebastián Monía
2024-08-17 12:54 ` Eli Zaretskii
2024-08-17 13:24 ` Sebastián Monía
2024-08-19 14:34 ` Sebastián Monía
2024-08-19 14:55 ` Eli Zaretskii
2024-08-19 15:12 ` Pip Cet
2024-08-19 15:23 ` Sebastián Monía
2024-08-19 15:31 ` Quang Kien Nguyen
2024-08-19 16:23 ` Quang Kien Nguyen
2024-08-21 18:14 ` Sebastián Monía
2024-08-21 18:20 ` Pip Cet
2024-08-21 19:46 ` Sebastián Monía
2024-08-21 18:22 ` Ihor Radchenko
2024-08-21 19:48 ` Sebastián Monía
2024-08-22 17:34 ` Sebastián Monía
2024-08-22 17:51 ` Pip Cet
2024-08-22 18:34 ` Eli Zaretskii
2024-08-22 19:12 ` Quang Kien Nguyen
2024-08-23 5:32 ` Eli Zaretskii
2024-08-22 19:14 ` Pip Cet
2024-08-23 5:38 ` Eli Zaretskii
2024-08-23 7:59 ` Pip Cet
2024-08-23 13:08 ` Eli Zaretskii
2024-08-23 13:42 ` Quang Kien Nguyen
2024-08-23 13:48 ` Pip Cet
2024-08-23 14:35 ` Eli Zaretskii
2024-08-23 14:54 ` Quang Kien Nguyen
2024-08-23 16:08 ` Eli Zaretskii
[not found] ` <CAL7sU5g7BrbrPL-B120NtVKkpnMuqmyuwDd_Kp50F1p8Gc3N0g@mail.gmail.com>
[not found] ` <86ikvrp2hz.fsf@gnu.org>
2024-08-23 17:45 ` Windows low-level keyboard hook Quang Kien Nguyen
2024-08-23 18:23 ` MPS: Win64 testers? Sebastián Monía
2024-08-23 13:44 ` Pip Cet
2024-08-23 14:32 ` Eli Zaretskii
2024-08-23 15:51 ` Pip Cet
2024-08-23 16:17 ` Eli Zaretskii
2024-08-23 18:57 ` Pip Cet [this message]
2024-08-23 19:28 ` Eli Zaretskii
2024-08-24 17:31 ` Pip Cet
2024-08-25 3:17 ` Quang Kien Nguyen
2024-08-30 19:59 ` Sebastián Monía
2024-09-01 8:21 ` Kien Nguyen
2024-09-01 8:43 ` Eli Zaretskii
2024-09-01 9:36 ` Kien Nguyen
2024-09-01 10:28 ` Eli Zaretskii
2024-09-01 11:59 ` Eli Zaretskii
2024-09-01 18:54 ` Kien Nguyen
2024-09-01 19:27 ` Eli Zaretskii
2024-09-01 19:44 ` Pip Cet
2024-09-01 21:42 ` Kien Nguyen
2024-09-02 11:08 ` Eli Zaretskii
2024-09-03 4:12 ` Kien Nguyen
2024-09-03 10:37 ` Pip Cet
2024-09-03 16:50 ` Kien Nguyen
2024-09-03 17:48 ` Pip Cet
2024-09-07 8:19 ` Eli Zaretskii
2024-09-20 15:09 ` Sebastián Monía
2024-09-20 15:44 ` Eli Zaretskii
2024-09-23 16:21 ` Kien Nguyen
2024-09-01 10:49 ` Pip Cet
2024-09-01 12:15 ` Kien Nguyen
2024-08-22 18:11 ` Eli Zaretskii
2024-08-22 19:17 ` Sebastián Monía
2024-08-23 5:45 ` Eli Zaretskii
2024-08-07 19:50 ` Pip Cet
2024-08-07 23:14 ` Quang Kien Nguyen
2024-08-08 5:15 ` Eli Zaretskii
2024-08-06 14:18 ` Pip Cet
2024-08-07 11:03 ` Eli Zaretskii
-- strict thread matches above, loose matches on Subject: below --
2024-07-25 9:45 Angelo Graziosi
2024-07-25 10:02 ` Stefan Kangas
2024-07-25 11:35 ` Eli Zaretskii
2024-07-27 14:22 ` Angelo Graziosi
2024-07-24 15:45 Pip Cet
2024-07-25 7:16 ` Eli Zaretskii
2024-07-25 15:39 ` Pip Cet
2024-07-27 8:02 ` Eli Zaretskii
2024-07-27 10:42 ` Pip Cet
2024-07-27 12:14 ` Eli Zaretskii
2024-07-27 15:49 ` Pip Cet
2024-07-27 16:10 ` Eli Zaretskii
2024-07-27 16:56 ` Eli Zaretskii
2024-07-27 18:27 ` Pip Cet
2024-07-27 18:50 ` Eli Zaretskii
2024-07-27 20:22 ` Pip Cet
2024-07-28 5:25 ` Eli Zaretskii
2024-07-28 13:00 ` Pip Cet
2024-07-28 14:20 ` Eli Zaretskii
2024-07-28 15:00 ` Pip Cet
2024-07-28 15:20 ` Eli Zaretskii
2024-07-28 20:22 ` Pip Cet
2024-07-29 11:25 ` Eli Zaretskii
2024-07-31 6:18 ` Pip Cet
2024-07-31 14:02 ` Eli Zaretskii
2024-07-31 19:04 ` Sebastián Monía
2024-08-01 5:00 ` Eli Zaretskii
2024-08-03 7:50 ` pipcet
2024-08-03 9:23 ` Eli Zaretskii
2024-08-03 15:17 ` pipcet
2024-08-03 16:07 ` Eli Zaretskii
2024-07-27 16:09 ` Michael Albinus
2024-07-28 13:22 ` Pip Cet
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=878qwn6pa2.fsf@protonmail.com \
--to=pipcet@protonmail.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=kien.n.quang@gmail.com \
--cc=sebastian@sebasmonia.com \
--cc=yantar92@posteo.net \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).