Improved GC lossage
authorAlastair Bridgewater <nyef_sbcl@lisphacker.com>
Sat, 20 Feb 2010 23:40:50 +0000 (18:40 -0500)
committerAlastair Bridgewater <nyef@virtdev-1.lisphacker.com>
Wed, 19 Oct 2011 19:49:32 +0000 (15:49 -0400)
  * Change size_lose() and scav_lose() to indicate the widetag of the
header of the losing object rather than of the pointer to the losing
object.

  * Patch from Paul Khuong.

src/runtime/gc-common.c

index 95b5c3b..67b0fb3 100644 (file)
@@ -1885,7 +1885,7 @@ scav_lose(lispobj *where, lispobj object)
 {
     lose("no scavenge function for object 0x%08x (widetag 0x%x)\n",
          (unsigned long)object,
-         widetag_of(object));
+         widetag_of(*where));
 
     return 0; /* bogus return value to satisfy static type checking */
 }
@@ -1904,7 +1904,7 @@ size_lose(lispobj *where)
 {
     lose("no size function for object at 0x%08x (widetag 0x%x)\n",
          (unsigned long)where,
-         widetag_of(LOW_WORD(where)));
+         widetag_of(*where));
     return 1; /* bogus return value to satisfy static type checking */
 }