Code cleanup (#34862)
made these #define's always defined -
INTERIOR_POINTERS
MARK_ARRAY (replace it with BACKGROUND_GC)
SEG_MAPPING_TABLE
GROWABLE_SEG_MAPPING_TABLE
got rid of code associated with GC_STATS, recursive_gc_sync and the following configs:
GCStressMix, GCStressStep, GCStressMaxFGCsPerBGC, GCMixLog, GCStressStart and GCStressStartAtJit.
got rid of all the unnecessary UNREFERENCED_PARAMETER
got rid of MAYBE_UNUSED_VAR
for joins, got rid of all the extra pairs of checking for #ifdef MULTIPLE_HEAPS and made code styling consistent
got rid of various other pieces of unused code and completely pointless comments.
note there is one functional change: fixed a memory leak by actually doing seg_table->delete_old_slots
when FEATURE_BASICFREEZE is defined; previously this could be leaking memory if there were more than 600
segments (which is very rare for ro segs) and it only leaks a small amount memory in that case.
Co-authored-by: Maoni Stephens <maonis@ntdev.microsoft.com>