0.7.13.6
[sbcl.git] / src / compiler / x86 / cell.lisp
index f34e9ac..c3cfb86 100644 (file)
   (:generator 2
     ;; The symbol-hash slot of NIL holds NIL because it is also the
     ;; cdr slot, so we have to strip off the two low bits to make sure
-    ;; it is a fixnum.
-    ;;
-    ;; FIXME: Is this still true? It seems to me from my reading of
-    ;; the DEFINE-PRIMITIVE-OBJECT in objdef.lisp that the symbol-hash
-    ;; is the second slot, and offset 0 = tags and stuff (and CAR slot in
-    ;; a CONS), offset 1 = value slot (and CDR slot in a CONS), and
-    ;; offset 2 = hash slot.
+    ;; it is a fixnum.  The lowtag selection magic that is required to
+    ;; ensure this is explained in the comment in objdef.lisp
     (loadw res symbol symbol-hash-slot other-pointer-lowtag)
     (inst and res (lognot #b11))))
 \f