X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftarget-sxhash.lisp;h=571b9c184cec137cf6b9f7d4561c23fb8cb360b7;hb=f9aaac53a4a43ebae198f53079857acb2d628eb0;hp=56df709e2d3212d358373153ebceccc2331ba9f0;hpb=f6d1a599fe7bf8a77635f22b46309aa1d3bdf693;p=sbcl.git diff --git a/src/code/target-sxhash.lisp b/src/code/target-sxhash.lisp index 56df709..571b9c1 100644 --- a/src/code/target-sxhash.lisp +++ b/src/code/target-sxhash.lisp @@ -63,12 +63,10 @@ ;; algorithms, but we're not pushing them hard enough here for them ;; to be cryptographically strong.) (let* ((xy (+ (* x 3) y))) - (declare (type (unsigned-byte 32) xy)) - (the (and fixnum unsigned-byte) - (logand most-positive-fixnum - (logxor 441516657 - xy - (the fixnum (ash xy -5))))))) + (logand most-positive-fixnum + (logxor 441516657 + xy + (ash xy -5))))) ;;;; hashing strings ;;;; @@ -84,7 +82,7 @@ (declare (type index count)) (let ((result 408967240)) (declare (type fixnum result)) - (when (typep string 'base-string) + (unless (typep string '(vector nil)) (dotimes (i count) (declare (type index i)) (mixf result