bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?


From: Mattias Engdegård
Subject: bug#42147: 28.0.50; pure vs side-effect-free, missing optimizations?
Date: Tue, 7 Jul 2020 18:55:39 +0200

7 juli 2020 kl. 18.24 skrev Andrea Corallo <andrea_corallo@yahoo.it>:

> Sure I'm.  The native compiler does it already but I'm curious to see
> how you do it at source level and how generic it is.

Not very, but doing it at source level has some advantages since it can enable 
other source-level transformations.
It's mainly a proof of concept -- for simplicity, it doesn't attempt to be 
overly clever in the face of loops or setq.

One snag is that because Emacs inline functions (defsubst) are inlined as 
bytecode, they are usually not amenable to source optimisations. It is only 
when a defsubst is imported from a different .el file that has not yet been 
byte-compiled that it is integrated as source, and then the machinery in this 
patch will nicely propagate constant arguments into the body.

Attachment: 0001-Constprop-of-lexical-variables.patch
Description: Binary data


reply via email to

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