X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Ffndb.lisp;h=49c58a3948742631722aa2c892e63df6bb1fd240;hb=6ab9c60f1c53cc7cc912d644658bc23453a82ac4;hp=ec1de82ba99e71f7b9004837cf18ac23fae9689d;hpb=304c44d731bea3b9ce3c47d864d90eac92ba604e;p=sbcl.git diff --git a/src/compiler/fndb.lisp b/src/compiler/fndb.lisp index ec1de82..49c58a3 100644 --- a/src/compiler/fndb.lisp +++ b/src/compiler/fndb.lisp @@ -340,7 +340,7 @@ (defknown decode-float (float) (values float float-exponent float) (movable foldable flushable explicit-check)) -(defknown scale-float (float float-exponent) float +(defknown scale-float (float integer) float (movable foldable unsafely-flushable explicit-check)) (defknown float-radix (float) float-radix (movable foldable flushable)) @@ -787,7 +787,7 @@ (defknown hash-table-size (hash-table) index (flushable)) (defknown hash-table-test (hash-table) symbol (foldable flushable)) (defknown sxhash (t) (integer 0 #.sb!xc:most-positive-fixnum) - (foldable flushable)) + (#-sb-xc-host foldable flushable)) ;;;; from the "Arrays" chapter @@ -1058,7 +1058,8 @@ :derive-type #'result-type-first-arg) ;;; xxx-TO-STRING functions are not foldable because they depend on -;;; the dynamic environment. +;;; the dynamic environment, the state of the pretty printer dispatch +;;; table, and probably other run-time factors. (defknown write-to-string (t &key (:escape t) (:radix t) (:base (integer 2 36)) (:readably t) (:circle t) (:pretty t) (:level (or unsigned-byte null)) @@ -1066,7 +1067,7 @@ (:lines (or unsigned-byte null)) (:right-margin (or unsigned-byte null)) (:miser-width (or unsigned-byte null)) (:pprint-dispatch t)) simple-string - (foldable flushable explicit-check)) + (flushable explicit-check)) (defknown (prin1-to-string princ-to-string) (t) simple-string (flushable)) @@ -1286,7 +1287,7 @@ (defknown describe (t &optional (or stream (member t nil))) (values)) (defknown inspect (t) (values)) (defknown room (&optional (member t nil :default)) (values)) -(defknown ed (&optional (or symbol cons filename) &key (:init t) (:display t)) +(defknown ed (&optional (or symbol cons filename)) t) (defknown dribble (&optional filename &key (:if-exists t)) (values)) @@ -1380,6 +1381,7 @@ (defknown %nlx-entry (t) *) (defknown %%primitive (t t &rest t) *) (defknown %pop-values (t) t) +(defknown %nip-values (t t &rest t) (values)) (defknown %type-check-error (t t) nil) ;; FIXME: This function does not return, but due to the implementation @@ -1480,3 +1482,4 @@ (values) ()) (defknown style-warn (string &rest t) null ()) +