X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcompiler%2Fknownfun.lisp;h=c5fa533c4a3450b8860d7662bbb3db1fde2e7516;hb=35fecfc13c93b85d30a23375ca2850cbbf4a923e;hp=ee94ecdd572a73cce26fa0e9b1ff75e5ffb89bca;hpb=34dd23563d2f5cf05c72b971da0d0b065a09bf2a;p=sbcl.git diff --git a/src/compiler/knownfun.lisp b/src/compiler/knownfun.lisp index ee94ecd..c5fa533 100644 --- a/src/compiler/knownfun.lisp +++ b/src/compiler/knownfun.lisp @@ -135,36 +135,30 @@ ;; string used in efficiency notes (note (missing-arg) :type string) ;; T if we should emit a failure note even if SPEED=INHIBIT-WARNINGS. - (important nil :type (member t nil)) - ;; usable for byte code, native code, or both? - ;; - ;; FIXME: Now that there's no byte compiler, this is stale and could - ;; all go away. - (when :native :type (member :byte :native :both))) + (important nil :type (member t nil))) -(defprinter (transform) type note important when) +(defprinter (transform) type note important) ;;; Grab the FUN-INFO and enter the function, replacing any old ;;; one with the same type and note. (declaim (ftype (function (t list function &optional (or string null) - (member t nil) (member :native :byte :both)) + (member t nil)) *) %deftransform)) -(defun %deftransform (name type fun &optional note important (when :native)) +(defun %deftransform (name type fun &optional note important) (let* ((ctype (specifier-type type)) (note (or note "optimize")) (info (fun-info-or-lose name)) (old (find-if (lambda (x) (and (type= (transform-type x) ctype) (string-equal (transform-note x) note) - (eq (transform-important x) important) - (eq (transform-when x) when))) + (eq (transform-important x) important))) (fun-info-transforms info)))) (if old (setf (transform-function old) fun (transform-note old) note) (push (make-transform :type ctype :function fun :note note - :important important :when when) + :important important) (fun-info-transforms info))) name))