complex-double-float-p #!+long-float complex-long-float-p
complex-vector-p
base-char-p %standard-char-p %instancep
+ base-string-p simple-base-string-p
array-header-p
- simple-array-p simple-array-unsigned-byte-2-p
+ simple-array-p simple-array-nil-p vector-nil-p
+ simple-array-unsigned-byte-2-p
simple-array-unsigned-byte-4-p simple-array-unsigned-byte-8-p
simple-array-unsigned-byte-16-p simple-array-unsigned-byte-32-p
simple-array-signed-byte-8-p simple-array-signed-byte-16-p
\f
;;;; bignum operations
-(defknown %allocate-bignum (bignum-index) bignum-widetag
+(defknown %allocate-bignum (bignum-index) bignum-type
(flushable))
-(defknown %bignum-length (bignum-widetag) bignum-index
+(defknown %bignum-length (bignum-type) bignum-index
(foldable flushable movable))
-(defknown %bignum-set-length (bignum-widetag bignum-index) bignum-widetag
+(defknown %bignum-set-length (bignum-type bignum-index) bignum-type
(unsafe))
-(defknown %bignum-ref (bignum-widetag bignum-index) bignum-element-type
+(defknown %bignum-ref (bignum-type bignum-index) bignum-element-type
(flushable))
-(defknown %bignum-set (bignum-widetag bignum-index bignum-element-type)
+(defknown %bignum-set (bignum-type bignum-index bignum-element-type)
bignum-element-type
(unsafe))
(defknown copy-to-system-area
((simple-unboxed-array (*)) index system-area-pointer index index)
- null
+ (values)
())
(defknown copy-from-system-area
(system-area-pointer index (simple-unboxed-array (*)) index index)
- null
+ (values)
())
(defknown system-area-copy
(system-area-pointer index system-area-pointer index index)
- null
+ (values)
())
(defknown bit-bash-copy
((simple-unboxed-array (*)) index
(simple-unboxed-array (*)) index index)
- null
+ (values)
())
;;; (not really a bit-bashing routine, but starting to take over from
(defknown %byte-blt
((or (simple-unboxed-array (*)) system-area-pointer) index
(or (simple-unboxed-array (*)) system-area-pointer) index index)
- null
+ (values)
())
\f
;;;; code/function/fdefn object manipulation routines
(defknown code-header-ref (t index) t (flushable))
(defknown code-header-set (t index t) t ())
-(defknown function-subtype (function) (unsigned-byte #.sb!vm:n-widetag-bits)
+(defknown fun-subtype (function) (unsigned-byte #.sb!vm:n-widetag-bits)
(flushable))
-(defknown ((setf function-subtype))
+(defknown ((setf fun-subtype))
((unsigned-byte #.sb!vm:n-widetag-bits) function)
(unsigned-byte #.sb!vm:n-widetag-bits)
())
;;;; mutator accessors
(defknown mutator-self () system-area-pointer (flushable movable))
+
+(defknown %data-vector-and-index (array index)
+ (values (simple-array * (*)) index)
+ (foldable flushable))