X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fdlisp2.lisp;h=45e62128fa899d47897c105138a4faab9e652cdf;hb=550e5afc7ad95ff1e1bbfe932bf8dd81b0c4dce6;hp=43f33bac7520ccc864ac6e17ce7e326ea1efe905;hpb=cea4896b2482b7b2b429c1631d774b4cfbc0efba;p=sbcl.git diff --git a/src/pcl/dlisp2.lisp b/src/pcl/dlisp2.lisp index 43f33ba..45e6212 100644 --- a/src/pcl/dlisp2.lisp +++ b/src/pcl/dlisp2.lisp @@ -62,7 +62,7 @@ (emit-one-or-n-index-reader/writer-macro :writer nil nil))))) nil)) -;;; Note this list is setup in dlisp3.lisp when all the necessary +;;; Note this list is set up in dlisp3.lisp when all the necessary ;;; macros have been loaded. (defvar *checking-or-caching-function-list* nil) @@ -85,42 +85,42 @@ (cached-emf-p return-value-p metatypes applyp) (declare (ignore applyp)) (if cached-emf-p - #'(lambda (cache miss-fn) - (declare (type function miss-fn)) - #'(sb-kernel:instance-lambda (&rest args) - (declare #.*optimize-speed*) - (with-dfun-wrappers (args metatypes) - (dfun-wrappers invalid-wrapper-p) - (apply miss-fn args) - (if invalid-wrapper-p - (apply miss-fn args) - (let ((emf (probe-cache cache dfun-wrappers *not-in-cache*))) - (if (eq emf *not-in-cache*) - (apply miss-fn args) - (if return-value-p - emf - (invoke-emf emf args)))))))) - #'(lambda (cache emf miss-fn) - (declare (type function miss-fn)) - #'(sb-kernel:instance-lambda (&rest args) - (declare #.*optimize-speed*) - (with-dfun-wrappers (args metatypes) - (dfun-wrappers invalid-wrapper-p) - (apply miss-fn args) - (if invalid-wrapper-p - (apply miss-fn args) - (let ((found-p (not (eq *not-in-cache* - (probe-cache cache dfun-wrappers - *not-in-cache*))))) - (if found-p - (invoke-emf emf args) - (if return-value-p - t - (apply miss-fn args)))))))))) + (lambda (cache miss-fn) + (declare (type function miss-fn)) + #'(sb-kernel:instance-lambda (&rest args) + (declare #.*optimize-speed*) + (with-dfun-wrappers (args metatypes) + (dfun-wrappers invalid-wrapper-p) + (apply miss-fn args) + (if invalid-wrapper-p + (apply miss-fn args) + (let ((emf (probe-cache cache dfun-wrappers *not-in-cache*))) + (if (eq emf *not-in-cache*) + (apply miss-fn args) + (if return-value-p + emf + (invoke-emf emf args)))))))) + (lambda (cache emf miss-fn) + (declare (type function miss-fn)) + #'(sb-kernel:instance-lambda (&rest args) + (declare #.*optimize-speed*) + (with-dfun-wrappers (args metatypes) + (dfun-wrappers invalid-wrapper-p) + (apply miss-fn args) + (if invalid-wrapper-p + (apply miss-fn args) + (let ((found-p (not (eq *not-in-cache* + (probe-cache cache dfun-wrappers + *not-in-cache*))))) + (if found-p + (invoke-emf emf args) + (if return-value-p + t + (apply miss-fn args)))))))))) (defun emit-default-only-function (metatypes applyp) (declare (ignore metatypes applyp)) - (values #'(lambda (emf) - #'(lambda (&rest args) - (invoke-emf emf args))) + (values (lambda (emf) + (lambda (&rest args) + (invoke-emf emf args))) t))