From 12b1dae1a1ed90c6ffe4d958f1281c1c04a8e89b Mon Sep 17 00:00:00 2001 From: Paul Khuong Date: Tue, 12 Nov 2013 16:48:46 -0500 Subject: [PATCH] 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. --- src/compiler/constraint.lisp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) 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))) -- 1.7.10.4