CMUCL commit: src/lisp (gencgc.c)

Raymond Toy rtoy at common-lisp.net
Thu Jul 22 03:16:48 CEST 2010


    Date: Wednesday, July 21, 2010 @ 21:16:48
  Author: rtoy
    Path: /project/cmucl/cvsroot/src/lisp

Modified: gencgc.c

Fixing interior pointers should ignore the lowtag bits. 

Bug fix from Alastair Bridgewater.


----------+
 gencgc.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)


Index: src/lisp/gencgc.c
diff -u src/lisp/gencgc.c:1.108 src/lisp/gencgc.c:1.109
--- src/lisp/gencgc.c:1.108	Mon Jul 19 19:08:37 2010
+++ src/lisp/gencgc.c	Wed Jul 21 21:16:47 2010
@@ -7,7 +7,7 @@
  *
  * Douglas Crosher, 1996, 1997, 1998, 1999.
  *
- * $Header: /project/cmucl/cvsroot/src/lisp/gencgc.c,v 1.108 2010-07-19 23:08:37 rtoy Exp $
+ * $Header: /project/cmucl/cvsroot/src/lisp/gencgc.c,v 1.109 2010-07-22 01:16:47 rtoy Exp $
  *
  */
 
@@ -2613,7 +2613,7 @@
     do {								\
 	if (name##_register_pair >= 0) {				\
 	    accessor =							\
-		SC_REG(context, name##_register_pair)                   \
+                PTR(SC_REG(context, name##_register_pair))              \
                 + name##_offset;                                        \
 	}								\
     } while (0)
@@ -2653,7 +2653,7 @@
 	 * 2010-Jul-14 */
 
         if (Pointerp(reg) && (PTR(reg) <= pointer)) {
-            offset = pointer - reg;
+            offset = pointer - PTR(reg);
             if (offset < *saved_offset) {
                 *saved_offset = offset;
                 *register_pair = index;



More information about the cmucl-commit mailing list