mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 06:20:55 -08:00
Generalise a LAP optimisation rule
* lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Accept (stack-set 1) as equivalent to (discardN-preserve-tos 1) in a rule previously overlooked. This is usually beneficial in code size and almost always shortens dynamic paths.
This commit is contained in:
parent
db7e95531a
commit
52b67740d1
1 changed files with 3 additions and 1 deletions
|
|
@ -2765,7 +2765,9 @@ If FOR-EFFECT is non-nil, the return value is assumed to be of no importance."
|
|||
(or (memq (caar tmp) '(byte-discard byte-discardN))
|
||||
;; Make sure we don't hoist a discardN-preserve-tos
|
||||
;; that really should be merged or deleted instead.
|
||||
(and (eq (caar tmp) 'byte-discardN-preserve-tos)
|
||||
(and (or (eq (caar tmp) 'byte-discardN-preserve-tos)
|
||||
(and (eq (caar tmp) 'byte-stack-set)
|
||||
(eql (cdar tmp) 1)))
|
||||
(let ((next (cadr tmp)))
|
||||
(not (or (memq (car next)
|
||||
'(byte-discardN-preserve-tos
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue