projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix a bug which sometimes caused extra major GCs to be performed
[ghc-hetmet.git]
/
rts
/
sm
/
Scav.c
diff --git
a/rts/sm/Scav.c
b/rts/sm/Scav.c
index
9d1a0b6
..
34096d4
100644
(file)
--- a/
rts/sm/Scav.c
+++ b/
rts/sm/Scav.c
@@
-69,7
+69,7
@@
scavengeTSO (StgTSO *tso)
return;
}
return;
}
- debugTrace(DEBUG_gc,"scavenging thread %d",tso->id);
+ debugTrace(DEBUG_gc,"scavenging thread %d",(int)tso->id);
saved_eager = gct->eager_promotion;
gct->eager_promotion = rtsFalse;
saved_eager = gct->eager_promotion;
gct->eager_promotion = rtsFalse;
@@
-1372,7
+1372,7
@@
scavenge_one(StgPtr p)
* evacuated, so we perform that check here.
*/
StgClosure *q = ((StgInd *)p)->indirectee;
* evacuated, so we perform that check here.
*/
StgClosure *q = ((StgInd *)p)->indirectee;
- if (HEAP_ALLOCED(q) && Bdescr((StgPtr)q)->flags & BF_EVACUATED) {
+ if (HEAP_ALLOCED_GC(q) && Bdescr((StgPtr)q)->flags & BF_EVACUATED) {
break;
}
evacuate(&((StgInd *)p)->indirectee);
break;
}
evacuate(&((StgInd *)p)->indirectee);