From abaca4656603f31aa969582f5b5bb2e64777abfb Mon Sep 17 00:00:00 2001 From: Andrew Au Date: Thu, 15 Sep 2022 19:57:29 -0700 Subject: [PATCH] Skip frozen segments for commit accounting --- src/coreclr/gc/gc.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/coreclr/gc/gc.cpp b/src/coreclr/gc/gc.cpp index 959b3b013d42d..31806bfc25428 100644 --- a/src/coreclr/gc/gc.cpp +++ b/src/coreclr/gc/gc.cpp @@ -30488,7 +30488,10 @@ void gc_heap::plan_phase (int condemned_gen_number) heap_segment* region = generation_start_segment (hp->generation_of (i)); while (region) { - committed += heap_segment_committed (region) - get_region_start (region); + if (!heap_segment_read_only_p (region)) + { + committed += heap_segment_committed (region) - get_region_start (region); + } region = heap_segment_next (region); } @@ -43917,7 +43920,10 @@ void gc_heap::verify_regions (int gen_number, bool can_verify_gen_num, bool can_ { if (p_total_committed) { - *p_total_committed += (heap_segment_committed (seg_in_gen) - get_region_start (seg_in_gen)); + if (!heap_segment_read_only_p (seg_in_gen)) + { + *p_total_committed += (heap_segment_committed (seg_in_gen) - get_region_start (seg_in_gen)); + } } if (can_verify_gen_num) {