53 references to HandleType
Microsoft.Diagnostics.DataContractReader.Abstractions (3)
Microsoft.Diagnostics.DataContractReader.Contracts (46)
Contracts\GC\GC_1.cs (46)
318List<HandleData> IGC.GetHandles(HandleType[] types)
320List<HandleType> typesList = types.ToList();
349foreach (HandleType type in typesList)
445HandleType[] IGC.GetSupportedHandleTypes()
447List<HandleType> supportedTypes =
449HandleType.WeakShort,
450HandleType.WeakLong,
451HandleType.Strong,
452HandleType.Pinned,
453HandleType.Dependent,
454HandleType.WeakInteriorPointer
458supportedTypes.Add(HandleType.RefCounted);
462supportedTypes.Add(HandleType.CrossReference);
467HandleType[] IGC.GetHandleTypes(uint[] types)
469List<HandleType> handleTypes = new();
475HandleType? mappedType = type switch
477(uint)HandleType_1.WeakShort => HandleType.WeakShort,
478(uint)HandleType_1.WeakLong => HandleType.WeakLong,
479(uint)HandleType_1.Strong => HandleType.Strong,
480(uint)HandleType_1.Pinned => HandleType.Pinned,
481(uint)HandleType_1.RefCounted => HandleType.RefCounted,
482(uint)HandleType_1.Dependent => HandleType.Dependent,
483(uint)HandleType_1.WeakInteriorPointer => HandleType.WeakInteriorPointer,
484(uint)HandleType_1.CrossReference => HandleType.CrossReference,
488if (mappedType is HandleType concreteType)
496private static uint GetInternalHandleType(HandleType type)
500HandleType.WeakShort => (uint)HandleType_1.WeakShort,
501HandleType.WeakLong => (uint)HandleType_1.WeakLong,
502HandleType.Strong => (uint)HandleType_1.Strong,
503HandleType.Pinned => (uint)HandleType_1.Pinned,
504HandleType.Dependent => (uint)HandleType_1.Dependent,
505HandleType.WeakInteriorPointer => (uint)HandleType_1.WeakInteriorPointer,
506HandleType.RefCounted => (uint)HandleType_1.RefCounted,
507HandleType.CrossReference => (uint)HandleType_1.CrossReference,
512private void GetHandlesForSegment(Data.TableSegment tableSegment, HandleType type, List<HandleData> handles)
528private void GetHandlesForBlock(Data.TableSegment tableSegment, byte uBlock, HandleType type, List<HandleData> handles)
541private static bool IsStrongReference(HandleType type) => type == HandleType.Strong || type == HandleType.Pinned;
542private static bool HasSecondary(HandleType type) => type == HandleType.Dependent || type == HandleType.WeakInteriorPointer || type == HandleType.CrossReference;
543private static bool IsRefCounted(HandleType type) => type == HandleType.RefCounted;
545private HandleData CreateHandleData(TargetPointer handleAddress, byte uBlock, uint intraBlockIndex, Data.TableSegment tableSegment, HandleType type)
Microsoft.Diagnostics.DataContractReader.Legacy (4)