master: Fix do-conset-elements

stassats via Sbcl-commits <[email protected]> Fri, 12 Jun 2026 23:03:08 +0000
Newsgroups gmane.lisp.steel-bank.cvs
Message-ID <[email protected]>
The branch "master" has been updated in SBCL:
       via  150d542e6300e015ea7e8a973b206b9f1c96b169 (commit)
      from  90ee741bec3bc80a3a65c1ba8bf8d32ac4747133 (commit)

- Log -----------------------------------------------------------------
commit 150d542e6300e015ea7e8a973b206b9f1c96b169
Author: Stas Boukarev <[email protected]>
Date:   Sat Jun 13 02:01:44 2026 +0300

    Fix do-conset-elements
---
 src/compiler/constraint.lisp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/compiler/constraint.lisp b/src/compiler/constraint.lisp
index ffb03323a..acc180c40 100644
--- a/src/compiler/constraint.lisp
+++ b/src/compiler/constraint.lisp
@@ -494,7 +494,7 @@
                   (do-anonymous () ((= ,word 0)) ; no NIL block, so RETURN in body gets totally out
                     (let ((,constraint
                            (locally (declare (optimize (insert-array-bounds-checks 0)))
-                             (aref ,universe (count-trailing-zeros ,word)))))
+                             (aref ,universe (+ (* ,index sb-vm:n-word-bits) (count-trailing-zeros ,word))))))
                       ,@body)
                     ;; Clear the lowest 1 bit via the Brian Kernighan technique (allegedly)
                     (setq ,word (logand ,word (sb-vm::+-mod64 ,word -1)))))

-----------------------------------------------------------------------


hooks/post-receive
-- 
SBCL