;; values: the index hashing and T if that might change with the
;; next GC.
(hash-fun (missing-arg) :type function :read-only t)
;; values: the index hashing and T if that might change with the
;; next GC.
(hash-fun (missing-arg) :type function :read-only t)
;; then add that amount. If a floating point number, then multiply
;; it by that.
(rehash-size (missing-arg) :type (or index (single-float (1.0)))
:read-only t)
;; then add that amount. If a floating point number, then multiply
;; it by that.
(rehash-size (missing-arg) :type (or index (single-float (1.0)))
:read-only t)
(rehash-threshold (missing-arg) :type (single-float (0.0) 1.0) :read-only t)
;; The number of entries before a rehash, just one less than the
;; size of the next-vector, hash-vector, and half the size of the
(rehash-threshold (missing-arg) :type (single-float (0.0) 1.0) :read-only t)
;; The number of entries before a rehash, just one less than the
;; size of the next-vector, hash-vector, and half the size of the
;; This table parallels the KV vector, and is used to chain together
;; the hash buckets and the free list. A slot will only ever be in
;; one of these lists.
;; This table parallels the KV vector, and is used to chain together
;; the hash buckets and the free list. A slot will only ever be in
;; one of these lists.
;; 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
;; +MAGIC-HASH-VECTOR-VALUE+ represents EQ-based hashing on the
;; respective key.
;; 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
;; +MAGIC-HASH-VECTOR-VALUE+ represents EQ-based hashing on the
;; respective key.
;; Used for locking GETHASH/(SETF GETHASH)/REMHASH
(spinlock (sb!thread::make-spinlock :name "hash-table lock")
:type sb!thread::spinlock :read-only t)
;; Used for locking GETHASH/(SETF GETHASH)/REMHASH
(spinlock (sb!thread::make-spinlock :name "hash-table lock")
:type sb!thread::spinlock :read-only t)