unsigned-byte-64-p
#!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or))
signed-byte-64-p
- vector-t-p weak-pointer-p code-component-p lra-p
+ weak-pointer-p code-component-p lra-p
funcallable-instance-p)
(t) boolean (movable foldable flushable))
+(defknown #.(loop for (name) in *vector-without-complex-typecode-infos*
+ collect name)
+ (t) boolean (movable foldable flushable))
\f
;;;; miscellaneous "sub-primitives"
(defknown %set-symbol-hash (symbol hash)
t (unsafe))
+(defknown initialize-vector ((simple-array * (*)) &rest t)
+ (simple-array * (*))
+ (always-translatable flushable)
+ :result-arg 0)
+
(defknown vector-fill* (t t t t) vector
(unsafe)
:result-arg 0)
(unsafe always-translatable))
#!+(or x86 x86-64)
-(defknown %raw-instance-atomic-incf/word (instance index sb!vm:signed-word) sb!vm:word
+(defknown %raw-instance-atomic-incf/word (instance index sb!vm:word) sb!vm:word
(unsafe always-translatable))
;;; These two are mostly used for bit-bashing operations.