From: Paul Khuong Date: Tue, 12 Nov 2013 21:48:46 +0000 (-0500) Subject: Remove a workaround in bit-vector consets X-Git-Url: http://repo.macrolet.net/gitweb/?p=sbcl.git;a=commitdiff_plain;h=12b1dae1a1ed90c6ffe4d958f1281c1c04a8e89b Remove a workaround in bit-vector consets 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. --- diff --git a/src/compiler/constraint.lisp b/src/compiler/constraint.lisp index 02c0628..cd9f9f7 100644 --- a/src/compiler/constraint.lisp +++ b/src/compiler/constraint.lisp @@ -155,16 +155,12 @@ (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)))