slot-class))
(set-slot 'direct-slots direct-slots)
(set-slot 'slots slots)
- (set-slot 'slot-vector (make-slot-vector class slots)))
+ (set-slot 'slot-table (make-slot-table class slots)))
;; For all direct superclasses SUPER of CLASS, make sure CLASS is
;; a direct subclass of SUPER. Note that METACLASS-NAME doesn't
(slots
:initform ()
:reader class-slots)
- (slot-vector
+ (slot-table
:initform #(nil)
- :reader class-slot-vector)))
+ :reader class-slot-table)))
;;; The class STD-CLASS is an implementation-specific common
;;; superclass of the classes STANDARD-CLASS and
(defun find-slot-definition (class slot-name)
(declare (symbol slot-name))
- (let* ((vector (class-slot-vector class))
+ (let* ((vector (class-slot-table class))
(index (rem (sxhash slot-name) (length vector))))
(declare (simple-vector vector) (index index)
(optimize (sb-c::insert-array-bounds-checks 0)))
(defun find-slot-cell (class slot-name)
(declare (symbol slot-name))
- (let* ((vector (class-slot-vector class))
+ (let* ((vector (class-slot-table class))
(index (rem (sxhash slot-name) (length vector))))
(declare (simple-vector vector) (index index)
(optimize (sb-c::insert-array-bounds-checks 0)))
(when (eq key slot-name)
(return (car plist)))))))
-(defun make-slot-vector (class slots)
+(defun make-slot-table (class slots)
(let* ((n (+ (length slots) 2))
(vector (make-array n :initial-element nil))
(save-slot-location-p
(add-direct-subclasses class direct-superclasses)
(let ((slots (compute-slots class)))
(setf (slot-value class 'slots) slots
- (slot-value class 'slot-vector) (make-slot-vector class slots)))))
+ (slot-value class 'slot-table) (make-slot-table class slots)))))
;; Comment from Gerd's PCL, 2003-05-15:
;;
;; We don't ADD-SLOT-ACCESSORS here because we don't want to
(setf (slot-value class 'cpl-available-p) t)
(let ((slots (compute-slots class)))
(setf (slot-value class 'slots) slots
- (slot-value class 'slot-vector) (make-slot-vector class slots)))
+ (slot-value class 'slot-table) (make-slot-table class slots)))
(let ((lclass (find-classoid (class-name class))))
(setf (classoid-pcl-class lclass) class)
(setf (slot-value class 'wrapper) (classoid-layout lclass)))
(update-lisp-class-layout class nwrapper)
(setf (slot-value class 'slots) eslotds
- (slot-value class 'slot-vector) (make-slot-vector class eslotds)
+ (slot-value class 'slot-table) (make-slot-table class eslotds)
(wrapper-instance-slots-layout nwrapper) nlayout
(wrapper-class-slots nwrapper) nwrapper-class-slots
(layout-length nwrapper) nslots
(def class-direct-default-initargs)
(def class-default-initargs))
-(defmethod class-slot-vector (class)
+(defmethod class-slot-table (class)
;; Default method to cause FIND-SLOT-DEFINITION return NIL for all
;; non SLOT-CLASS classes.
#(nil))
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.9.8"
+"1.0.9.9"