diff options
author | Ben Gamari <ben@smart-cactus.org> | 2019-04-14 12:36:59 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2019-10-22 18:57:42 -0400 |
commit | cb1b0145050a59e4828d24f7e4e519d20d483251 (patch) | |
tree | f34d981fe3cd879801a48cabea26117111d9211c | |
parent | d84240c9cdf5a650528b4396757b36e381ae9253 (diff) | |
download | haskell-cb1b0145050a59e4828d24f7e4e519d20d483251.tar.gz |
XXX: Various tracing
-rw-r--r-- | rts/sm/GC.c | 1 | ||||
-rw-r--r-- | rts/sm/NonMovingMark.c | 4 | ||||
-rw-r--r-- | rts/sm/NonMovingSweep.c | 2 | ||||
-rw-r--r-- | rts/sm/Storage.c | 3 |
4 files changed, 10 insertions, 0 deletions
diff --git a/rts/sm/GC.c b/rts/sm/GC.c index 55adc69700..fceff45114 100644 --- a/rts/sm/GC.c +++ b/rts/sm/GC.c @@ -1825,6 +1825,7 @@ resizeGenerations (void) } #if 0 + debugBelch("n_words: %lu, live_estimate=%lu\n", oldest_gen->n_words, oldest_gen->live_estimate); debugBelch("live: %d, min_alloc: %d, size : %d, max = %d\n", live, min_alloc, size, max); debugBelch("resize_gen: n_blocks: %lu, n_large_block: %lu, n_compact_blocks: %lu\n", diff --git a/rts/sm/NonMovingMark.c b/rts/sm/NonMovingMark.c index 03e342806a..8978b6b993 100644 --- a/rts/sm/NonMovingMark.c +++ b/rts/sm/NonMovingMark.c @@ -1694,6 +1694,7 @@ nonmovingMark (MarkQueue *queue) case NULL_ENTRY: // Perhaps the update remembered set has more to mark... if (upd_rem_set_block_list) { + trace(1, "Starting taking updremset"); ACQUIRE_LOCK(&upd_rem_set_lock); bdescr *old = queue->blocks; queue->blocks = upd_rem_set_block_list; @@ -1701,12 +1702,15 @@ nonmovingMark (MarkQueue *queue) upd_rem_set_block_list = NULL; RELEASE_LOCK(&upd_rem_set_lock); + trace(1, "Currently taking updremset"); ACQUIRE_SM_LOCK; freeGroup(old); RELEASE_SM_LOCK; + trace(1, "Finished taking updremset"); } else { // Nothing more to do debugTrace(DEBUG_nonmoving_gc, "Finished mark pass: %d", count); + trace(1, "Finished mark pass"); traceConcMarkEnd(count); return; } diff --git a/rts/sm/NonMovingSweep.c b/rts/sm/NonMovingSweep.c index cf5fcd70d7..87bcadf7ad 100644 --- a/rts/sm/NonMovingSweep.c +++ b/rts/sm/NonMovingSweep.c @@ -384,6 +384,7 @@ void nonmovingSweepStableNameTable() // a stable name can die during moving heap collection and we can't use // nonmovingIsAlive on those objects. Inefficient. + trace(1, "StartNonmovingSweepStableNameTable") stableNameLock(); FOR_EACH_STABLE_NAME( p, { @@ -399,4 +400,5 @@ void nonmovingSweepStableNameTable() } }); stableNameUnlock(); + trace(1, "EndNonmovingSweepStableNameTable") } diff --git a/rts/sm/Storage.c b/rts/sm/Storage.c index f04b3c5929..17d08f406b 100644 --- a/rts/sm/Storage.c +++ b/rts/sm/Storage.c @@ -1466,6 +1466,9 @@ calcNeeded (bool force_major, memcount *blocks_needed) blocks += gen->n_large_blocks + gen->n_compact_blocks; +// debugBelch("calcNeeded(%d): blocks: %lu, n_blocks: %lu, max_blocks: %lu\n", +// g, blocks, gen->n_blocks, gen->max_blocks); + // we need at least this much space needed += blocks; |