all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Andrea Corallo <acorallo@gnu.org>
To: emacs-devel@gnu.org
Cc: Eli Zaretskii <eliz@gnu.org>,
	monnier@iro.umontreal.ca, mattias.engdegard@gmail.com,
	stefankangas@gmail.com
Subject: Introducing 'safety' compilation parameter
Date: Tue, 07 May 2024 06:37:50 -0400	[thread overview]
Message-ID: <yp18r0lzz41.fsf@fencepost.gnu.org> (raw)

Hello,

I've put in scratch/comp-safety a branch wich introduces 'safety' as
compilation parameter.

'safety' can be used similarly to 'native-comp-speed' both as a global
variable to influence compilation both as a function declaration.

'safety' justification of existence is ATM being able to control the
undefined behaviour being created when function type declaration added
by the user is not correct.

ATM we can have two values:

1 Emitted code is generated in a safe matter even if function types are
miss-declared.
0 Emitted code can misbehave or crash Emacs if function declarations are
not correct and the function is native compiled (@pxref{Native
Compilation}).

1 is ATM the default.

I didn't want to give safety a prefix (byte- or comp-) as I believe we
should extend safety in the future with a value to have the byte
compiler generates runtime type checks to verify the declred types.
OTOH this is creating a warning for a missing prefix, not sure what's
the best way to fix this (give it a prefix or silence the compiler if
possible).

Also I added some doc for the declaration, but didn't kwnow where in the
manual the documention for the variable should go as now it has effect
only for the native compiler.  Should I document it under
"Native-Compilation Variables" for now?

Thanks

  Andrea



             reply	other threads:[~2024-05-07 10:37 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-07 10:37 Andrea Corallo [this message]
2024-05-07 12:01 ` Introducing 'safety' compilation parameter Alan Mackenzie
2024-05-07 13:15   ` Eli Zaretskii
2024-05-07 16:07     ` Drifting towards a statically typed Emacs Lisp. [Was: Introducing 'safety' compilation parameter] Alan Mackenzie
2024-05-07 17:06       ` Andrea Corallo
2024-05-07 23:37         ` Emanuel Berg
2024-05-07 18:00       ` Eli Zaretskii
2024-05-08  0:14         ` Emanuel Berg
2024-05-07 23:29       ` Emanuel Berg
2024-05-09 23:52       ` Richard Stallman
2024-05-10  6:31         ` Eli Zaretskii
2024-05-07 16:37   ` Introducing 'safety' compilation parameter Tomas Hlavaty
2024-05-07 16:54   ` Andrea Corallo
2024-05-07 23:42     ` Emanuel Berg
2024-05-07 14:56 ` Stefan Monnier
2024-05-07 16:13   ` Andrea Corallo
2024-05-10 17:58     ` Andrea Corallo
2024-05-13  2:29       ` Stefan Monnier
2024-05-13 18:59         ` Eli Zaretskii
2024-05-13 21:12           ` Andrea Corallo
2024-05-14  6:11             ` Eli Zaretskii
2024-05-09  8:40 ` Eli Zaretskii
2024-05-10  7:47   ` Andrea Corallo
2024-05-10 10:17     ` Eli Zaretskii
2024-05-10 11:42       ` Andrea Corallo
2024-05-10 15:10         ` Eli Zaretskii
2024-05-10 18:02   ` Andrea Corallo
2024-05-10 18:05     ` Andrea Corallo
2024-05-09  9:19 ` Gerd Möllmann
2024-05-10  7:58   ` Andrea Corallo
2024-05-10  8:09     ` Gerd Möllmann
2024-05-10  8:19       ` Andrea Corallo
2024-05-10 14:00     ` Stefan Monnier

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=yp18r0lzz41.fsf@fencepost.gnu.org \
    --to=acorallo@gnu.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=mattias.engdegard@gmail.com \
    --cc=monnier@iro.umontreal.ca \
    --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.