53 references to HandleType
Microsoft.Diagnostics.DataContractReader.Abstractions (3)
Microsoft.Diagnostics.DataContractReader.Contracts (46)
Contracts\GC\GC_1.cs (46)
330List<HandleData> IGC.GetHandles(HandleType[] types)
332List<HandleType> typesList = types.ToList();
361foreach (HandleType type in typesList)
541HandleType[] IGC.GetSupportedHandleTypes()
543List<HandleType> supportedTypes =
545HandleType.WeakShort,
546HandleType.WeakLong,
547HandleType.Strong,
548HandleType.Pinned,
549HandleType.Dependent,
550HandleType.WeakInteriorPointer
554supportedTypes.Add(HandleType.RefCounted);
558supportedTypes.Add(HandleType.CrossReference);
563HandleType[] IGC.GetHandleTypes(uint[] types)
565List<HandleType> handleTypes = new();
571HandleType? mappedType = type switch
573(uint)HandleType_1.WeakShort => HandleType.WeakShort,
574(uint)HandleType_1.WeakLong => HandleType.WeakLong,
575(uint)HandleType_1.Strong => HandleType.Strong,
576(uint)HandleType_1.Pinned => HandleType.Pinned,
577(uint)HandleType_1.RefCounted => HandleType.RefCounted,
578(uint)HandleType_1.Dependent => HandleType.Dependent,
579(uint)HandleType_1.WeakInteriorPointer => HandleType.WeakInteriorPointer,
580(uint)HandleType_1.CrossReference => HandleType.CrossReference,
584if (mappedType is HandleType concreteType)
592private static uint GetInternalHandleType(HandleType type)
596HandleType.WeakShort => (uint)HandleType_1.WeakShort,
597HandleType.WeakLong => (uint)HandleType_1.WeakLong,
598HandleType.Strong => (uint)HandleType_1.Strong,
599HandleType.Pinned => (uint)HandleType_1.Pinned,
600HandleType.Dependent => (uint)HandleType_1.Dependent,
601HandleType.WeakInteriorPointer => (uint)HandleType_1.WeakInteriorPointer,
602HandleType.RefCounted => (uint)HandleType_1.RefCounted,
603HandleType.CrossReference => (uint)HandleType_1.CrossReference,
608private void GetHandlesForSegment(Data.TableSegment tableSegment, HandleType type, List<HandleData> handles)
624private void GetHandlesForBlock(Data.TableSegment tableSegment, byte uBlock, HandleType type, List<HandleData> handles)
637private static bool IsStrongReference(HandleType type) => type == HandleType.Strong || type == HandleType.Pinned;
638private static bool HasSecondary(HandleType type) => type == HandleType.Dependent || type == HandleType.WeakInteriorPointer || type == HandleType.CrossReference;
639private static bool IsRefCounted(HandleType type) => type == HandleType.RefCounted;
641private HandleData CreateHandleData(TargetPointer handleAddress, byte uBlock, uint intraBlockIndex, Data.TableSegment tableSegment, HandleType type)
Microsoft.Diagnostics.DataContractReader.Legacy (4)