projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add ASSERTs to all calls of nameModule
[ghc-hetmet.git]
/
rts
/
sm
/
GC.c
diff --git
a/rts/sm/GC.c
b/rts/sm/GC.c
index
e0792d9
..
84a15fb
100644
(file)
--- a/
rts/sm/GC.c
+++ b/
rts/sm/GC.c
@@
-268,8
+268,9
@@
GarbageCollect ( rtsBool force_major_gc )
memInventory(traceClass(DEBUG_gc));
#endif
memInventory(traceClass(DEBUG_gc));
#endif
- // check stack sanity *before* GC (ToDo: check all threads)
+ // check stack sanity *before* GC
IF_DEBUG(sanity, checkFreeListSanity());
IF_DEBUG(sanity, checkFreeListSanity());
+ IF_DEBUG(sanity, checkMutableLists());
// Initialise all our gc_thread structures
for (t = 0; t < n_gc_threads; t++) {
// Initialise all our gc_thread structures
for (t = 0; t < n_gc_threads; t++) {
@@
-381,9
+382,6
@@
GarbageCollect ( rtsBool force_major_gc )
// Update pointers from the Task list
update_task_list();
// Update pointers from the Task list
update_task_list();
- // Update pointers from capabilities (probably just the spark queues)
- updateCapabilitiesPostGC();
-
// Now see which stable names are still alive.
gcStablePtrTable();
// Now see which stable names are still alive.
gcStablePtrTable();
@@
-497,8
+495,6
@@
GarbageCollect ( rtsBool force_major_gc )
sweep(&oldest_gen->steps[0]);
}
sweep(&oldest_gen->steps[0]);
}
- IF_DEBUG(sanity, checkGlobalTSOList(rtsFalse));
-
/* run through all the generations/steps and tidy up
*/
copied = 0;
/* run through all the generations/steps and tidy up
*/
copied = 0;
@@
-728,6
+724,11
@@
GarbageCollect ( rtsBool force_major_gc )
// Update the stable pointer hash table.
updateStablePtrTable(major_gc);
// Update the stable pointer hash table.
updateStablePtrTable(major_gc);
+ // Remove useless sparks from the spark pools
+#ifdef THREADED_RTS
+ pruneSparkQueues();
+#endif
+
// check sanity after GC
IF_DEBUG(sanity, checkSanity());
// check sanity after GC
IF_DEBUG(sanity, checkSanity());