@@ -5043,11 +5043,16 @@ heap_segment* gc_heap::get_segment_for_uoh (int gen_number, size_t size
50435043#ifdef MULTIPLE_HEAPS
50445044 heap_segment_heap (res) = hp;
50455045#endif //MULTIPLE_HEAPS
5046- res->flags |= gen_number == poh_generation ?
5046+ res->flags |= ( gen_number == poh_generation) ?
50475047 heap_segment_flags_poh :
50485048 heap_segment_flags_loh;
50495049
5050- FIRE_EVENT(GCCreateSegment_V1, heap_segment_mem(res), (size_t)(heap_segment_reserved (res) - heap_segment_mem(res)), gc_etw_segment_large_object_heap);
5050+ FIRE_EVENT(GCCreateSegment_V1,
5051+ heap_segment_mem(res),
5052+ (size_t)(heap_segment_reserved (res) - heap_segment_mem(res)),
5053+ (gen_number == poh_generation) ?
5054+ gc_etw_segment_pinned_object_heap :
5055+ gc_etw_segment_large_object_heap);
50515056
50525057 GCToEEInterface::DiagUpdateGenerationBounds();
50535058
@@ -16591,9 +16596,9 @@ inline
1659116596void fire_overflow_event (uint8_t* overflow_min,
1659216597 uint8_t* overflow_max,
1659316598 size_t marked_objects,
16594- int large_objects_p )
16599+ int gen_number )
1659516600{
16596- FIRE_EVENT(BGCOverflow , (uint64_t)overflow_min, (uint64_t)overflow_max, marked_objects, large_objects_p );
16601+ FIRE_EVENT(BGCOverflow_V1 , (uint64_t)overflow_min, (uint64_t)overflow_max, marked_objects, gen_number == loh_generation, gen_number );
1659716602}
1659816603
1659916604void gc_heap::concurrent_print_time_delta (const char* msg)
@@ -20359,7 +20364,7 @@ void gc_heap::background_process_mark_overflow_internal (int condemned_gen_numbe
2035920364 }
2036020365
2036120366 dprintf (2, ("h%d: SOH: ov-mo: %Id", heap_number, total_marked_objects));
20362- fire_overflow_event (min_add, max_add, total_marked_objects, !small_object_segments );
20367+ fire_overflow_event (min_add, max_add, total_marked_objects, i );
2036320368 if (small_object_segments)
2036420369 {
2036520370 concurrent_print_time_delta (concurrent_p ? "Cov SOH" : "Nov SOH");
@@ -34880,66 +34885,65 @@ void gc_heap::descr_generations_to_profiler (gen_walk_fn fn, void *context)
3488034885#endif // _PREFAST_
3488134886#endif //MULTIPLE_HEAPS
3488234887
34883- int curr_gen_number0 = max_generation+1;
34884- while (curr_gen_number0 >= 0)
34888+ for (int curr_gen_number = total_generation_count-1; curr_gen_number >= 0; curr_gen_number--)
3488534889 {
34886- generation* gen = hp->generation_of (curr_gen_number0 );
34890+ generation* gen = hp->generation_of (curr_gen_number );
3488734891 heap_segment* seg = generation_start_segment (gen);
3488834892 while (seg && (seg != hp->ephemeral_heap_segment))
3488934893 {
34890- assert (curr_gen_number0 > 0);
34894+ assert (curr_gen_number > 0);
3489134895
3489234896 // report bounds from heap_segment_mem (seg) to
3489334897 // heap_segment_allocated (seg);
34894- // for generation # curr_gen_number0
34898+ // for generation # curr_gen_number
3489534899 // for heap # heap_no
3489634900
34897- fn(context, curr_gen_number0 , heap_segment_mem (seg),
34901+ fn(context, curr_gen_number , heap_segment_mem (seg),
3489834902 heap_segment_allocated (seg),
34899- curr_gen_number0 == max_generation+1 ? heap_segment_reserved (seg) : heap_segment_allocated (seg));
34903+ curr_gen_number > max_generation ? heap_segment_reserved (seg) : heap_segment_allocated (seg));
3490034904
3490134905 seg = heap_segment_next (seg);
3490234906 }
34907+
3490334908 if (seg)
3490434909 {
3490534910 assert (seg == hp->ephemeral_heap_segment);
34906- assert (curr_gen_number0 <= max_generation);
34911+ assert (curr_gen_number <= max_generation);
3490734912 //
34908- if (curr_gen_number0 == max_generation)
34913+ if (curr_gen_number == max_generation)
3490934914 {
3491034915 if (heap_segment_mem (seg) < generation_allocation_start (hp->generation_of (max_generation-1)))
3491134916 {
3491234917 // report bounds from heap_segment_mem (seg) to
3491334918 // generation_allocation_start (generation_of (max_generation-1))
3491434919 // for heap # heap_number
3491534920
34916- fn(context, curr_gen_number0 , heap_segment_mem (seg),
34921+ fn(context, curr_gen_number , heap_segment_mem (seg),
3491734922 generation_allocation_start (hp->generation_of (max_generation-1)),
3491834923 generation_allocation_start (hp->generation_of (max_generation-1)) );
3491934924 }
3492034925 }
34921- else if (curr_gen_number0 != 0)
34926+ else if (curr_gen_number != 0)
3492234927 {
34923- //report bounds from generation_allocation_start (generation_of (curr_gen_number0 ))
34924- // to generation_allocation_start (generation_of (curr_gen_number0 -1))
34928+ //report bounds from generation_allocation_start (generation_of (curr_gen_number ))
34929+ // to generation_allocation_start (generation_of (curr_gen_number -1))
3492534930 // for heap # heap_number
3492634931
34927- fn(context, curr_gen_number0 , generation_allocation_start (hp->generation_of (curr_gen_number0 )),
34928- generation_allocation_start (hp->generation_of (curr_gen_number0 -1)),
34929- generation_allocation_start (hp->generation_of (curr_gen_number0 -1)));
34932+ fn(context, curr_gen_number , generation_allocation_start (hp->generation_of (curr_gen_number )),
34933+ generation_allocation_start (hp->generation_of (curr_gen_number -1)),
34934+ generation_allocation_start (hp->generation_of (curr_gen_number -1)));
3493034935 }
3493134936 else
3493234937 {
34933- //report bounds from generation_allocation_start (generation_of (curr_gen_number0 ))
34938+ //report bounds from generation_allocation_start (generation_of (curr_gen_number ))
3493434939 // to heap_segment_allocated (ephemeral_heap_segment);
3493534940 // for heap # heap_number
3493634941
34937- fn(context, curr_gen_number0 , generation_allocation_start (hp->generation_of (curr_gen_number0 )),
34942+ fn(context, curr_gen_number , generation_allocation_start (hp->generation_of (curr_gen_number )),
3493834943 heap_segment_allocated (hp->ephemeral_heap_segment),
3493934944 heap_segment_reserved (hp->ephemeral_heap_segment) );
3494034945 }
3494134946 }
34942- curr_gen_number0--;
3494334947 }
3494434948 }
3494534949}
0 commit comments