From: Nikodemus S. <de...@us...> - 2004-07-14 14:10:25
|
Update of /cvsroot/sbcl/sbcl/src/pcl In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6076/src/pcl Modified Files: defclass.lisp Log Message: 0.8.12.32: Fix the performance degradation in DEFCLASS caused by package locks. * While at it, correct WITHOUT-PACKAGE-LOCKS to have identical semantics both with and without :SB-PACKAGE-LOCKS in features. * Yay for Boinkmarks for catching this. Index: defclass.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/pcl/defclass.lisp,v retrieving revision 1.30 retrieving revision 1.31 diff -u -d -r1.30 -r1.31 --- defclass.lisp 29 Jun 2004 08:51:01 -0000 1.30 +++ defclass.lisp 14 Jul 2004 14:10:16 -0000 1.31 @@ -100,20 +100,18 @@ (let ((defclass-form `(progn (let ,(mapcar #'cdr *initfunctions-for-this-defclass*) - (with-single-package-locked-error - (:symbol ',name "defining ~A as a class") - (%compiler-defclass ',name - ',*readers-for-this-defclass* - ',*writers-for-this-defclass* - ',*slot-names-for-this-defclass*) - (load-defclass ',name - ',metaclass - ',supers - (list ,@canonical-slots) - (list ,@(apply #'append - (when defstruct-p - '(:from-defclass-p t)) - other-initargs)))))))) + (%compiler-defclass ',name + ',*readers-for-this-defclass* + ',*writers-for-this-defclass* + ',*slot-names-for-this-defclass*) + (load-defclass ',name + ',metaclass + ',supers + (list ,@canonical-slots) + (list ,@(apply #'append + (when defstruct-p + '(:from-defclass-p t)) + other-initargs))))))) (if defstruct-p (progn ;; FIXME: (YUK!) Why do we do this? Because in order |