extensible CAS and CAS extensions
[sbcl.git] / src / compiler / generic / objdef.lisp
index 5bfa3bc..243ecc3 100644 (file)
@@ -35,7 +35,8 @@
 \f
 ;;;; the primitive objects themselves
 
-(define-primitive-object (cons :lowtag list-pointer-lowtag
+(define-primitive-object (cons :type cons
+                               :lowtag list-pointer-lowtag
                                :alloc-trans cons)
   (car :ref-trans car :set-trans sb!c::%rplaca :init :arg
        :cas-trans %compare-and-swap-car)
 
 (define-primitive-object (symbol :lowtag other-pointer-lowtag
                                  :widetag symbol-header-widetag
-                                 :alloc-trans %make-symbol)
+                                 :alloc-trans %make-symbol
+                                 :type symbol)
 
   ;; Beware when changing this definition.  NIL-the-symbol is defined
   ;; using this layout, and NIL-the-end-of-list-marker is the cons