0.8.1.7:
[sbcl.git] / src / pcl / vector.lisp
index 26cc570..9a1f11e 100644 (file)
               (pv-cell (cons pv calls))
               (new-cache (fill-cache cache pv-wrappers pv-cell)))
          (unless (eq new-cache cache)
-           (setf (pv-table-cache pv-table) new-cache)
-           (free-cache cache))
+           (setf (pv-table-cache pv-table) new-cache))
          pv-cell))))
 
 (defun make-pv-type-declaration (var)
                              req-args)))
       `(list*
        :fast-function
-       (named-lambda
-        ,(or (body-method-name body) '.method.) ; function name
+       (,(if (body-method-name body) 'named-lambda 'lambda)
+        ,@(when (body-method-name body)
+            (list (body-method-name body))) ; function name
         (.pv-cell. .next-method-call. ,@args+rest-arg) ; function args
         ;; body of the function
         (declare (ignorable .pv-cell. .next-method-call.))