[project @ 2005-10-12 12:57:23 by simonmar]
[ghc-hetmet.git] / ghc / rts / Sanity.c
index 97abd3c..43200d2 100644 (file)
@@ -356,12 +356,9 @@ checkClosure( StgClosure* p )
            /* we don't expect to see any of these after GC
             * but they might appear during execution
             */
-           P_ q;
            StgInd *ind = (StgInd *)p;
            ASSERT(LOOKS_LIKE_CLOSURE_PTR(ind->indirectee));
-           q = (P_)p + sizeofW(StgInd);
-           while (!*q) { q++; }; /* skip padding words (see GC.c: evacuate())*/
-           return q - (P_)p;
+           return sizeofW(StgHeader) + MIN_UPD_SIZE;
        }
 
     case RET_BCO:
@@ -550,6 +547,12 @@ checkHeap(bdescr *bd)
 {
     StgPtr p;
 
+#if defined(SMP)
+    // heap sanity checking doesn't work with SMP, because we can't
+    // zero the slop (see Updates.h).
+    return;
+#endif
+
     for (; bd != NULL; bd = bd->link) {
        p = bd->start;
        while (p < bd->free) {