X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Ffndb.lisp;h=10c8613fadc3f0129b53c8a8c03b680fc5cd1984;hb=95591ed483dbb8c0846c129953acac1554f28809;hp=a070e62daba8cbc1e3ba15a9ba23a8a92277acf9;hpb=c593dc26733b179db6c12c7085ed76b762ac256b;p=sbcl.git diff --git a/src/compiler/fndb.lisp b/src/compiler/fndb.lisp index a070e62..10c8613 100644 --- a/src/compiler/fndb.lisp +++ b/src/compiler/fndb.lisp @@ -326,18 +326,18 @@ (movable foldable flushable explicit-check)) (defknown decode-float (float) (values float float-exponent float) - (movable foldable flushable explicit-check)) + (movable foldable unsafely-flushable explicit-check)) (defknown scale-float (float integer) float (movable foldable unsafely-flushable explicit-check)) (defknown float-radix (float) float-radix - (movable foldable flushable)) + (movable foldable unsafely-flushable)) (defknown float-sign (float &optional float) float - (movable foldable flushable explicit-check)) + (movable foldable unsafely-flushable explicit-check)) (defknown (float-digits float-precision) (float) float-digits - (movable foldable flushable explicit-check)) + (movable foldable unsafely-flushable explicit-check)) (defknown integer-decode-float (float) - (values integer float-int-exponent (member -1 1)) - (movable foldable flushable explicit-check)) + (values integer float-int-exponent (member -1 1)) + (movable foldable unsafely-flushable explicit-check)) (defknown complex (real &optional real) number (movable foldable flushable explicit-check)) @@ -1311,7 +1311,8 @@ ;; extensions (:trace-file t) - (:block-compile t)) + (:block-compile t) + (:emit-cfasl t)) (values (or pathname null) boolean boolean)) ;; FIXME: consider making (OR CALLABLE CONS) something like @@ -1384,16 +1385,12 @@ (defknown get-bytes-consed () unsigned-byte (flushable)) (defknown mask-signed-field ((integer 0 *) integer) integer (movable flushable foldable)) - -;;; PCOUNTERs -(defknown incf-pcounter (pcounter unsigned-byte) pcounter) -(defknown pcounter->integer (pcounter) unsigned-byte) -(defknown %incf-pcounter-or-fixnum ((or pcounter fixnum) unsigned-byte) - (or pcounter fixnum)) -(defknown pcounter-or-fixnum->integer ((or pcounter fixnum)) unsigned-byte) ;;;; magical compiler frobs +(defknown %unary-truncate/single-float (single-float) integer (movable foldable flushable)) +(defknown %unary-truncate/double-float (double-float) integer (movable foldable flushable)) + ;;; We can't fold this in general because of SATISFIES. There is a ;;; special optimizer anyway. (defknown %typep (t (or type-specifier ctype)) boolean @@ -1431,6 +1428,7 @@ ;; FIXME: This function does not return, but due to the implementation ;; of FILTER-LVAR we cannot write it here. (defknown %compile-time-type-error (t t t) *) +(defknown sb!kernel::case-failure (t t t) nil) (defknown %odd-key-args-error () nil) (defknown %unknown-key-arg-error (t) nil)