From 1ac136852028fcd4d5568e996ebc612136c26b4f Mon Sep 17 00:00:00 2001 From: Cyrus Harmon Date: Sun, 18 Mar 2007 17:36:55 +0000 Subject: [PATCH] 1.0.3.44: x86-64 print vop preserves 16-byte stack alignment * rework the x86-64 print (really should be debug-print or some such) to preserve 16-byte stack alignment. This was breaking x86-64/darwin sb-show builds. --- src/compiler/x86-64/show.lisp | 10 ++++++++-- version.lisp-expr | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/compiler/x86-64/show.lisp b/src/compiler/x86-64/show.lisp index ce47087..b94e4bf 100644 --- a/src/compiler/x86-64/show.lisp +++ b/src/compiler/x86-64/show.lisp @@ -26,11 +26,17 @@ (:results (result :scs (descriptor-reg))) (:save-p t) (:generator 100 - (inst push object) + (move rax object) + (inst push rbp-tn) + (inst mov rbp-tn rsp-tn) + (inst push rbp-tn) + (inst and rsp-tn -16) + (storew rax rsp-tn) (inst lea rax (make-fixup "debug_print" :foreign)) (inst lea call-target (make-ea :qword :disp (make-fixup "call_into_c" :foreign))) (inst call call-target) - (inst add rsp-tn n-word-bytes) + (inst mov rsp-tn rbp-tn) + (inst pop rbp-tn) (move result rax))) diff --git a/version.lisp-expr b/version.lisp-expr index 25fdc46..c6340dd 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.43" +"1.0.3.44" -- 1.7.10.4