projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
New function: SB!KERNEL:%MULTIPLY-HIGH
[sbcl.git]
/
src
/
compiler
/
generic
/
vm-fndb.lisp
diff --git
a/src/compiler/generic/vm-fndb.lisp
b/src/compiler/generic/vm-fndb.lisp
index
8da9bc3
..
ab7489e
100644
(file)
--- a/
src/compiler/generic/vm-fndb.lisp
+++ b/
src/compiler/generic/vm-fndb.lisp
@@
-63,9
+63,12
@@
unsigned-byte-64-p
#!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or))
signed-byte-64-p
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))
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"
\f
;;;; miscellaneous "sub-primitives"
@@
-88,6
+91,11
@@
(defknown %set-symbol-hash (symbol hash)
t (unsafe))
(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)
(defknown vector-fill* (t t t t) vector
(unsafe)
:result-arg 0)
@@
-157,9
+165,12
@@
(complex double-float)
(unsafe always-translatable))
(complex double-float)
(unsafe always-translatable))
-#!+(or x86 x86-64)
-(defknown %raw-instance-atomic-incf/word (instance index sb!vm:signed-word) sb!vm:word
+#!+(or x86 x86-64 ppc)
+(defknown %raw-instance-atomic-incf/word (instance index sb!vm:word) sb!vm:word
(unsafe always-translatable))
(unsafe always-translatable))
+#!+(or x86 x86-64 ppc)
+(defknown %array-atomic-incf/word (t index sb!vm:word) sb!vm:word
+ (unsafe always-translatable))
;;; These two are mostly used for bit-bashing operations.
(defknown %vector-raw-bits (t fixnum) sb!vm:word
;;; These two are mostly used for bit-bashing operations.
(defknown %vector-raw-bits (t fixnum) sb!vm:word
@@
-279,7
+290,7
@@
(defknown %fixnum-to-digit (fixnum) bignum-element-type
(foldable flushable movable))
(defknown %fixnum-to-digit (fixnum) bignum-element-type
(foldable flushable movable))
-(defknown %floor (bignum-element-type bignum-element-type bignum-element-type)
+(defknown %bigfloor (bignum-element-type bignum-element-type bignum-element-type)
(values bignum-element-type bignum-element-type)
(foldable flushable movable))
(values bignum-element-type bignum-element-type)
(foldable flushable movable))