projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix crash in nested callbacks (#4038)
[ghc-hetmet.git]
/
rts
/
sm
/
Compact.c
diff --git
a/rts/sm/Compact.c
b/rts/sm/Compact.c
index
6de42ef
..
fd6c92f
100644
(file)
--- a/
rts/sm/Compact.c
+++ b/
rts/sm/Compact.c
@@
-472,7
+472,6
@@
thread_TSO (StgTSO *tso)
if ( tso->why_blocked == BlockedOnMVar
|| tso->why_blocked == BlockedOnBlackHole
|| tso->why_blocked == BlockedOnMsgThrowTo
if ( tso->why_blocked == BlockedOnMVar
|| tso->why_blocked == BlockedOnBlackHole
|| tso->why_blocked == BlockedOnMsgThrowTo
- || tso->why_blocked == BlockedOnMsgWakeup
) {
thread_(&tso->block_info.closure);
}
) {
thread_(&tso->block_info.closure);
}
@@
-625,7
+624,6
@@
thread_obj (StgInfoTable *info, StgPtr p)
case CONSTR:
case PRIM:
case MUT_PRIM:
case CONSTR:
case PRIM:
case MUT_PRIM:
- case IND_PERM:
case MUT_VAR_CLEAN:
case MUT_VAR_DIRTY:
case BLACKHOLE:
case MUT_VAR_CLEAN:
case MUT_VAR_DIRTY:
case BLACKHOLE:
@@
-664,8
+662,8
@@
thread_obj (StgInfoTable *info, StgPtr p)
return p + sizeofW(StgMVar);
}
return p + sizeofW(StgMVar);
}
- case IND_OLDGEN:
- case IND_OLDGEN_PERM:
+ case IND:
+ case IND_PERM:
thread(&((StgInd *)p)->indirectee);
return p + sizeofW(StgInd);
thread(&((StgInd *)p)->indirectee);
return p + sizeofW(StgInd);