Remove a workaround in bit-vector consets
authorPaul Khuong <pvk@pvk.ca>
Tue, 12 Nov 2013 21:48:46 +0000 (16:48 -0500)
committerPaul Khuong <pvk@pvk.ca>
Mon, 2 Dec 2013 03:44:43 +0000 (22:44 -0500)
FOLD-INDEX-ADDRESSING was fixed in 1.0.9, and there is no compiler bug
anymore on FIND of bit vectors with :END, even at low safety.

When attempting to bootstrap from an older x86oids SBCL, the :END
argument can be commented out without affecting correctness.

src/compiler/constraint.lisp

index 02c0628..cd9f9f7 100644 (file)
 
   (defun conset-empty (conset)
     (or (= (conset-min conset) (conset-max conset))
-        ;; TODO: I bet FIND on bit-vectors can be optimized, if it
-        ;; isn't.
         (not (find 1 (conset-vector conset)
                    :start (conset-min conset)
-                   ;; By inspection, supplying :END here breaks the
-                   ;; build with a "full call to
-                   ;; DATA-VECTOR-REF-WITH-OFFSET" in the
-                   ;; cross-compiler.  If that should change, add
-                   ;; :end (conset-max conset)
-                   ))))
+                   ;; the :end argument can be commented out when
+                   ;; bootstrapping on a < 1.0.9 SBCL errors out with
+                   ;; a full call to DATA-VECTOR-REF-WITH-OFFSET.
+                   :end (conset-max conset)))))
 
   (defun copy-conset (conset)
     (let ((ret (%copy-conset conset)))