0.pre7.58:
[sbcl.git] / src / compiler / x86 / macros.lisp
index b82ca88..5d4238f 100644 (file)
@@ -73,7 +73,7 @@
                  :disp (+ nil-value
                           (static-symbol-offset ',symbol)
                           (ash symbol-value-slot word-shift)
-                          (- other-pointer-type)))))
+                          (- other-pointer-lowtag)))))
 
 (defmacro store-symbol-value (reg symbol)
   `(inst mov
@@ -81,7 +81,7 @@
                  :disp (+ nil-value
                           (static-symbol-offset ',symbol)
                           (ash symbol-value-slot word-shift)
-                          (- other-pointer-type)))
+                          (- other-pointer-lowtag)))
         ,reg))
 
 
                                       :foreign)))))))))
   (values))
 
-(defmacro with-fixed-allocation ((result-tn type-code size &optional inline)
+;;; Allocate an other-pointer object of fixed SIZE with a single word
+;;; header having the specified WIDETAG value. The result is placed in
+;;; RESULT-TN.
+(defmacro with-fixed-allocation ((result-tn widetag size &optional inline)
                                 &rest forms)
-  #!+sb-doc
-  "Allocate an other-pointer object of fixed Size with a single
-   word header having the specified Type-Code. The result is placed in
-   Result-TN."
   `(pseudo-atomic
     (allocation ,result-tn (pad-data-block ,size) ,inline)
-    (storew (logior (ash (1- ,size) sb!vm:type-bits) ,type-code) ,result-tn)
+    (storew (logior (ash (1- ,size) sb!vm:n-widetag-bits) ,widetag)
+           ,result-tn)
     (inst lea ,result-tn
-     (make-ea :byte :base ,result-tn :disp other-pointer-type))
+     (make-ea :byte :base ,result-tn :disp other-pointer-lowtag))
     ,@forms))
 \f
 ;;;; error code
                                           (ash symbol-value-slot word-shift)
                                           ;; FIXME: Use mask, not minus, to
                                           ;; take out type bits.
-                                          (- other-pointer-type)))
+                                          (- other-pointer-lowtag)))
               0)
         (inst mov (make-ea :byte :disp (+ nil-value
                                           (static-symbol-offset
                                            '*pseudo-atomic-atomic*)
                                           (ash symbol-value-slot word-shift)
-                                          (- other-pointer-type)))
+                                          (- other-pointer-lowtag)))
               (fixnumize 1)))
        ,@forms
        (when *enable-pseudo-atomic*
                                           (static-symbol-offset
                                            '*pseudo-atomic-atomic*)
                                           (ash symbol-value-slot word-shift)
-                                          (- other-pointer-type)))
+                                          (- other-pointer-lowtag)))
               0)
         ;; KLUDGE: Is there any requirement for interrupts to be
         ;; handled in order? It seems as though an interrupt coming
                                     (static-symbol-offset
                                      '*pseudo-atomic-interrupted*)
                                     (ash symbol-value-slot word-shift)
-                                    (- other-pointer-type)))
+                                    (- other-pointer-lowtag)))
               0)
         (inst jmp :eq ,label)
         (inst break pending-interrupt-trap)