+
+#ifdef DEBUG
+ switch (get_itbl((StgClosure *)p)->type) {
+ case MUT_VAR:
+ mutlist_MUTVARS++; break;
+ case MUT_ARR_PTRS_CLEAN:
+ case MUT_ARR_PTRS_DIRTY:
+ case MUT_ARR_PTRS_FROZEN:
+ case MUT_ARR_PTRS_FROZEN0:
+ mutlist_MUTARRS++; break;
+ default:
+ mutlist_OTHERS++; break;
+ }
+#endif
+
+ // We don't need to scavenge clean arrays. This is the
+ // Whole Point of MUT_ARR_PTRS_CLEAN.
+ if (get_itbl((StgClosure *)p)->type == MUT_ARR_PTRS_CLEAN) {
+ recordMutableGen((StgClosure *)p,gen);
+ continue;
+ }
+