1.0.3.32: make-local-alien stack alignment simplification
authorCyrus Harmon <ch-sbcl@bobobeach.com>
Tue, 6 Mar 2007 18:29:54 +0000 (18:29 +0000)
committerCyrus Harmon <ch-sbcl@bobobeach.com>
Tue, 6 Mar 2007 18:29:54 +0000 (18:29 +0000)
 * treat x86-64/darwin stack like x86-64/linux rather than x86/darwin
 * remove stack-pointer saving vops as we don't need to save and
   restore the stack in order to preserve 16-byte alignment as the
   stack should already be 16-byte aligned

src/compiler/aliencomp.lisp
version.lisp-expr

index fec6e5b..3299c21 100644 (file)
                   (error "Something is broken.")))
         (lvar (node-lvar call))
         (args args)
-        #!+(or (and (or x86 x86-64) darwin) win32) (stack-pointer (make-stack-pointer-tn)))
+        #!+(or (and x86 darwin) win32) (stack-pointer (make-stack-pointer-tn)))
     (multiple-value-bind (nsp stack-frame-size arg-tns result-tns)
         (make-call-out-tns type)
       #!+x86 (vop set-fpu-word-for-c call block)
-      #!+(or (and (or x86 x86-64) darwin) win32) (vop current-stack-pointer call block stack-pointer)
+      #!+(or (and x86 darwin) win32) (vop current-stack-pointer call block stack-pointer)
       (vop alloc-number-stack-space call block stack-frame-size nsp)
       (dolist (tn arg-tns)
         ;; On PPC, TN might be a list. This is used to indicate
               ((lvar-tn call block function)
                (reference-tn-list arg-tns nil))
               ((reference-tn-list result-tns t))))
-      #!-(or (and darwin (or x86 x86-64)) win32) (vop dealloc-number-stack-space call block stack-frame-size)
-      #!+(or (and darwin (or x86 x86-64)) win32) (vop reset-stack-pointer call block stack-pointer)
+      #!-(or (and darwin x86) win32) (vop dealloc-number-stack-space call block stack-frame-size)
+      #!+(or (and darwin x86) win32) (vop reset-stack-pointer call block stack-pointer)
       #!+x86 (vop set-fpu-word-for-lisp call block)
       (move-lvar-result call block result-tns lvar))))
index 35e3fa3..fc3275f 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.3.31"
+"1.0.3.32"