1.0.10.7: multiply-used DX LVARS
[sbcl.git] / src / code / class.lisp
index b7ada1f..c1ece12 100644 (file)
 ;;; type checking and garbage collection. Whenever a class is
 ;;; incompatibly redefined, a new layout is allocated. If two object's
 ;;; layouts are EQ, then they are exactly the same type.
+;;;
+;;; *** IMPORTANT ***
+;;;
+;;; If you change the slots of LAYOUT, you need to alter genesis as
+;;; well, since the initialization of layout slots is hardcoded there.
+;;;
+;;; FIXME: ...it would be better to automate this, of course...
 (def!struct (layout
              ;; KLUDGE: A special hack keeps this from being
              ;; called when building code for the
   (n-untagged-slots 0 :type index)
   ;; Definition location
   (source-location nil)
+  ;; Information about slots in the class to PCL: this provides fast
+  ;; access to slot-definitions and locations by name, etc.
+  (slot-table #(nil) :type simple-vector)
   ;; True IFF the layout belongs to a standand-instance or a
   ;; standard-funcallable-instance -- that is, true only if the layout
   ;; is really a wrapper.