1.0.46.44: room: Fix map-stack-references for stack-grows-upward systems.
authorAlastair Bridgewater <lisphacker@users.sourceforge.net>
Thu, 24 Mar 2011 19:33:04 +0000 (19:33 +0000)
committerAlastair Bridgewater <lisphacker@users.sourceforge.net>
Thu, 24 Mar 2011 19:33:04 +0000 (19:33 +0000)
  * SAP+ is (function (system-area-pointer integer) (values
system-area-pointer)).

  * SAP- is (function (system-area-pointer system-area-pointer) (values
integer)).

  * When negating the delta in a SAP+ operation, don't use SAP-.
Instead, negate the offset.  Otherwise, you get a WARNING for passing an
integer where a system-area-pointer is expected.

src/code/room.lisp
version.lisp-expr

index 4e12042..ec6888e 100644 (file)
                    (push obj seen))))
              (setf sp
                    #!+stack-grows-downward-not-upward (sap+ sp n-word-bytes)
-                   #!-stack-grows-downward-not-upward (sap- sp n-word-bytes)))))
+                   #!-stack-grows-downward-not-upward (sap+ sp (- n-word-bytes))))))
 
 (defun map-referencing-objects (fun space object)
   (declare (type spaces space) (inline map-allocated-objects))
index ce4ca5d..4c80acd 100644 (file)
@@ -20,4 +20,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.46.43"
+"1.0.46.44"