From: Cyrus Harmon Date: Tue, 6 Mar 2007 18:29:54 +0000 (+0000) Subject: 1.0.3.32: make-local-alien stack alignment simplification X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=fe5d3fcb66a417311359101a77da4a691e649622;p=sbcl.git 1.0.3.32: make-local-alien stack alignment simplification * 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 --- diff --git a/src/compiler/aliencomp.lisp b/src/compiler/aliencomp.lisp index fec6e5b..3299c21 100644 --- a/src/compiler/aliencomp.lisp +++ b/src/compiler/aliencomp.lisp @@ -700,11 +700,11 @@ (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 @@ -759,7 +759,7 @@ ((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)))) diff --git a/version.lisp-expr b/version.lisp-expr index 35e3fa3..fc3275f 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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"