X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Ffndb.lisp;h=e8b3b32e2577d23b1bcb71a3461a218be0a1311d;hb=cd13034f9415f64cdaa05893a4ac5ff1e95c97bd;hp=7554aaa8ab7700763845b93aca2c8ba0f42f3015;hpb=10079735369606be93965175c0e2750e1f893824;p=sbcl.git diff --git a/src/compiler/fndb.lisp b/src/compiler/fndb.lisp index 7554aaa..e8b3b32 100644 --- a/src/compiler/fndb.lisp +++ b/src/compiler/fndb.lisp @@ -370,7 +370,7 @@ (defknown lognot (integer) integer (movable foldable flushable explicit-check)) (defknown logtest (integer integer) boolean (movable foldable flushable)) -(defknown logbitp (bit-index integer) boolean (movable foldable flushable)) +(defknown logbitp (unsigned-byte integer) boolean (movable foldable flushable)) (defknown ash (integer integer) integer (movable foldable flushable explicit-check)) (defknown (logcount integer-length) (integer) bit-index @@ -962,6 +962,41 @@ (character character &optional (or readtable null)) (or callable null) ()) +(defknown copy-pprint-dispatch + (&optional (or sb!pretty:pprint-dispatch-table null)) + sb!pretty:pprint-dispatch-table + ()) +(defknown pprint-dispatch + (t &optional (or sb!pretty:pprint-dispatch-table null)) + (values callable boolean) + ()) +(defknown (pprint-fill pprint-linear) + (streamlike t &optional t t) + null + ()) +(defknown pprint-tabular + (streamlike t &optional t t unsigned-byte) + null + ()) +(defknown pprint-indent + ((member :block :current) real &optional streamlike) + null + ()) +(defknown pprint-newline + ((member :linear :fill :miser :mandatory) &optional streamlike) + null + ()) +(defknown pprint-tab + ((member :line :section :line-relative :section-relative) + unsigned-byte unsigned-byte &optional streamlike) + null + ()) +(defknown set-pprint-dispatch + (type-specifier (or null callable) + &optional real sb!pretty:pprint-dispatch-table) + null + ()) + ;;; may return any type due to eof-value... (defknown (read read-preserving-whitespace read-char-no-hang read-char) (&optional streamlike t t t) t (explicit-check)) @@ -1344,7 +1379,7 @@ (defknown %type-check-error (t t) nil) ;; FIXME: This function does not return, but due to the implementation -;; of FILTER-CONTINUATION we cannot write it here. +;; of FILTER-LVAR we cannot write it here. (defknown %compile-time-type-error (t t t) *) (defknown %odd-key-args-error () nil) @@ -1420,6 +1455,13 @@ (defknown %setnth (unsigned-byte list t) t (unsafe)) (defknown %set-fill-pointer (vector index) index (unsafe)) +;;;; ALIEN and call-out-to-C stuff + +;;; 'unsafe' attribute because we store the arg on the stack, which is in +;;; some sense 'passing it upwards' +(defknown sb!vm::push-word-on-c-stack (system-area-pointer) (values) (unsafe)) +(defknown sb!vm::pop-words-from-c-stack (index) (values) ()) + ;;;; miscellaneous internal utilities (defknown %fun-name (function) t (flushable))