0.7.3.10: Fix the SIGILL with ev6 and later Alphas: icache needs flushing
[sbcl.git] / src / compiler / x86 / values.lisp
index c73f597..55cbe21 100644 (file)
@@ -11,9 +11,6 @@
 
 (in-package "SB!VM")
 
-(file-comment
- "$Header$")
-
 (define-vop (reset-stack-pointer)
   (:args (ptr :scs (any-reg)))
   (:generator 1
     LOOP
     (inst cmp list nil-temp)
     (inst jmp :e done)
-    (pushw list cons-car-slot list-pointer-type)
-    (loadw list list cons-cdr-slot list-pointer-type)
+    (pushw list cons-car-slot list-pointer-lowtag)
+    (loadw list list cons-cdr-slot list-pointer-lowtag)
     (inst mov eax list)
     (inst and al-tn lowtag-mask)
-    (inst cmp al-tn list-pointer-type)
+    (inst cmp al-tn list-pointer-lowtag)
     (inst jmp :e loop)
-    (error-call vop bogus-argument-to-values-list-error list)
+    (error-call vop bogus-arg-to-values-list-error list)
 
     DONE
     (inst mov count start)             ; start is high address
              (move count num))
             (t
              (inst lea src (make-ea :dword :base context
-                                    :disp (- (* (tn-value skip) word-bytes))))
+                                    :disp (- (* (tn-value skip)
+                                                n-word-bytes))))
              (move count num)
-             (inst sub count (* (tn-value skip) word-bytes)))))
+             (inst sub count (* (tn-value skip) n-word-bytes)))))
 
       (any-reg
        (move src context)