0.pre7.56:
[sbcl.git] / src / assembly / x86 / arith.lisp
index 55e86e0..04e0861 100644 (file)
@@ -10,9 +10,6 @@
 ;;;; files for more information.
 
 (in-package "SB!VM")
-
-(file-comment
- "$Header$")
 \f
 ;;;; addition, subtraction, and multiplication
 
@@ -52,7 +49,7 @@
                (inst mov ecx (fixnumize 2)) ; arg count
                (inst jmp
                      (make-ea :dword
-                              :disp (+ *nil-value*
+                              :disp (+ nil-value
                                        (static-function-offset
                                         ',(symbolicate "TWO-ARG-" fun)))))
 
@@ -69,7 +66,7 @@
     (move ecx res)
 
     (with-fixed-allocation (res bignum-type (1+ bignum-digits-offset))
-      (storew ecx res bignum-digits-offset other-pointer-type))
+      (storew ecx res bignum-digits-offset other-pointer-lowtag))
 
     OKAY)
 
@@ -89,7 +86,7 @@
     (move ecx res)
 
     (with-fixed-allocation (res bignum-type (1+ bignum-digits-offset))
-      (storew ecx res bignum-digits-offset other-pointer-type))
+      (storew ecx res bignum-digits-offset other-pointer-lowtag))
     OKAY)
 
   (define-generic-arith-routine (* 30)
     (inst jmp :e SINGLE-WORD-BIGNUM)
 
     (with-fixed-allocation (res bignum-type (+ bignum-digits-offset 2))
-      (storew eax res bignum-digits-offset other-pointer-type)
-      (storew ecx res (1+ bignum-digits-offset) other-pointer-type))
+      (storew eax res bignum-digits-offset other-pointer-lowtag)
+      (storew ecx res (1+ bignum-digits-offset) other-pointer-lowtag))
     (inst jmp DONE)
 
     SINGLE-WORD-BIGNUM
 
     (with-fixed-allocation (res bignum-type (1+ bignum-digits-offset))
-      (storew eax res bignum-digits-offset other-pointer-type))
+      (storew eax res bignum-digits-offset other-pointer-lowtag))
     (inst jmp DONE)
 
     OKAY
   (inst push eax)
   (inst mov ecx (fixnumize 1))   ; arg count
   (inst jmp (make-ea :dword
-                    :disp (+ *nil-value* (static-function-offset '%negate))))
+                    :disp (+ nil-value (static-function-offset '%negate))))
 
   FIXNUM
   (move res x)
   (move ecx res)
 
   (with-fixed-allocation (res bignum-type (1+ bignum-digits-offset))
-    (storew ecx res bignum-digits-offset other-pointer-type))
+    (storew ecx res bignum-digits-offset other-pointer-lowtag))
 
   OKAY)
 \f
                                        ; SINGLE-FLOAT-BITS are parallel,
                                        ; should be named parallelly.
                (inst jmp (make-ea :dword
-                                  :disp (+ *nil-value*
+                                  :disp (+ nil-value
                                            (static-function-offset
                                             ',static-fn))))
 
                INLINE-FIXNUM-COMPARE
                (inst cmp x y)
                (inst jmp ,test RETURN-TRUE)
-               (inst mov res *nil-value*)
+               (inst mov res nil-value)
                ;; FIXME: A note explaining this return convention, or a
                ;; symbolic name for it, would be nice. (It looks as though we
                ;; should be hand-crafting the same return sequence as would be
   (inst jmp :nz DO-STATIC-FN)
 
   RETURN-NIL
-  (inst mov res *nil-value*)
+  (inst mov res nil-value)
   (inst pop eax)
   (inst add eax 2)
   (inst jmp eax)
   (inst push eax)
   (inst mov ecx (fixnumize 2))
   (inst jmp (make-ea :dword
-                    :disp (+ *nil-value* (static-function-offset 'eql))))
+                    :disp (+ nil-value (static-function-offset 'eql))))
 
   RETURN-T
   (load-symbol res t)
                          (:temp ecx unsigned-reg ecx-offset)
                          )
   (inst test x 3)                     ; descriptor?
-  (inst jmp :nz DO-STATIC-FN)     ; yes do it here
+  (inst jmp :nz DO-STATIC-FN)          ; yes, do it here
   (inst test y 3)                     ; descriptor?
   (inst jmp :nz DO-STATIC-FN)
   (inst cmp x y)
   (inst jmp :e RETURN-T)               ; ok
 
-  (inst mov res *nil-value*)
+  (inst mov res nil-value)
   (inst pop eax)
   (inst add eax 2)
   (inst jmp eax)
   (inst push eax)
   (inst mov ecx (fixnumize 2))
   (inst jmp (make-ea :dword
-                    :disp (+ *nil-value* (static-function-offset 'two-arg-=))))
+                    :disp (+ nil-value (static-function-offset 'two-arg-=))))
 
   RETURN-T
   (load-symbol res t))
   (inst mov y (make-ea :dword :base state :index k :scale 4
                       :disp (- (* (+ 3 sb!vm:vector-data-offset)
                                   sb!vm:word-bytes)
-                               sb!vm:other-pointer-type)))
+                               sb!vm:other-pointer-lowtag)))
   (inst mov tmp (make-ea :dword :base state :index k :scale 4
                         :disp (- (* (+ 1 3 sb!vm:vector-data-offset)
                                     sb!vm:word-bytes)
-                                 sb!vm:other-pointer-type)))
+                                 sb!vm:other-pointer-lowtag)))
   (inst and y #x80000000)
   (inst and tmp #x7fffffff)
   (inst or y tmp)
   (inst xor y (make-ea :dword :base state :index k :scale 4
                       :disp (- (* (+ 397 3 sb!vm:vector-data-offset)
                                   sb!vm:word-bytes)
-                               sb!vm:other-pointer-type)))
+                               sb!vm:other-pointer-lowtag)))
   (inst mov (make-ea :dword :base state :index k :scale 4
                     :disp (- (* (+ 3 sb!vm:vector-data-offset)
                                 sb!vm:word-bytes)
-                             sb!vm:other-pointer-type))
+                             sb!vm:other-pointer-lowtag))
        y)
   (inst inc k)
   (inst cmp k (- 624 397))
   (inst mov y (make-ea :dword :base state :index k :scale 4
                       :disp (- (* (+ 3 sb!vm:vector-data-offset)
                                   sb!vm:word-bytes)
-                               sb!vm:other-pointer-type)))
+                               sb!vm:other-pointer-lowtag)))
   (inst mov tmp (make-ea :dword :base state :index k :scale 4
                         :disp (- (* (+ 1 3 sb!vm:vector-data-offset)
                                     sb!vm:word-bytes)
-                                 sb!vm:other-pointer-type)))
+                                 sb!vm:other-pointer-lowtag)))
   (inst and y #x80000000)
   (inst and tmp #x7fffffff)
   (inst or y tmp)
   (inst xor y (make-ea :dword :base state :index k :scale 4
                       :disp (- (* (+ (- 397 624) 3 sb!vm:vector-data-offset)
                                   sb!vm:word-bytes)
-                               sb!vm:other-pointer-type)))
+                               sb!vm:other-pointer-lowtag)))
   (inst mov (make-ea :dword :base state :index k :scale 4
                     :disp (- (* (+ 3 sb!vm:vector-data-offset)
                                 sb!vm:word-bytes)
-                             sb!vm:other-pointer-type))
+                             sb!vm:other-pointer-lowtag))
        y)
   (inst inc k)
   (inst cmp k (- 624 1))
   (inst mov y (make-ea :dword :base state
                       :disp (- (* (+ (- 624 1) 3 sb!vm:vector-data-offset)
                                   sb!vm:word-bytes)
-                               sb!vm:other-pointer-type)))
+                               sb!vm:other-pointer-lowtag)))
   (inst mov tmp (make-ea :dword :base state
                         :disp (- (* (+ 0 3 sb!vm:vector-data-offset)
                                     sb!vm:word-bytes)
-                                 sb!vm:other-pointer-type)))
+                                 sb!vm:other-pointer-lowtag)))
   (inst and y #x80000000)
   (inst and tmp #x7fffffff)
   (inst or y tmp)
   (inst xor y (make-ea :dword :base state
                       :disp (- (* (+ (- 397 1) 3 sb!vm:vector-data-offset)
                                   sb!vm:word-bytes)
-                               sb!vm:other-pointer-type)))
+                               sb!vm:other-pointer-lowtag)))
   (inst mov (make-ea :dword :base state
                     :disp (- (* (+ (- 624 1) 3 sb!vm:vector-data-offset)
                                 sb!vm:word-bytes)
-                             sb!vm:other-pointer-type))
+                             sb!vm:other-pointer-lowtag))
        y)
 
   ;; Restore the temporary registers and return.