X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fdefs.lisp;h=59a84b1a586b3ed8f048f2d90dcfed6a43eda604;hb=cf0b72cd4052a09b9a305081524bd44e2948c1e5;hp=6cd5a770cacae11c93d8c449edcd9ca16bd25770;hpb=f19ae86fb2c16ebb4dce3d16cc1bb32e94f07110;p=sbcl.git diff --git a/src/pcl/defs.lisp b/src/pcl/defs.lisp index 6cd5a77..59a84b1 100644 --- a/src/pcl/defs.lisp +++ b/src/pcl/defs.lisp @@ -314,7 +314,9 @@ definition-source-mixin metaobject funcallable-standard-object) - ((%documentation :initform nil :initarg :documentation) + ((%documentation + :initform nil + :initarg :documentation) ;; We need to make a distinction between the methods initially set ;; up by :METHOD options to DEFGENERIC and the ones set up later by ;; DEFMETHOD, because ANSI specifies that executing DEFGENERIC on @@ -326,8 +328,9 @@ ;; DEFMETHOD, then modifying and reloading a.lisp and/or b.lisp ;; tends to leave the generic function in a state consistent with ;; the most-recently-loaded state of a.lisp and b.lisp.) - (initial-methods :initform () - :accessor generic-function-initial-methods)) + (initial-methods + :initform () + :accessor generic-function-initial-methods)) (:metaclass funcallable-standard-class)) (defclass standard-generic-function (generic-function) @@ -358,7 +361,11 @@ :reader gf-arg-info) (dfun-state :initform () - :accessor gf-dfun-state)) + :accessor gf-dfun-state) + ;; Used to make DFUN-STATE & FIN-FUNCTION updates atomic. + (%lock + :initform (sb-thread::make-spinlock :name "GF lock") + :reader gf-lock)) (:metaclass funcallable-standard-class) (:default-initargs :method-class *the-class-standard-method* :method-combination *standard-method-combination*)) @@ -458,6 +465,9 @@ :initarg :initargs :accessor slot-definition-initargs) (%type :initform t :initarg :type :accessor slot-definition-type) + (%type-check-function :initform nil + :initarg type-check-function + :accessor slot-definition-type-check-function) (%documentation :initform nil :initarg :documentation ;; KLUDGE: we need a reader for bootstrapping purposes, in @@ -599,6 +609,12 @@ (%documentation :initform nil :initarg :documentation) + ;; True if the class definition was compiled with a (SAFETY 3) + ;; optimization policy. + (safe-p + :initform nil + :initarg safe-p + :accessor safe-p) (finalized-p :initform nil :reader class-finalized-p)))