0.8.18.37:
authorJuho Snellman <jsnell@iki.fi>
Thu, 20 Jan 2005 20:02:29 +0000 (20:02 +0000)
committerJuho Snellman <jsnell@iki.fi>
Thu, 20 Jan 2005 20:02:29 +0000 (20:02 +0000)
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
version.lisp-expr

index c41a0ce..9b75626 100644 (file)
   (: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
   (: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*)
   #!+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
   #!-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*)
index 597e388..a8719fb 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".)
-"0.8.18.36"
+"0.8.18.37"