X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fhash-table.lisp;h=8a79e0ea84ae5065b80fd79f1e1bf6d10eaff9f5;hb=3277bf7fd150b594708ae1227a428aa5ad945f71;hp=1690fd37af0aeb9c7f9b93bef9dfb42f312b7875;hpb=084168e1524a6493bc0f9d1697753d31239b158d;p=sbcl.git diff --git a/src/code/hash-table.lisp b/src/code/hash-table.lisp index 1690fd3..8a79e0e 100644 --- a/src/code/hash-table.lisp +++ b/src/code/hash-table.lisp @@ -53,17 +53,20 @@ (next-free-kv 0 :type index) ;; The index vector. This may be larger than the hash size to help ;; reduce collisions. - (index-vector (missing-arg) :type (simple-array (unsigned-byte 32) (*))) + (index-vector (missing-arg) + :type (simple-array (unsigned-byte #.sb!vm:n-word-bits) (*))) ;; This table parallels the KV vector, and is used to chain together ;; the hash buckets, the free list, and the values needing rehash, a ;; slot will only ever be in one of these lists. - (next-vector (missing-arg) :type (simple-array (unsigned-byte 32) (*))) + (next-vector (missing-arg) + :type (simple-array (unsigned-byte #.sb!vm:n-word-bits) (*))) ;; This table parallels the KV table, and can be used to store the ;; hash associated with the key, saving recalculation. Could be ;; useful for EQL, and EQUAL hash tables. This table is not needed ;; for EQ hash tables, and when present the value of #x80000000 ;; represents EQ-based hashing on the respective key. - (hash-vector nil :type (or null (simple-array (unsigned-byte 32) (*))))) + (hash-vector nil :type (or null (simple-array (unsigned-byte + #.sb!vm:n-word-bits) (*))))) (defmacro-mundanely with-hash-table-iterator ((function hash-table) &body body) #!+sb-doc