1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 22:41:06 -08:00

* Fix native compiler for circular objects (bug#75135)

* lisp/emacs-lisp/comp.el (comp--ssa-rename-insn): Fix circular objects.
This commit is contained in:
Andrea Corallo 2025-11-05 10:14:11 +01:00
parent cc589d7003
commit 55d41f5d2b

View file

@ -2478,8 +2478,9 @@ PRE-LAMBDA and POST-LAMBDA are called in pre or post-order if non-nil."
(setf (comp-vec-aref frame slot-n) mvar
(cadr insn) mvar))))
(pcase insn
(`(setimm ,(pred targetp) ,_imm)
(new-lvalue))
(`(setimm ,lval ,_imm)
(when (targetp lval)
(new-lvalue)))
(`(,(pred comp--assign-op-p) ,(pred targetp) . ,_)
(let ((mvar (comp-vec-aref frame slot-n)))
(setf (cddr insn) (cl-nsubst-if mvar #'targetp (cddr insn))))