X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftarget-hash-table.lisp;h=0cdd5091446a46296cf0e668b93e59ad98755789;hb=dd357f3be290498fb7ef172696d986337f517a93;hp=52f01c3917232b18c5be246b9b83bf301560e079;hpb=68fd2d2dd6f265669a8957accd8a33e62786a97e;p=sbcl.git diff --git a/src/code/target-hash-table.lisp b/src/code/target-hash-table.lisp index 52f01c3..0cdd509 100644 --- a/src/code/target-hash-table.lisp +++ b/src/code/target-hash-table.lisp @@ -15,7 +15,7 @@ ;;;; utilities (eval-when (:compile-toplevel :load-toplevel :execute) - (defconstant max-hash most-positive-fixnum)) + (defconstant max-hash sb!xc:most-positive-fixnum)) (deftype hash () `(integer 0 ,max-hash)) @@ -176,6 +176,14 @@ :hash-vector (unless (eq test 'eq) (make-array size+1 :element-type '(unsigned-byte 32) + ;; as explained by pmai on + ;; openprojects #lisp IRC + ;; 2002-07-30: #x80000000 is + ;; bigger than any possible nonEQ + ;; hash value, and thus indicates + ;; an empty slot; and EQ hash + ;; tables don't use + ;; HASH-TABLE-HASH-VECTOR :initial-element #x80000000))))) (declare (type index size+1 scaled-size length)) ;; Set up the free list, all free. These lists are 0 terminated.