projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
b7a8d20
)
disable a false assertion, add a comment to explain why
author
Simon Marlow
<marlowsd@gmail.com>
Mon, 23 Nov 2009 11:04:16 +0000
(11:04 +0000)
committer
Simon Marlow
<marlowsd@gmail.com>
Mon, 23 Nov 2009 11:04:16 +0000
(11:04 +0000)
rts/sm/Scav.c
patch
|
blob
|
history
diff --git
a/rts/sm/Scav.c
b/rts/sm/Scav.c
index
a2ee1ce
..
466b9b4
100644
(file)
--- a/
rts/sm/Scav.c
+++ b/
rts/sm/Scav.c
@@
-1490,9
+1490,11
@@
scavenge_mutable_list(bdescr *bd, generation *gen)
case TSO: {
StgTSO *tso = (StgTSO *)p;
if (tso->dirty == 0) {
case TSO: {
StgTSO *tso = (StgTSO *)p;
if (tso->dirty == 0) {
- // Must be on the mutable list because its link
- // field is dirty.
- ASSERT(tso->flags & TSO_LINK_DIRTY);
+ // Should be on the mutable list because its link
+ // field is dirty. However, in parallel GC we may
+ // have a thread on multiple mutable lists, so
+ // this assertion would be invalid:
+ // ASSERT(tso->flags & TSO_LINK_DIRTY);
scavenge_TSO_link(tso);
if (gct->failed_to_evac) {
scavenge_TSO_link(tso);
if (gct->failed_to_evac) {