From: Pip Cet <pipcet@protonmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: acorallo@gnu.org, eggert@cs.ucla.edu, emacs-devel@gnu.org,
stefankangas@gmail.com
Subject: Re: master 8c81818673a 6/7: Tune volatile in read_char
Date: Mon, 19 Aug 2024 16:01:31 +0000 [thread overview]
Message-ID: <87le0scxig.fsf@protonmail.com> (raw)
In-Reply-To: <861q2ky0tg.fsf@gnu.org>
"Eli Zaretskii" <eliz@gnu.org> writes:
>> Date: Mon, 19 Aug 2024 15:32:40 +0000
>> From: Pip Cet <pipcet@protonmail.com>
>> Cc: Andrea Corallo <acorallo@gnu.org>, eggert@cs.ucla.edu, emacs-devel@gnu.org, stefankangas@gmail.com
>>
>> "Eli Zaretskii" <eliz@gnu.org> writes:
>>
>> >> Don't know what the other maintainers think about this but FWIW I don't
>> >> like this change (and similar ones). Our codebase is already
>> >> sufficiently tricky and convoluted, complexifying code for no observable
>> >> improvements should be IMO out of our goals.
>> >
>> > I tend to agree. Especially given that the rationale for this
>> > juggling and why exactly we assign and re-assign these two variables
>> > in those particular places is nowhere to be found, neither in the
>> > source code nor in the commit log message.
>>
>> Could we measure the performance impact of making all stack variables in
>> functions that call setjmp() volatile?
>
> Why would that be useful? (Many/most of them already are volatile.)
Because we will run into further setjmp()-related bugs if we don't do
it, and because we could then stop putting effort into deciding under
which delicate circumstances we can make them non-volatile (which is
fun, I understand that).
> In any case, this is not what this thread is about, so let's not mix
> together unrelated issues.
This thread is about how to deal with automatic variables in
setjmp()-calling functions, either duplicating them into a 'c_volatile'
/ 'c' pair, as Paul's patch did, or keeping a single volatile
variable. I think "let's make all of them volatile" is an obvious
simplification of that idea.
Pip
next prev parent reply other threads:[~2024-08-19 16:01 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <172386820621.30556.15409337288904485218@vcs2.savannah.gnu.org>
[not found] ` <20240817041648.A6687C2BC66@vcs2.savannah.gnu.org>
2024-08-17 15:04 ` master 8c81818673a 6/7: Tune volatile in read_char Andrea Corallo
2024-08-17 17:03 ` Pip Cet
2024-08-17 18:16 ` Paul Eggert
2024-08-17 18:17 ` Paul Eggert
2024-08-18 7:39 ` Andrea Corallo
2024-08-18 21:39 ` Paul Eggert
2024-08-18 21:57 ` Sam James
2024-08-18 22:03 ` Paul Eggert
2024-08-19 14:43 ` Andrea Corallo
2024-08-19 15:01 ` Eli Zaretskii
2024-08-19 15:32 ` Pip Cet
2024-08-19 15:44 ` Eli Zaretskii
2024-08-19 16:01 ` Pip Cet [this message]
2024-08-19 16:15 ` Eli Zaretskii
2024-08-19 18:59 ` Paul Eggert
2024-08-19 19:27 ` Eli Zaretskii
2024-08-19 19:05 ` Pip Cet
2024-08-19 19:29 ` Eli Zaretskii
2024-08-19 19:43 ` Paul Eggert
2024-08-19 20:08 ` Pip Cet
2024-08-19 22:20 ` Paul Eggert
2024-08-19 23:40 ` 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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87le0scxig.fsf@protonmail.com \
--to=pipcet@protonmail.com \
--cc=acorallo@gnu.org \
--cc=eggert@cs.ucla.edu \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=stefankangas@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.