X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fbraid.lisp;h=67df45272102a1b1a9b32be269b0354b00b57815;hb=d25e3478acccec70402ff32554669a982be8e281;hp=518abf7724e161bde91901f3683f67c93c630c5c;hpb=4f7161165647d655392713a0d95c951e4e1749ea;p=sbcl.git diff --git a/src/pcl/braid.lisp b/src/pcl/braid.lisp index 518abf7..67df452 100644 --- a/src/pcl/braid.lisp +++ b/src/pcl/braid.lisp @@ -85,20 +85,6 @@ (allocate-standard-funcallable-instance-slots wrapper slots-init-p slots-init)) fin)) - -(defun allocate-structure-instance (wrapper &optional - (slots-init nil slots-init-p)) - (let* ((class (wrapper-class wrapper)) - (constructor (class-defstruct-constructor class))) - (if constructor - (let ((instance (funcall constructor)) - (slots (class-slots class))) - (when slots-init-p - (dolist (slot slots) - (setf (slot-value-using-class class instance slot) - (pop slots-init)))) - instance) - (error "can't allocate an instance of class ~S" (class-name class))))) ;;;; BOOTSTRAP-META-BRAID ;;;; @@ -629,7 +615,8 @@ ;;; Set the inherits from CPL, and register the layout. This actually ;;; installs the class in the Lisp type system. -(defun update-lisp-class-layout (class layout) +(defun %update-lisp-class-layout (class layout) + ;; Protected by *world-lock* in callers. (let ((classoid (layout-classoid layout)) (olayout (class-wrapper class))) (unless (eq (classoid-layout classoid) layout) @@ -649,7 +636,7 @@ (when (and name (symbolp name) (eq name (classoid-name classoid))) (setf (find-classoid name) classoid)))))) -(defun set-class-type-translation (class classoid) +(defun %set-class-type-translation (class classoid) (when (not (typep classoid 'classoid)) (setq classoid (find-classoid classoid nil))) (etypecase classoid @@ -686,14 +673,14 @@ (aver (eq class lclass-pcl-class)) (setf (classoid-pcl-class lclass) class)) - (update-lisp-class-layout class layout) + (%update-lisp-class-layout class layout) (cond (olclass (aver (eq lclass olclass))) (t (setf (find-classoid name) lclass))) - (set-class-type-translation class name)))) + (%set-class-type-translation class name)))) (setq *boot-state* 'braid)