[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#75135: 30.0.93; Infinite loop in comp--native-compile
From: |
Andrea Corallo |
Subject: |
bug#75135: 30.0.93; Infinite loop in comp--native-compile |
Date: |
Sun, 29 Dec 2024 09:23:19 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
The attached should be fixing it, could you give it a try?
Circular objects are rare in code and we lived with this for a long
time, I'd suggest to install this only on master not to touch the
release branch. Eli WDYT?
Thanks
Andrea
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index 2966ed255ac..f3b6b8fd606 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -2481,8 +2481,9 @@ comp--ssa-rename-insn
(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))))