From 2aae39b4e826ff2229e2275829d5b4c335ea946e Mon Sep 17 00:00:00 2001 From: Juho Snellman Date: Thu, 20 Jan 2005 20:02:29 +0000 Subject: [PATCH] 0.8.18.37: Fix x86-64 GC error (reported by Kevin Rosenberg on sbcl-devel, "Regression error sbcl-amd64 with CLSQL test suite"). * The alien stack was aligned on four byte boundaries, so the contents of *ALIEN-STACK*'s value slot could sometimes look like an (invalid) header word. Align to eight bytes instead. --- src/compiler/x86-64/c-call.lisp | 8 ++++---- version.lisp-expr | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/compiler/x86-64/c-call.lisp b/src/compiler/x86-64/c-call.lisp index c41a0ce..9b75626 100644 --- a/src/compiler/x86-64/c-call.lisp +++ b/src/compiler/x86-64/c-call.lisp @@ -272,7 +272,7 @@ (:generator 0 (aver (not (location= result rsp-tn))) (unless (zerop amount) - (let ((delta (logandc2 (+ amount 3) 3))) + (let ((delta (logandc2 (+ amount 7) 7))) (inst mov temp (make-ea :dword :disp (+ nil-value @@ -286,7 +286,7 @@ (:generator 0 (aver (not (location= result rsp-tn))) (unless (zerop amount) - (let ((delta (logandc2 (+ amount 3) 3))) + (let ((delta (logandc2 (+ amount 7) 7))) (inst sub (make-ea :qword :disp (+ nil-value (static-symbol-offset '*alien-stack*) @@ -301,7 +301,7 @@ #!+sb-thread (:generator 0 (unless (zerop amount) - (let ((delta (logandc2 (+ amount 3) 3))) + (let ((delta (logandc2 (+ amount 7) 7))) (inst mov temp (make-ea :dword :disp (+ nil-value @@ -313,7 +313,7 @@ #!-sb-thread (:generator 0 (unless (zerop amount) - (let ((delta (logandc2 (+ amount 3) 3))) + (let ((delta (logandc2 (+ amount 7) 7))) (inst add (make-ea :qword :disp (+ nil-value (static-symbol-offset '*alien-stack*) diff --git a/version.lisp-expr b/version.lisp-expr index 597e388..a8719fb 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".) -"0.8.18.36" +"0.8.18.37" -- 1.7.10.4