@@ -335,7 +335,7 @@ HRESULT DacHeapWalker::InitHeapDataSvr(HeapData *&pHeaps, size_t &pCount)
335
335
for (int i = 0 ; i < heaps; ++i)
336
336
{
337
337
// Basic heap info.
338
- TADDR heapAddress = HeapTableIndex (g_gcDacGlobals->g_heaps , i);
338
+ TADDR heapAddress = HeapTableIndex (g_gcDacGlobals->g_heaps , i);
339
339
dac_gc_heap heap = LoadGcHeapData (heapAddress);
340
340
dac_gc_heap* pHeap = &heap;
341
341
dac_generation gen0 = ServerGenerationTableIndex (heapAddress, 0 );
@@ -395,17 +395,16 @@ HRESULT DacHeapWalker::InitHeapDataSvr(HeapData *&pHeaps, size_t &pCount)
395
395
seg = gen0.start_segment ;
396
396
for (; seg && (j < count); ++j)
397
397
{
398
+ pHeaps[i].Segments [j].Generation = CorDebug_Gen0;
398
399
pHeaps[i].Segments [j].Start = (CORDB_ADDRESS)seg->mem ;
399
400
if (seg.GetAddr () == pHeap->ephemeral_heap_segment .GetAddr ())
400
401
{
401
402
pHeaps[i].Segments [j].End = (CORDB_ADDRESS)pHeap->alloc_allocated ;
402
403
pHeaps[i].EphemeralSegment = j;
403
- pHeaps[i].Segments [j].Generation = CorDebug_Gen0;
404
404
}
405
405
else
406
406
{
407
407
pHeaps[i].Segments [j].End = (CORDB_ADDRESS)seg->allocated ;
408
- pHeaps[i].Segments [j].Generation = seg->flags & HEAP_SEGMENT_FLAGS_READONLY ? CorDebug_NonGC : CorDebug_Gen2;;
409
408
}
410
409
411
410
seg = seg->next ;
@@ -471,11 +470,11 @@ void DacFreeRegionEnumerator::AddServerRegions()
471
470
TADDR heapAddress = (TADDR)HeapTableIndex (g_gcDacGlobals->g_heaps , i);
472
471
if (heapAddress == 0 )
473
472
continue ;
474
-
473
+
475
474
dac_gc_heap heap = LoadGcHeapData (heapAddress);
476
475
for (int i = 0 ; i < count_free_region_kinds; i++)
477
476
AddSegmentList (heap.free_regions [i].head_free_region , FreeRegionKind::FreeRegion, i);
478
-
477
+
479
478
AddSegmentList (heap.freeable_soh_segment , FreeRegionKind::FreeSohSegment, i);
480
479
AddSegmentList (heap.freeable_uoh_segment , FreeRegionKind::FreeUohSegment, i);
481
480
}
0 commit comments