void GC_print_back_graph_stats(void)
{
+ GC_ASSERT(I_HOLD_LOCK());
GC_printf("Maximum backwards height of reachable objects at GC %lu is %lu\n",
(unsigned long) GC_gc_no, (unsigned long)GC_max_height);
if (GC_max_height > GC_max_max_height) {
+ ptr_t obj = GC_deepest_obj;
+
GC_max_max_height = GC_max_height;
+ UNLOCK();
GC_err_printf(
"The following unreachable object is last in a longest chain "
"of unreachable objects:\n");
- GC_print_heap_obj(GC_deepest_obj);
+ GC_print_heap_obj(obj);
+ LOCK();
}
GC_COND_LOG_PRINTF("Needed max total of %d back-edge structs\n",
GC_n_back_edge_structs);