master: Don't break specialized-xeps by tail calling them
stassats via Sbcl-commits <[email protected]> Wed, 06 May 2026 03:31:06 +0000
| Newsgroups | gmane.lisp.steel-bank.cvs |
|---|---|
| Message-ID | <[email protected]> |
The branch "master" has been updated in SBCL:
via f22a5de2afb2075b9245aef49235c52a0ca75d1b (commit)
from 13601a3af1616bad0848ec6bbcb5196c3afbe47b (commit)
- Log -----------------------------------------------------------------
commit f22a5de2afb2075b9245aef49235c52a0ca75d1b
Author: Stas Boukarev <[email protected]>
Date: Wed May 6 06:30:00 2026 +0300
Don't break specialized-xeps by tail calling them
---
src/compiler/ir1opt.lisp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/compiler/ir1opt.lisp b/src/compiler/ir1opt.lisp
index 5b4485097..cd6abdc07 100644
--- a/src/compiler/ir1opt.lisp
+++ b/src/compiler/ir1opt.lisp
@@ -3244,7 +3244,9 @@
(cond ((delay-p cast)
(unless (policy cast (>= insert-debug-catch 2)) ;; used to defeat TCO
(when (do-uses (use value t)
- (unless (immediately-used-p value use)
+ (unless (and (immediately-used-p value use)
+ (not (and (combination-p use)
+ (unboxed-specialized-return-p (combination-fun-debug-name use)))))
(return)))
(delete-cast cast)
t)))
-----------------------------------------------------------------------
hooks/post-receive
--
SBCL