-
Notifications
You must be signed in to change notification settings - Fork 5.4k
[cDAC] Support API's used by CLRMD #124535
Copy link
Copy link
Open
8 / 88 of 8 issues completedLabels
area-Diagnostics-cdacenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additionstrackingThis issue is tracking the completion of other related issues.This issue is tracking the completion of other related issues.
Milestone
Metadata
Metadata
Assignees
Labels
area-Diagnostics-cdacenhancementProduct code improvement that does NOT require public API changes/additionsProduct code improvement that does NOT require public API changes/additionstrackingThis issue is tracking the completion of other related issues.This issue is tracking the completion of other related issues.
Type
Fields
Give feedbackNo fields configured for issues without a type.
CLRMD with Unimplemented APIs
Total Implemented: 57 out of 112 (50.9%)
These APIs are called by CLRMD but not directly by any SOS command. Many managed-delegated SOS commands (
!DumpHeap,!GCRoot,!EEHeap,!VerifyHeap,!FinalizeQueue,!ThreadPool, etc.) depend on these indirectly via CLRMD.GC Heap / Sub-Heap Info
Used by
DacHeap.CreateSubHeapInfo()— blocks!EEHeap,!DumpHeap,!FinalizeQueue, etc.ISOSDacInterface8::GetGenerationTable— GC generation table, workstation (HIGH)ISOSDacInterface8::GetGenerationTableSvr— GC generation table, server (HIGH)ISOSDacInterface8::GetFinalizationFillPointers— Finalization queue pointers, workstation (HIGH)ISOSDacInterface8::GetFinalizationFillPointersSvr— Finalization queue pointers, server (HIGH)Handle Enumeration
ISOSDacInterface::GetHandleEnumForTypes— Dependent handle enumeration viaDacHeap.EnumerateDependentHandles()(HIGH)Sync Block Enumeration
ISOSDacInterface::GetSyncBlockCleanupData— viaDacNativeHeaps.EnumerateSyncBlockCleanupData()(MEDIUM)JIT Manager / Code Heaps
ISOSDacInterface::GetJitManagerList— viaDacRuntime.EnumerateClrJitManagers()(MEDIUM)ISOSDacInterface::GetCodeHeapList— viaDacNativeHeaps.EnumerateJitManagerHeaps()(MEDIUM)Loader / Native Heap Traversal
ISOSDacInterface::TraverseLoaderHeap— viaDacNativeHeaps.TraverseLoaderHeap()(MEDIUM)ISOSDacInterface::TraverseVirtCallStubHeap— viaDacNativeHeaps.LegacyEnumerateStubHeaps()(LOW)ISOSDacInterface13::TraverseLoaderHeap— viaDacNativeHeaps.EnumerateLoaderAllocatorNativeHeaps()(MEDIUM)ISOSDacInterface13::GetLoaderAllocatorHeapNames— viaDacNativeHeaps.GetNativeHeaps()(MEDIUM)ISOSDacInterface13::GetLoaderAllocatorHeaps— viaDacNativeHeaps.EnumerateLoaderAllocatorNativeHeaps()(MEDIUM)ISOSDacInterface13::GetHandleTableMemoryRegions— viaDacNativeHeaps.EnumerateHandleTableRegions()(MEDIUM)ISOSDacInterface13::GetGCBookkeepingMemoryRegions— viaDacNativeHeaps.EnumerateGCBookkeepingRegions()(LOW)ISOSDacInterface13::GetGCFreeRegions— viaDacNativeHeaps.EnumerateGCFreeRegions()(LOW)Allocation Context
ISOSDacInterface12::GetGlobalAllocationContext— viaDacHeap.EnumerateThreadAllocationContexts()(MEDIUM)Flush / Lifecycle
ISOSDacInterface13::LockedFlush— viaDacServiceProvider.Flush()/Dispose()(MEDIUM)Version Request
IXCLRDataProcess::Request— Version request viaDacRuntimeconstructor (MEDIUM)