X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fprofile.lisp;h=dbb96036b6faa253222d31fe5e4676338d84f235;hb=4fc9d21ae1d8a6a2f8ff70f589d5da103203de13;hp=6efe9b79c150fc69dd069866c231232077ca96b7;hpb=a530bbe337109d898d5b4a001fc8f1afa3b5dc39;p=sbcl.git diff --git a/src/code/profile.lisp b/src/code/profile.lisp index 6efe9b7..dbb9603 100644 --- a/src/code/profile.lisp +++ b/src/code/profile.lisp @@ -187,7 +187,7 @@ ;;; CLEAR-STATS-FUN clears the statistics. ;;; ;;; (The reason for implementing this as coupled closures, with the -;;; counts built into the lexical environment, is that we hopes this +;;; counts built into the lexical environment, is that we hope this ;;; will minimize profiling overhead.) (defun profile-encapsulation-lambdas (encapsulated-fun) (declare (type function encapsulated-fun)) @@ -260,12 +260,18 @@ ;;; interfaces -;;; A symbol names a function, a string names all the functions named -;;; by symbols in the named package. +;;; A symbol or (SETF FOO) list names a function, a string names all +;;; the functions named by symbols in the named package. (defun mapc-on-named-functions (function names) (dolist (name names) (etypecase name (symbol (funcall function name)) + (list + ;; We call this just for the side effect of checking that + ;; NAME is a legal function name: + (function-name-block-name name) + ;; Then we map onto it. + (funcall function name)) (string (let ((package (find-undeleted-package-or-lose name))) (do-symbols (symbol package) (when (eq (symbol-package symbol) package) @@ -313,7 +319,7 @@ (warn "preserving current definition of redefined function ~S" name))) (t - (warn "~S is not a profiled function.")))) + (warn "~S is not a profiled function." name)))) (values)) (defmacro profile (&rest names)