LDV Profiling: Make heapCensus agree with LdcCensusForDead
In particular it is clear that heapCensus
traverses compact regions, but LdvCensusForDead
does not.
It also seems that heapCensus
traverses some memory regions managed by capabilities.
1206 for (n = 0; n < n_capabilities; n++) {
1207 ws = &gc_threads[n]->gens[g];
1208 heapCensusChain(census, ws->todo_bd);
1209 heapCensusChain(census, ws->part_list);
1210 heapCensusChain(census, ws->scavd_list);
1211 }
I'm not sure if the LDV profiler should also traverse these areas.
The task is to work out what is in each of these regions and whether it makes sense for the LDV profiler to traverse them.
Related to #16753 (closed) and !1118 (closed)