69 references to HandleType
Microsoft.Diagnostics.DataContractReader.Abstractions (3)
Microsoft.Diagnostics.DataContractReader.Contracts (46)
Contracts\GC\GC_1.cs (46)
338List<HandleData> IGC.GetHandles(HandleType[] types)
340List<HandleType> typesList = types.ToList();
369foreach (HandleType type in typesList)
549HandleType[] IGC.GetSupportedHandleTypes()
551List<HandleType> supportedTypes =
553HandleType.WeakShort,
554HandleType.WeakLong,
555HandleType.Strong,
556HandleType.Pinned,
557HandleType.Dependent,
558HandleType.WeakInteriorPointer
563supportedTypes.Add(HandleType.RefCounted);
567supportedTypes.Add(HandleType.CrossReference);
572HandleType[] IGC.GetHandleTypes(uint[] types)
574List<HandleType> handleTypes = new();
580HandleType? mappedType = type switch
582(uint)HandleType_1.WeakShort => HandleType.WeakShort,
583(uint)HandleType_1.WeakLong => HandleType.WeakLong,
584(uint)HandleType_1.Strong => HandleType.Strong,
585(uint)HandleType_1.Pinned => HandleType.Pinned,
586(uint)HandleType_1.RefCounted => HandleType.RefCounted,
587(uint)HandleType_1.Dependent => HandleType.Dependent,
588(uint)HandleType_1.WeakInteriorPointer => HandleType.WeakInteriorPointer,
589(uint)HandleType_1.CrossReference => HandleType.CrossReference,
593if (mappedType is HandleType concreteType)
601private static uint GetInternalHandleType(HandleType type)
605HandleType.WeakShort => (uint)HandleType_1.WeakShort,
606HandleType.WeakLong => (uint)HandleType_1.WeakLong,
607HandleType.Strong => (uint)HandleType_1.Strong,
608HandleType.Pinned => (uint)HandleType_1.Pinned,
609HandleType.Dependent => (uint)HandleType_1.Dependent,
610HandleType.WeakInteriorPointer => (uint)HandleType_1.WeakInteriorPointer,
611HandleType.RefCounted => (uint)HandleType_1.RefCounted,
612HandleType.CrossReference => (uint)HandleType_1.CrossReference,
617private void GetHandlesForSegment(Data.TableSegment tableSegment, HandleType type, List<HandleData> handles)
633private void GetHandlesForBlock(Data.TableSegment tableSegment, byte uBlock, HandleType type, List<HandleData> handles)
646private static bool IsStrongReference(HandleType type) => type == HandleType.Strong || type == HandleType.Pinned;
647private static bool HasSecondary(HandleType type) => type == HandleType.Dependent || type == HandleType.WeakInteriorPointer || type == HandleType.CrossReference;
648private static bool IsRefCounted(HandleType type) => type == HandleType.RefCounted;
650private HandleData CreateHandleData(TargetPointer handleAddress, byte uBlock, uint intraBlockIndex, Data.TableSegment tableSegment, HandleType type)
Microsoft.Diagnostics.DataContractReader.Legacy (20)