projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2005-10-12 12:57:23 by simonmar]
[ghc-hetmet.git]
/
ghc
/
rts
/
Sanity.c
diff --git
a/ghc/rts/Sanity.c
b/ghc/rts/Sanity.c
index
97abd3c
..
43200d2
100644
(file)
--- a/
ghc/rts/Sanity.c
+++ b/
ghc/rts/Sanity.c
@@
-356,12
+356,9
@@
checkClosure( StgClosure* p )
/* we don't expect to see any of these after GC
* but they might appear during execution
*/
/* 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));
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:
}
case RET_BCO:
@@
-550,6
+547,12
@@
checkHeap(bdescr *bd)
{
StgPtr p;
{
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) {
for (; bd != NULL; bd = bd->link) {
p = bd->start;
while (p < bd->free) {