X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Ffndb.lisp;h=2a2716ce2eda0914b939d164735ac7febf2c0911;hb=a7a9b1029e8b9e45a5b66d62e161cc476cb7b60c;hp=8d8f52ea03a3baeacb1189a7f5842241997da38e;hpb=0a8778552a8499dd4614c9aada7dfca3dfcc6997;p=sbcl.git diff --git a/src/compiler/fndb.lisp b/src/compiler/fndb.lisp index 8d8f52e..2a2716c 100644 --- a/src/compiler/fndb.lisp +++ b/src/compiler/fndb.lisp @@ -80,7 +80,7 @@ ;;;; classes (sb!xc:deftype name-for-class () t) -(defknown classoid-name (classoid) name-for-class (flushable)) +(defknown classoid-name (classoid) symbol (flushable)) (defknown find-classoid (name-for-class &optional t) (or classoid null) ()) (defknown classoid-of (t) classoid (flushable)) @@ -114,10 +114,6 @@ (defknown makunbound (symbol) symbol) (defknown fmakunbound ((or symbol cons)) (or symbol cons) (unsafe explicit-check)) -(defknown (get-setf-method get-setf-method-multiple-value) - ((or list symbol) &optional lexenv-designator) - (values list list list form form) - (flushable)) (defknown apply (callable t &rest t) *) ; ### Last arg must be List... (defknown funcall (callable &rest t) *) @@ -142,7 +138,8 @@ (defknown macro-function (symbol &optional lexenv-designator) (or function null) (flushable)) -(defknown (macroexpand macroexpand-1) (t &optional lexenv-designator) +(defknown (macroexpand macroexpand-1 %macroexpand %macroexpand-1) + (t &optional lexenv-designator) (values form &optional boolean)) (defknown compiler-macro-function (t &optional lexenv-designator) @@ -318,6 +315,13 @@ (real &optional real) (values integer real) (movable foldable flushable explicit-check)) +(defknown %multiply-high (word word) word + (movable foldable flushable)) + +(defknown (%floor %ceiling) + (real real) (values integer real) + (movable foldable flushable explicit-check)) + (defknown (mod rem) (real real) real (movable foldable flushable explicit-check)) @@ -966,7 +970,7 @@ (flushable unsafe)) (defknown make-string-output-stream (&key (:element-type type-specifier)) - stream + string-output-stream (flushable)) (defknown get-output-stream-string (stream) simple-string ()) (defknown streamp (t) boolean (movable foldable flushable)) @@ -1270,16 +1274,11 @@ ;;;; from the "Conditions" chapter: -(defknown cell-error-name (cell-error) t) (defknown error (t &rest t) nil) (defknown cerror (format-control t &rest t) null) (defknown invalid-method-error (t format-control &rest t) *) ; FIXME: first arg is METHOD (defknown method-combination-error (format-control &rest t) *) (defknown signal (t &rest t) null) -(defknown simple-condition-format-control (condition) - (or null format-control)) -(defknown simple-condition-format-arguments (condition) - list) (defknown warn (t &rest t) null) (defknown invoke-debugger (condition) nil) (defknown break (&optional format-control &rest t) null) @@ -1400,6 +1399,8 @@ ;;;; magical compiler frobs +(defknown %values-list-or-context (t t t) * (always-translatable)) + (defknown %unary-truncate/single-float (single-float) integer (movable foldable flushable)) (defknown %unary-truncate/double-float (double-float) integer (movable foldable flushable)) @@ -1439,7 +1440,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 %compile-time-type-error (t t t t) *) (defknown sb!kernel::case-failure (t t t) nil) (defknown %odd-key-args-error () nil) @@ -1599,3 +1600,5 @@ (unsafe)) (defknown %compare-and-swap-symbol-value (symbol t t) t (unsafe unwind)) +(defknown spin-loop-hint () (values) + (always-translatable))