_generated\1\TypeNameResolver.g.cs (7)
22public static TargetPointer GetStaticFieldAddress(Target target, string[] names, string fieldName)
24if (!TryGetStaticFieldAddress(target, names, fieldName, out TargetPointer address))
30public static bool TryGetStaticFieldAddress(Target target, string[] names, string fieldName, out TargetPointer address)
35if (target.TryReadGlobalPointer(name + "." + fieldName, out TargetPointer? nativeAddr))
55public static TargetPointer GetThreadStaticFieldAddress(Target target, string[] names, string fieldName, TargetPointer thread)
59if (target.Contracts.ManagedTypeSource.TryGetThreadStaticFieldAddress(name, fieldName, thread, out TargetPointer address))
_generated\10\Microsoft_Diagnostics_DataContractReader_Data.AuxiliarySymbolInfo.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public AuxiliarySymbolInfo(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Address", "CodeAddress");
30layouts.Select(address, out var t, out var b, out var n, "Name");
37static AuxiliarySymbolInfo IData<AuxiliarySymbolInfo>.Create(Target target, TargetPointer address)
_generated\100\Microsoft_Diagnostics_DataContractReader_Data.InteropSyncBlockInfo.g.cs (10)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public InteropSyncBlockInfo(Target target, TargetPointer address)
26if (layouts.TrySelect(address, out var t, out var b, out var n, "RCW"))
29RCW = default(TargetPointer?);
32if (layouts.TrySelect(address, out var t, out var b, out var n, "CCW"))
35CCW = default(TargetPointer?);
38if (layouts.TrySelect(address, out var t, out var b, out var n, "CCF"))
41CCF = default(TargetPointer?);
47static InteropSyncBlockInfo IData<InteropSyncBlockInfo>.Create(Target target, TargetPointer address)
_generated\103\Microsoft_Diagnostics_DataContractReader_Data.InterpMethodContextFrame.g.cs (9)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public InterpMethodContextFrame(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "StartIp");
30layouts.Select(address, out var t, out var b, out var n, "ParentPtr");
34layouts.Select(address, out var t, out var b, out var n, "Ip");
38layouts.Select(address, out var t, out var b, out var n, "NextPtr");
42layouts.Select(address, out var t, out var b, out var n, "Stack");
49static InterpMethodContextFrame IData<InterpMethodContextFrame>.Create(Target target, TargetPointer address)
_generated\104\Microsoft_Diagnostics_DataContractReader_Data.InterpreterFrame.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public InterpreterFrame(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "TopInterpMethodContextFrame");
30layouts.Select(address, out var t, out var b, out var n, "IsFaulting");
37static InterpreterFrame IData<InterpreterFrame>.Create(Target target, TargetPointer address)
_generated\105\Microsoft_Diagnostics_DataContractReader_Data.InterpreterPrecodeData.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public InterpreterPrecodeData(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "ByteCodeAddr");
30layouts.Select(address, out var t, out var b, out var n, "Type");
37static InterpreterPrecodeData IData<InterpreterPrecodeData>.Create(Target target, TargetPointer address)
_generated\106\Microsoft_Diagnostics_DataContractReader_Data.InterpreterRealCodeHeader.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public InterpreterRealCodeHeader(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "MethodDesc");
30layouts.Select(address, out var t, out var b, out var n, "DebugInfo");
34layouts.Select(address, out var t, out var b, out var n, "GCInfo");
41static InterpreterRealCodeHeader IData<InterpreterRealCodeHeader>.Create(Target target, TargetPointer address)
_generated\107\Microsoft_Diagnostics_DataContractReader_Data.JITNotification.g.cs (10)
15public TargetPointer Address { get; }
19partial void OnInit(Target target, TargetPointer address);
21public JITNotification(Target target, TargetPointer address)
29layouts.Select(address, out var t, out var b, out var n, "State");
33layouts.Select(address, out var t, out var b, out var n, "ClrModule");
37layouts.Select(address, out var t, out var b, out var n, "MethodToken");
44static JITNotification IData<JITNotification>.Create(Target target, TargetPointer address)
50layouts.Select(Address, out var t, out var b, out var n, "State");
58layouts.Select(Address, out var t, out var b, out var n, "ClrModule");
66layouts.Select(Address, out var t, out var b, out var n, "MethodToken");
_generated\108\Microsoft_Diagnostics_DataContractReader_Data.List.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public List(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "_items", "Items");
30layouts.Select(address, out var t, out var b, out var n, "_size", "Size");
37static List IData<List>.Create(Target target, TargetPointer address)
_generated\109\Microsoft_Diagnostics_DataContractReader_Data.LoaderAllocator.g.cs (20)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public LoaderAllocator(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "ReferenceCount");
30layouts.Select(address, out var t, out var b, out var n, "HighFrequencyHeap");
34layouts.Select(address, out var t, out var b, out var n, "LowFrequencyHeap");
38layouts.Select(address, out var t, out var b, out var n, "StaticsHeap");
42layouts.Select(address, out var t, out var b, out var n, "StubHeap");
46layouts.Select(address, out var t, out var b, out var n, "ExecutableHeap");
50if (layouts.TrySelect(address, out var t, out var b, out var n, "FixupPrecodeHeap"))
53FixupPrecodeHeap = default(TargetPointer?);
56if (layouts.TrySelect(address, out var t, out var b, out var n, "NewStubPrecodeHeap"))
59NewStubPrecodeHeap = default(TargetPointer?);
62if (layouts.TrySelect(address, out var t, out var b, out var n, "DynamicHelpersStubHeap"))
65DynamicHelpersStubHeap = default(TargetPointer?);
68layouts.Select(address, out var t, out var b, out var n, "VirtualCallStubManager");
72layouts.Select(address, out var t, out var b, out var n, "ObjectHandle");
76layouts.Select(address, out var t, out var b, out var n, "IsCollectible");
80layouts.Select(address, out var t, out var b, out var n, "CreationNumber");
87static LoaderAllocator IData<LoaderAllocator>.Create(Target target, TargetPointer address)
_generated\112\Microsoft_Diagnostics_DataContractReader_Data.LoaderHeapBlock.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public LoaderHeapBlock(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Next");
30layouts.Select(address, out var t, out var b, out var n, "VirtualAddress");
34layouts.Select(address, out var t, out var b, out var n, "VirtualSize");
41static LoaderHeapBlock IData<LoaderHeapBlock>.Create(Target target, TargetPointer address)
_generated\113\Microsoft_Diagnostics_DataContractReader_Data.Lock.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public Lock(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "_state", "State");
30layouts.Select(address, out var t, out var b, out var n, "_owningThreadId", "OwningThreadId");
34layouts.Select(address, out var t, out var b, out var n, "_recursionCount", "RecursionCount");
41static Lock IData<Lock>.Create(Target target, TargetPointer address)
_generated\114\Microsoft_Diagnostics_DataContractReader_Data.ManagedObjectWrapperHolderObject.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ManagedObjectWrapperHolderObject(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "WrappedObject");
30layouts.Select(address, out var t, out var b, out var n, "Wrapper");
37static ManagedObjectWrapperHolderObject IData<ManagedObjectWrapperHolderObject>.Create(Target target, TargetPointer address)
_generated\115\Microsoft_Diagnostics_DataContractReader_Data.ManagedObjectWrapperLayout.g.cs (9)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ManagedObjectWrapperLayout(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "RefCount");
30layouts.Select(address, out var t, out var b, out var n, "Flags");
34layouts.Select(address, out var t, out var b, out var n, "UserDefinedCount");
38layouts.Select(address, out var t, out var b, out var n, "UserDefined");
42layouts.Select(address, out var t, out var b, out var n, "Dispatches");
49static ManagedObjectWrapperLayout IData<ManagedObjectWrapperLayout>.Create(Target target, TargetPointer address)
_generated\116\Microsoft_Diagnostics_DataContractReader_Data.MemoryRange.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public MemoryRange(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "StartAddress");
30layouts.Select(address, out var t, out var b, out var n, "Size");
37static MemoryRange IData<MemoryRange>.Create(Target target, TargetPointer address)
_generated\117\Microsoft_Diagnostics_DataContractReader_Data.MethodDesc.g.cs (12)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public MethodDesc(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "ChunkIndex");
30layouts.Select(address, out var t, out var b, out var n, "Slot");
34layouts.Select(address, out var t, out var b, out var n, "Flags");
38layouts.Select(address, out var t, out var b, out var n, "Flags3AndTokenRemainder");
42layouts.Select(address, out var t, out var b, out var n, "EntryPointFlags");
46layouts.Select(address, out var t, out var b, out var n, "CodeData");
50if (layouts.TrySelect(address, out var t, out var b, out var n, "GCCoverageInfo"))
53GCCoverageInfo = default(TargetPointer?);
59static MethodDesc IData<MethodDesc>.Create(Target target, TargetPointer address)
_generated\118\Microsoft_Diagnostics_DataContractReader_Data.InstantiatedMethodDesc.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public InstantiatedMethodDesc(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "PerInstInfo");
30layouts.Select(address, out var t, out var b, out var n, "NumGenericArgs");
34layouts.Select(address, out var t, out var b, out var n, "Flags2");
41static InstantiatedMethodDesc IData<InstantiatedMethodDesc>.Create(Target target, TargetPointer address)
_generated\12\Microsoft_Diagnostics_DataContractReader_Data.CardTableInfo.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public CardTableInfo(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Recount");
30layouts.Select(address, out var t, out var b, out var n, "Size");
34layouts.Select(address, out var t, out var b, out var n, "NextCardTable");
41static CardTableInfo IData<CardTableInfo>.Create(Target target, TargetPointer address)
_generated\120\Microsoft_Diagnostics_DataContractReader_Data.StoredSigMethodDesc.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public StoredSigMethodDesc(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Sig");
30layouts.Select(address, out var t, out var b, out var n, "cSig");
34layouts.Select(address, out var t, out var b, out var n, "ExtendedFlags");
41static StoredSigMethodDesc IData<StoredSigMethodDesc>.Create(Target target, TargetPointer address)
_generated\121\Microsoft_Diagnostics_DataContractReader_Data.MethodDescChunk.g.cs (9)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public MethodDescChunk(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "MethodTable");
30layouts.Select(address, out var t, out var b, out var n, "Next");
34layouts.Select(address, out var t, out var b, out var n, "Size");
38layouts.Select(address, out var t, out var b, out var n, "Count");
42layouts.Select(address, out var t, out var b, out var n, "FlagsAndTokenRange");
50static MethodDescChunk IData<MethodDescChunk>.Create(Target target, TargetPointer address)
_generated\122\Microsoft_Diagnostics_DataContractReader_Data.MethodDescCodeData.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public MethodDescCodeData(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "TemporaryEntryPoint");
30layouts.Select(address, out var t, out var b, out var n, "VersioningState");
34layouts.Select(address, out var t, out var b, out var n, "OptimizationTier");
41static MethodDescCodeData IData<MethodDescCodeData>.Create(Target target, TargetPointer address)
_generated\123\Microsoft_Diagnostics_DataContractReader_Data.MethodDescVersioningState.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public MethodDescVersioningState(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "NativeCodeVersionNode");
30layouts.Select(address, out var t, out var b, out var n, "Flags");
37static MethodDescVersioningState IData<MethodDescVersioningState>.Create(Target target, TargetPointer address)
_generated\124\Microsoft_Diagnostics_DataContractReader_Data.MethodTable.g.cs (14)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public MethodTable(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "MTFlags");
30layouts.Select(address, out var t, out var b, out var n, "BaseSize");
34layouts.Select(address, out var t, out var b, out var n, "MTFlags2");
38layouts.Select(address, out var t, out var b, out var n, "EEClassOrCanonMT");
42layouts.Select(address, out var t, out var b, out var n, "Module");
46layouts.Select(address, out var t, out var b, out var n, "ParentMethodTable");
50layouts.Select(address, out var t, out var b, out var n, "PerInstInfo");
54layouts.Select(address, out var t, out var b, out var n, "NumInterfaces");
58layouts.Select(address, out var t, out var b, out var n, "NumVirtuals");
62layouts.Select(address, out var t, out var b, out var n, "AuxiliaryData");
69static MethodTable IData<MethodTable>.Create(Target target, TargetPointer address)
_generated\125\Microsoft_Diagnostics_DataContractReader_Data.MethodTableAuxiliaryData.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public MethodTableAuxiliaryData(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "LoaderModule");
30layouts.Select(address, out var t, out var b, out var n, "OffsetToNonVirtualSlots");
34layouts.Select(address, out var t, out var b, out var n, "Flags");
41static MethodTableAuxiliaryData IData<MethodTableAuxiliaryData>.Create(Target target, TargetPointer address)
_generated\126\Microsoft_Diagnostics_DataContractReader_Data.Module.g.cs (27)
15public TargetPointer Address { get; }
19partial void OnInit(Target target, TargetPointer address);
21public Module(Target target, TargetPointer address)
29layouts.Select(address, out var t, out var b, out var n, "Assembly");
33layouts.Select(address, out var t, out var b, out var n, "PEAssembly");
37layouts.Select(address, out var t, out var b, out var n, "Flags");
41layouts.Select(address, out var t, out var b, out var n, "Base");
45layouts.Select(address, out var t, out var b, out var n, "LoaderAllocator");
49layouts.Select(address, out var t, out var b, out var n, "DynamicMetadata");
53layouts.Select(address, out var t, out var b, out var n, "SimpleName");
57layouts.Select(address, out var t, out var b, out var n, "Path");
61layouts.Select(address, out var t, out var b, out var n, "FileName");
65layouts.Select(address, out var t, out var b, out var n, "ReadyToRunInfo");
69layouts.Select(address, out var t, out var b, out var n, "GrowableSymbolStream");
73layouts.Select(address, out var t, out var b, out var n, "AvailableTypeParams");
77layouts.Select(address, out var t, out var b, out var n, "InstMethodHashTable");
81layouts.Select(address, out var t, out var b, out var n, "FieldDefToDescMap");
85layouts.Select(address, out var t, out var b, out var n, "ManifestModuleReferencesMap");
89layouts.Select(address, out var t, out var b, out var n, "MemberRefToDescMap");
93layouts.Select(address, out var t, out var b, out var n, "MethodDefToDescMap");
97layouts.Select(address, out var t, out var b, out var n, "TypeDefToMethodTableMap");
101layouts.Select(address, out var t, out var b, out var n, "TypeRefToMethodTableMap");
105layouts.Select(address, out var t, out var b, out var n, "MethodDefToILCodeVersioningStateMap");
109if (layouts.TrySelect(address, out var t, out var b, out var n, "EnCClassList"))
115layouts.Select(address, out var t, out var b, out var n, "DynamicILBlobTable");
122static Module IData<Module>.Create(Target target, TargetPointer address)
128layouts.Select(Address, out var t, out var b, out var n, "Flags");
_generated\127\Microsoft_Diagnostics_DataContractReader_Data.ModuleLookupMap.g.cs (8)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ModuleLookupMap(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "TableData");
30layouts.Select(address, out var t, out var b, out var n, "Next");
34layouts.Select(address, out var t, out var b, out var n, "Count");
38layouts.Select(address, out var t, out var b, out var n, "SupportedFlagsMask");
45static ModuleLookupMap IData<ModuleLookupMap>.Create(Target target, TargetPointer address)
_generated\128\Microsoft_Diagnostics_DataContractReader_Data.NativeCodeVersionNode.g.cs (12)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public NativeCodeVersionNode(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Next");
30layouts.Select(address, out var t, out var b, out var n, "MethodDesc");
34layouts.Select(address, out var t, out var b, out var n, "NativeCode");
38layouts.Select(address, out var t, out var b, out var n, "Flags");
42layouts.Select(address, out var t, out var b, out var n, "ILVersionId");
46if (layouts.TrySelect(address, out var t, out var b, out var n, "GCCoverageInfo"))
49GCCoverageInfo = default(TargetPointer?);
52layouts.Select(address, out var t, out var b, out var n, "OptimizationTier");
59static NativeCodeVersionNode IData<NativeCodeVersionNode>.Create(Target target, TargetPointer address)
_generated\13\Microsoft_Diagnostics_DataContractReader_Data.CGrowableSymbolStream.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public CGrowableSymbolStream(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Buffer");
30layouts.Select(address, out var t, out var b, out var n, "Size");
37static CGrowableSymbolStream IData<CGrowableSymbolStream>.Create(Target target, TargetPointer address)
_generated\137\Microsoft_Diagnostics_DataContractReader_Data.PEAssembly.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public PEAssembly(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "PEImage");
30layouts.Select(address, out var t, out var b, out var n, "AssemblyBinder");
37static PEAssembly IData<PEAssembly>.Create(Target target, TargetPointer address)
_generated\138\Microsoft_Diagnostics_DataContractReader_Data.PEImage.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public PEImage(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "LoadedImageLayout");
30layouts.Select(address, out var t, out var b, out var n, "ProbeExtensionResult");
37static PEImage IData<PEImage>.Create(Target target, TargetPointer address)
_generated\139\Microsoft_Diagnostics_DataContractReader_Data.PEImageLayout.g.cs (8)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public PEImageLayout(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Base");
30layouts.Select(address, out var t, out var b, out var n, "Size");
34layouts.Select(address, out var t, out var b, out var n, "Flags");
38layouts.Select(address, out var t, out var b, out var n, "Format");
45static PEImageLayout IData<PEImageLayout>.Create(Target target, TargetPointer address)
_generated\140\Microsoft_Diagnostics_DataContractReader_Data.PlatformMetadata.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public PlatformMetadata(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "PrecodeMachineDescriptor");
30layouts.Select(address, out var t, out var b, out var n, "CodePointerFlags");
37static PlatformMetadata IData<PlatformMetadata>.Create(Target target, TargetPointer address)
_generated\142\Microsoft_Diagnostics_DataContractReader_Data.PrecodeMachineDescriptor.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public PrecodeMachineDescriptor(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "InvalidPrecodeType");
30layouts.Select(address, out var t, out var b, out var n, "StubPrecodeType");
34layouts.Select(address, out var t, out var b, out var n, "StubCodePageSize");
41static PrecodeMachineDescriptor IData<PrecodeMachineDescriptor>.Create(Target target, TargetPointer address)
_generated\144\Microsoft_Diagnostics_DataContractReader_Data.ProfControlBlock.g.cs (8)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ProfControlBlock(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "GlobalEventMask");
30layouts.Select(address, out var t, out var b, out var n, "RejitOnAttachEnabled");
34layouts.Select(address, out var t, out var b, out var n, "MainProfilerProfInterface");
38layouts.Select(address, out var t, out var b, out var n, "NotificationProfilerCount");
45static ProfControlBlock IData<ProfControlBlock>.Create(Target target, TargetPointer address)
_generated\145\Microsoft_Diagnostics_DataContractReader_Data.RangeSection.g.cs (12)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public RangeSection(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "RangeBegin");
30layouts.Select(address, out var t, out var b, out var n, "RangeEndOpen");
34layouts.Select(address, out var t, out var b, out var n, "NextForDelete");
38layouts.Select(address, out var t, out var b, out var n, "JitManager");
42layouts.Select(address, out var t, out var b, out var n, "HeapList");
46layouts.Select(address, out var t, out var b, out var n, "Flags");
50layouts.Select(address, out var t, out var b, out var n, "R2RModule");
54layouts.Select(address, out var t, out var b, out var n, "RangeList");
61static RangeSection IData<RangeSection>.Create(Target target, TargetPointer address)
_generated\146\Microsoft_Diagnostics_DataContractReader_Data.RangeSectionFragment.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public RangeSectionFragment(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "RangeBegin");
30layouts.Select(address, out var t, out var b, out var n, "RangeEndOpen");
34layouts.Select(address, out var t, out var b, out var n, "RangeSection");
41static RangeSectionFragment IData<RangeSectionFragment>.Create(Target target, TargetPointer address)
_generated\148\Microsoft_Diagnostics_DataContractReader_Data.RCW.g.cs (15)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public RCW(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "NextCleanupBucket");
30layouts.Select(address, out var t, out var b, out var n, "NextRCW");
34layouts.Select(address, out var t, out var b, out var n, "Flags");
38layouts.Select(address, out var t, out var b, out var n, "CtxCookie");
42layouts.Select(address, out var t, out var b, out var n, "CtxEntry");
46layouts.Select(address, out var t, out var b, out var n, "IdentityPointer");
50layouts.Select(address, out var t, out var b, out var n, "SyncBlockIndex");
54layouts.Select(address, out var t, out var b, out var n, "VTablePtr");
58layouts.Select(address, out var t, out var b, out var n, "CreatorThread");
62layouts.Select(address, out var t, out var b, out var n, "RefCount");
66layouts.Select(address, out var t, out var b, out var n, "UnknownPointer");
73static RCW IData<RCW>.Create(Target target, TargetPointer address)
_generated\15\Microsoft_Diagnostics_DataContractReader_Data.CodeHeapListNode.g.cs (10)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public CodeHeapListNode(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Next");
30layouts.Select(address, out var t, out var b, out var n, "StartAddress");
34layouts.Select(address, out var t, out var b, out var n, "EndAddress");
38layouts.Select(address, out var t, out var b, out var n, "MapBase");
42layouts.Select(address, out var t, out var b, out var n, "HeaderMap");
46layouts.Select(address, out var t, out var b, out var n, "Heap");
53static CodeHeapListNode IData<CodeHeapListNode>.Create(Target target, TargetPointer address)
_generated\152\Microsoft_Diagnostics_DataContractReader_Data.ReadyToRunHeader.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ReadyToRunHeader(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "MajorVersion");
30layouts.Select(address, out var t, out var b, out var n, "MinorVersion");
37static ReadyToRunHeader IData<ReadyToRunHeader>.Create(Target target, TargetPointer address)
_generated\153\Microsoft_Diagnostics_DataContractReader_Data.ReadyToRunInfo.g.cs (14)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ReadyToRunInfo(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "CompositeInfo");
30layouts.Select(address, out var t, out var b, out var n, "ReadyToRunHeader");
34layouts.Select(address, out var t, out var b, out var n, "NumRuntimeFunctions");
38layouts.Select(address, out var t, out var b, out var n, "NumHotColdMap");
42layouts.Select(address, out var t, out var b, out var n, "DelayLoadMethodCallThunks");
46layouts.Select(address, out var t, out var b, out var n, "DebugInfoSection");
50layouts.Select(address, out var t, out var b, out var n, "ExceptionInfoSection");
54layouts.Select(address, out var t, out var b, out var n, "LoadedImageBase");
58layouts.Select(address, out var t, out var b, out var n, "Composite");
62layouts.Select(address, out var t, out var b, out var n, "NumImportSections");
69static ReadyToRunInfo IData<ReadyToRunInfo>.Create(Target target, TargetPointer address)
_generated\154\Microsoft_Diagnostics_DataContractReader_Data.ReadyToRunSection.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ReadyToRunSection(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Type");
30layouts.Select(address, out var t, out var b, out var n, "Section");
37static ReadyToRunSection IData<ReadyToRunSection>.Create(Target target, TargetPointer address)
_generated\155\Microsoft_Diagnostics_DataContractReader_Data.RealCodeHeader.g.cs (10)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public RealCodeHeader(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "MethodDesc");
30layouts.Select(address, out var t, out var b, out var n, "DebugInfo");
34layouts.Select(address, out var t, out var b, out var n, "EHInfo");
38layouts.Select(address, out var t, out var b, out var n, "GCInfo");
42layouts.Select(address, out var t, out var b, out var n, "NumUnwindInfos");
46layouts.Select(address, out var t, out var b, out var n, "UnwindInfos");
53static RealCodeHeader IData<RealCodeHeader>.Create(Target target, TargetPointer address)
_generated\157\Microsoft_Diagnostics_DataContractReader_Data.RuntimeFunction.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public RuntimeFunction(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "BeginAddress");
30if (layouts.TrySelect(address, out var t, out var b, out var n, "EndAddress"))
36layouts.Select(address, out var t, out var b, out var n, "UnwindData");
43static RuntimeFunction IData<RuntimeFunction>.Create(Target target, TargetPointer address)
_generated\159\Microsoft_Diagnostics_DataContractReader_Data.SimpleComCallWrapper.g.cs (9)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public SimpleComCallWrapper(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "OuterIUnknown");
30layouts.Select(address, out var t, out var b, out var n, "RefCount");
34layouts.Select(address, out var t, out var b, out var n, "Flags");
38layouts.Select(address, out var t, out var b, out var n, "MainWrapper");
42layouts.Select(address, out var t, out var b, out var n, "VTablePtr");
49static SimpleComCallWrapper IData<SimpleComCallWrapper>.Create(Target target, TargetPointer address)
_generated\160\Microsoft_Diagnostics_DataContractReader_Data.StressLog.g.cs (15)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public StressLog(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "LoggedFacilities");
30layouts.Select(address, out var t, out var b, out var n, "Level");
34layouts.Select(address, out var t, out var b, out var n, "MaxSizePerThread");
38layouts.Select(address, out var t, out var b, out var n, "MaxSizeTotal");
42layouts.Select(address, out var t, out var b, out var n, "TotalChunks");
46layouts.Select(address, out var t, out var b, out var n, "TickFrequency");
50layouts.Select(address, out var t, out var b, out var n, "StartTimestamp");
54layouts.Select(address, out var t, out var b, out var n, "StartTime");
58layouts.Select(address, out var t, out var b, out var n, "ModuleOffset");
62if (layouts.TrySelect(address, out var t, out var b, out var n, "Modules"))
68layouts.Select(address, out var t, out var b, out var n, "Logs");
75static StressLog IData<StressLog>.Create(Target target, TargetPointer address)
_generated\161\Microsoft_Diagnostics_DataContractReader_Data.StressLogChunk.g.cs (8)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public StressLogChunk(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Next");
30layouts.Select(address, out var t, out var b, out var n, "Buf");
34layouts.Select(address, out var t, out var b, out var n, "Sig1");
38layouts.Select(address, out var t, out var b, out var n, "Sig2");
45static StressLogChunk IData<StressLogChunk>.Create(Target target, TargetPointer address)
_generated\162\Microsoft_Diagnostics_DataContractReader_Data.StressLogModuleDesc.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public StressLogModuleDesc(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "BaseAddress");
30layouts.Select(address, out var t, out var b, out var n, "Size");
37static StressLogModuleDesc IData<StressLogModuleDesc>.Create(Target target, TargetPointer address)
_generated\163\Microsoft_Diagnostics_DataContractReader_Data.StressMsg.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public StressMsg(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Header");
30layouts.Select(address, out var t, out var b, out var n, "Args");
37static StressMsg IData<StressMsg>.Create(Target target, TargetPointer address)
_generated\164\Microsoft_Diagnostics_DataContractReader_Data.String.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public String(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "m_FirstChar", "FirstChar");
30layouts.Select(address, out var t, out var b, out var n, "m_StringLength", "StringLength");
37static String IData<String>.Create(Target target, TargetPointer address)
_generated\165\Microsoft_Diagnostics_DataContractReader_Data.StubPrecodeData_1.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public StubPrecodeData_1(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "MethodDesc");
30layouts.Select(address, out var t, out var b, out var n, "Type");
37static StubPrecodeData_1 IData<StubPrecodeData_1>.Create(Target target, TargetPointer address)
_generated\166\Microsoft_Diagnostics_DataContractReader_Data.StubPrecodeData_2.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public StubPrecodeData_2(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "SecretParam");
30layouts.Select(address, out var t, out var b, out var n, "Type");
37static StubPrecodeData_2 IData<StubPrecodeData_2>.Create(Target target, TargetPointer address)
_generated\167\Microsoft_Diagnostics_DataContractReader_Data.SyncBlock.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public SyncBlock(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "ThinLock");
30layouts.Select(address, out var t, out var b, out var n, "LinkNext");
34layouts.Select(address, out var t, out var b, out var n, "HashCode");
41static SyncBlock IData<SyncBlock>.Create(Target target, TargetPointer address)
_generated\168\Microsoft_Diagnostics_DataContractReader_Data.SyncBlockCache.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public SyncBlockCache(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "FreeSyncTableIndex");
30layouts.Select(address, out var t, out var b, out var n, "CleanupBlockList");
37static SyncBlockCache IData<SyncBlockCache>.Create(Target target, TargetPointer address)
_generated\17\Microsoft_Diagnostics_DataContractReader_Data.ComCallWrapper.g.cs (8)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ComCallWrapper(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Handle");
30layouts.Select(address, out var t, out var b, out var n, "SimpleWrapper");
34layouts.Select(address, out var t, out var b, out var n, "Next");
38layouts.Select(address, out var t, out var b, out var n, "IPtr");
45static ComCallWrapper IData<ComCallWrapper>.Create(Target target, TargetPointer address)
_generated\170\Microsoft_Diagnostics_DataContractReader_Data.SystemDomain.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public SystemDomain(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "GlobalLoaderAllocator");
30layouts.Select(address, out var t, out var b, out var n, "SystemAssembly");
37static SystemDomain IData<SystemDomain>.Create(Target target, TargetPointer address)
_generated\171\Microsoft_Diagnostics_DataContractReader_Data.TableSegment.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public TableSegment(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "NextSegment");
30layouts.Select(address, out var t, out var b, out var n, "RgValue");
37static TableSegment IData<TableSegment>.Create(Target target, TargetPointer address)
_generated\173\Microsoft_Diagnostics_DataContractReader_Data.Thread.g.cs (25)
15public TargetPointer Address { get; }
19partial void OnInit(Target target, TargetPointer address);
21public Thread(Target target, TargetPointer address)
29layouts.Select(address, out var t, out var b, out var n, "Id");
33layouts.Select(address, out var t, out var b, out var n, "OSId");
37layouts.Select(address, out var t, out var b, out var n, "State");
41layouts.Select(address, out var t, out var b, out var n, "DebuggerControlledThreadState");
45layouts.Select(address, out var t, out var b, out var n, "PreemptiveGCDisabled");
49layouts.Select(address, out var t, out var b, out var n, "Frame");
53layouts.Select(address, out var t, out var b, out var n, "GCFrame");
57layouts.Select(address, out var t, out var b, out var n, "CachedStackBase");
61layouts.Select(address, out var t, out var b, out var n, "CachedStackLimit");
65layouts.Select(address, out var t, out var b, out var n, "ExposedObject");
69layouts.Select(address, out var t, out var b, out var n, "LastThrownObject");
73layouts.Select(address, out var t, out var b, out var n, "LastThrownObjectIsUnhandled");
77layouts.Select(address, out var t, out var b, out var n, "LinkNext");
81layouts.Select(address, out var t, out var b, out var n, "ExceptionTracker");
85if (layouts.TrySelect(address, out var t, out var b, out var n, "UEWatsonBucketTrackerBuckets"))
88UEWatsonBucketTrackerBuckets = default(TargetPointer?);
91layouts.Select(address, out var t, out var b, out var n, "ThreadLocalDataPtr");
95layouts.Select(address, out var t, out var b, out var n, "DebuggerFilterContext");
99layouts.Select(address, out var t, out var b, out var n, "InteropDebuggingHijacked");
103layouts.Select(address, out var t, out var b, out var n, "CurrentCustomDebuggerNotification");
110static Thread IData<Thread>.Create(Target target, TargetPointer address)
116layouts.Select(Address, out var t, out var b, out var n, "DebuggerControlledThreadState");
_generated\174\Microsoft_Diagnostics_DataContractReader_Data.ThreadLocalData.g.cs (9)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ThreadLocalData(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "CollectibleTlsArrayData");
30layouts.Select(address, out var t, out var b, out var n, "NonCollectibleTlsArrayData");
34layouts.Select(address, out var t, out var b, out var n, "CollectibleTlsDataCount");
38layouts.Select(address, out var t, out var b, out var n, "NonCollectibleTlsDataCount");
42layouts.Select(address, out var t, out var b, out var n, "InFlightData");
49static ThreadLocalData IData<ThreadLocalData>.Create(Target target, TargetPointer address)
_generated\175\Microsoft_Diagnostics_DataContractReader_Data.ThreadStaticsInfo.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ThreadStaticsInfo(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "GCTlsIndex");
30layouts.Select(address, out var t, out var b, out var n, "NonGCTlsIndex");
37static ThreadStaticsInfo IData<ThreadStaticsInfo>.Create(Target target, TargetPointer address)
_generated\176\Microsoft_Diagnostics_DataContractReader_Data.ThreadStore.g.cs (10)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ThreadStore(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "ThreadCount");
30layouts.Select(address, out var t, out var b, out var n, "FirstThreadLink");
34layouts.Select(address, out var t, out var b, out var n, "UnstartedCount");
38layouts.Select(address, out var t, out var b, out var n, "BackgroundCount");
42layouts.Select(address, out var t, out var b, out var n, "PendingCount");
46layouts.Select(address, out var t, out var b, out var n, "DeadCount");
53static ThreadStore IData<ThreadStore>.Create(Target target, TargetPointer address)
_generated\177\Microsoft_Diagnostics_DataContractReader_Data.ThreadStressLog.g.cs (11)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ThreadStressLog(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Next");
30layouts.Select(address, out var t, out var b, out var n, "ThreadId");
34layouts.Select(address, out var t, out var b, out var n, "WriteHasWrapped");
38layouts.Select(address, out var t, out var b, out var n, "CurrentPtr");
42layouts.Select(address, out var t, out var b, out var n, "ChunkListHead");
46layouts.Select(address, out var t, out var b, out var n, "ChunkListTail");
50layouts.Select(address, out var t, out var b, out var n, "CurrentWriteChunk");
57static ThreadStressLog IData<ThreadStressLog>.Create(Target target, TargetPointer address)
_generated\179\Microsoft_Diagnostics_DataContractReader_Data.TypedByRef.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public TypedByRef(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Data");
30layouts.Select(address, out var t, out var b, out var n, "Type");
37static TypedByRef IData<TypedByRef>.Create(Target target, TargetPointer address)
_generated\182\Microsoft_Diagnostics_DataContractReader_Data.TypeVarTypeDesc.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public TypeVarTypeDesc(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Module");
30layouts.Select(address, out var t, out var b, out var n, "Token");
37static TypeVarTypeDesc IData<TypeVarTypeDesc>.Create(Target target, TargetPointer address)
_generated\183\Microsoft_Diagnostics_DataContractReader_Data.FnPtrTypeDesc.g.cs (8)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public FnPtrTypeDesc(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "NumArgs");
30layouts.Select(address, out var t, out var b, out var n, "CallConv");
34layouts.Select(address, out var t, out var b, out var n, "RetAndArgTypes");
38layouts.Select(address, out var t, out var b, out var n, "LoaderModule");
45static FnPtrTypeDesc IData<FnPtrTypeDesc>.Create(Target target, TargetPointer address)
_generated\184\Microsoft_Diagnostics_DataContractReader_Data.UnorderedArrayBase.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public UnorderedArrayBase(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Count");
30layouts.Select(address, out var t, out var b, out var n, "Table");
37static UnorderedArrayBase IData<UnorderedArrayBase>.Create(Target target, TargetPointer address)
_generated\186\Microsoft_Diagnostics_DataContractReader_Data.VASigCookie.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public VASigCookie(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "SizeOfArgs");
30layouts.Select(address, out var t, out var b, out var n, "SignaturePointer");
34layouts.Select(address, out var t, out var b, out var n, "SignatureLength");
41static VASigCookie IData<VASigCookie>.Create(Target target, TargetPointer address)
_generated\187\Microsoft_Diagnostics_DataContractReader_Data.VirtualCallStubManager.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public VirtualCallStubManager(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "IndcellHeap");
30if (layouts.TrySelect(address, out var t, out var b, out var n, "CacheEntryHeap"))
33CacheEntryHeap = default(TargetPointer?);
39static VirtualCallStubManager IData<VirtualCallStubManager>.Create(Target target, TargetPointer address)
_generated\19\Microsoft_Diagnostics_DataContractReader_Data.ComMethodTable.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ComMethodTable(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Flags");
30layouts.Select(address, out var t, out var b, out var n, "MethodTable");
37static ComMethodTable IData<ComMethodTable>.Create(Target target, TargetPointer address)
_generated\2\Microsoft_Diagnostics_DataContractReader_Data.AppDomain.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public AppDomain(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "RootAssembly");
30layouts.Select(address, out var t, out var b, out var n, "AssemblyList");
34layouts.Select(address, out var t, out var b, out var n, "FriendlyName");
41static AppDomain IData<AppDomain>.Create(Target target, TargetPointer address)
_generated\23\Microsoft_Diagnostics_DataContractReader_Data.ConditionalWeakTableContainer.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ConditionalWeakTableContainer(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "_buckets", "Buckets");
30layouts.Select(address, out var t, out var b, out var n, "_entries", "Entries");
37static ConditionalWeakTableContainer IData<ConditionalWeakTableContainer>.Create(Target target, TargetPointer address)
_generated\24\Microsoft_Diagnostics_DataContractReader_Data.ConditionalWeakTableEntry.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ConditionalWeakTableEntry(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "HashCode");
30layouts.Select(address, out var t, out var b, out var n, "Next");
34layouts.Select(address, out var t, out var b, out var n, "depHnd", "DepHndAddress");
41static ConditionalWeakTableEntry IData<ConditionalWeakTableEntry>.Create(Target target, TargetPointer address)
_generated\25\Microsoft_Diagnostics_DataContractReader_Data.ContinuationObject.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ContinuationObject(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Next");
30layouts.Select(address, out var t, out var b, out var n, "ResumeInfo");
34layouts.Select(address, out var t, out var b, out var n, "State");
41static ContinuationObject IData<ContinuationObject>.Create(Target target, TargetPointer address)
_generated\27\Microsoft_Diagnostics_DataContractReader_Data.CtxEntry.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public CtxEntry(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "STAThread");
30layouts.Select(address, out var t, out var b, out var n, "CtxCookie");
37static CtxEntry IData<CtxEntry>.Create(Target target, TargetPointer address)
_generated\28\Microsoft_Diagnostics_DataContractReader_Data.Debugger.g.cs (15)
15public TargetPointer Address { get; }
19partial void OnInit(Target target, TargetPointer address);
21public Debugger(Target target, TargetPointer address)
29layouts.Select(address, out var t, out var b, out var n, "LeftSideInitialized");
33layouts.Select(address, out var t, out var b, out var n, "Defines");
37layouts.Select(address, out var t, out var b, out var n, "MDStructuresVersion");
41layouts.Select(address, out var t, out var b, out var n, "RCThread");
45layouts.Select(address, out var t, out var b, out var n, "RSRequestedSync");
49layouts.Select(address, out var t, out var b, out var n, "SendExceptionsOutsideOfJMC");
53layouts.Select(address, out var t, out var b, out var n, "GCNotificationEventsEnabled");
57layouts.Select(address, out var t, out var b, out var n, "RgHijackFunction");
64static Debugger IData<Debugger>.Create(Target target, TargetPointer address)
70layouts.Select(Address, out var t, out var b, out var n, "RSRequestedSync");
78layouts.Select(Address, out var t, out var b, out var n, "SendExceptionsOutsideOfJMC");
86layouts.Select(Address, out var t, out var b, out var n, "GCNotificationEventsEnabled");
_generated\30\Microsoft_Diagnostics_DataContractReader_Data.Delegate.g.cs (8)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public Delegate(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Target");
30layouts.Select(address, out var t, out var b, out var n, "MethodPtr");
34layouts.Select(address, out var t, out var b, out var n, "MethodPtrAux");
38layouts.Select(address, out var t, out var b, out var n, "InvocationCount");
45static Delegate IData<Delegate>.Create(Target target, TargetPointer address)
_generated\31\Microsoft_Diagnostics_DataContractReader_Data.DynamicILBlobEntry.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public DynamicILBlobEntry(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "EntryMethodToken");
30layouts.Select(address, out var t, out var b, out var n, "EntryIL");
37static DynamicILBlobEntry IData<DynamicILBlobEntry>.Create(Target target, TargetPointer address)
_generated\32\Microsoft_Diagnostics_DataContractReader_Data.DynamicMetadata.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public DynamicMetadata(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Size");
30layouts.Select(address, out var t, out var b, out var n, "Data");
37static DynamicMetadata IData<DynamicMetadata>.Create(Target target, TargetPointer address)
_generated\36\Microsoft_Diagnostics_DataContractReader_Data.EEClass.g.cs (15)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public EEClass(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "MethodTable");
30layouts.Select(address, out var t, out var b, out var n, "MethodDescChunk");
34layouts.Select(address, out var t, out var b, out var n, "NumMethods");
38layouts.Select(address, out var t, out var b, out var n, "CorTypeAttr");
42layouts.Select(address, out var t, out var b, out var n, "InternalCorElementType");
46layouts.Select(address, out var t, out var b, out var n, "NumInstanceFields");
50layouts.Select(address, out var t, out var b, out var n, "NumStaticFields");
54layouts.Select(address, out var t, out var b, out var n, "NumThreadStaticFields");
58layouts.Select(address, out var t, out var b, out var n, "FieldDescList");
62layouts.Select(address, out var t, out var b, out var n, "NumNonVirtualSlots");
66layouts.Select(address, out var t, out var b, out var n, "BaseSizePadding");
73static EEClass IData<EEClass>.Create(Target target, TargetPointer address)
_generated\39\Microsoft_Diagnostics_DataContractReader_Data.EEJitManager.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public EEJitManager(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "StoreRichDebugInfo");
30layouts.Select(address, out var t, out var b, out var n, "AllCodeHeaps");
37static EEJitManager IData<EEJitManager>.Create(Target target, TargetPointer address)
_generated\4\Microsoft_Diagnostics_DataContractReader_Data.ArrayListBase.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ArrayListBase(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Count");
30layouts.Select(address, out var t, out var b, out var n, "FirstBlock");
37static ArrayListBase IData<ArrayListBase>.Create(Target target, TargetPointer address)
_generated\41\Microsoft_Diagnostics_DataContractReader_Data.EnCAddedField.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public EnCAddedField(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Next");
30layouts.Select(address, out var t, out var b, out var n, "FieldDesc");
34layouts.Select(address, out var t, out var b, out var n, "FieldData");
41static EnCAddedField IData<EnCAddedField>.Create(Target target, TargetPointer address)
_generated\42\Microsoft_Diagnostics_DataContractReader_Data.EnCAddedFieldElement.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public EnCAddedFieldElement(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Next");
30layouts.Select(address, out var t, out var b, out var n, "FieldDesc");
37static EnCAddedFieldElement IData<EnCAddedFieldElement>.Create(Target target, TargetPointer address)
_generated\43\Microsoft_Diagnostics_DataContractReader_Data.EnCAddedStaticField.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public EnCAddedStaticField(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "FieldDesc");
30layouts.Select(address, out var t, out var b, out var n, "FieldData");
37static EnCAddedStaticField IData<EnCAddedStaticField>.Create(Target target, TargetPointer address)
_generated\44\Microsoft_Diagnostics_DataContractReader_Data.EnCEEClassData.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public EnCEEClassData(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "MethodTable");
30layouts.Select(address, out var t, out var b, out var n, "AddedInstanceFields");
34layouts.Select(address, out var t, out var b, out var n, "AddedStaticFields");
41static EnCEEClassData IData<EnCEEClassData>.Create(Target target, TargetPointer address)
_generated\45\Microsoft_Diagnostics_DataContractReader_Data.EnCFieldDesc.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public EnCFieldDesc(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "NeedsFixup");
30layouts.Select(address, out var t, out var b, out var n, "StaticFieldData");
37static EnCFieldDesc IData<EnCFieldDesc>.Create(Target target, TargetPointer address)
_generated\47\Microsoft_Diagnostics_DataContractReader_Data.Exception.g.cs (12)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public Exception(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "_message", "Message");
30layouts.Select(address, out var t, out var b, out var n, "_innerException", "InnerException");
34layouts.Select(address, out var t, out var b, out var n, "_stackTrace", "StackTrace");
38layouts.Select(address, out var t, out var b, out var n, "_watsonBuckets", "WatsonBuckets");
42layouts.Select(address, out var t, out var b, out var n, "_stackTraceString", "StackTraceString");
46layouts.Select(address, out var t, out var b, out var n, "_remoteStackTraceString", "RemoteStackTraceString");
50layouts.Select(address, out var t, out var b, out var n, "_HResult", "HResult");
54layouts.Select(address, out var t, out var b, out var n, "_xcode", "XCode");
61static Exception IData<Exception>.Create(Target target, TargetPointer address)
_generated\48\Microsoft_Diagnostics_DataContractReader_Data.EEExceptionClause.g.cs (10)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public EEExceptionClause(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Flags");
30layouts.Select(address, out var t, out var b, out var n, "TryStartPC");
34layouts.Select(address, out var t, out var b, out var n, "TryEndPC");
38layouts.Select(address, out var t, out var b, out var n, "HandlerStartPC");
42layouts.Select(address, out var t, out var b, out var n, "HandlerEndPC");
46layouts.Select(address, out var t, out var b, out var n, "TypeHandle");
53static EEExceptionClause IData<EEExceptionClause>.Create(Target target, TargetPointer address)
_generated\49\Microsoft_Diagnostics_DataContractReader_Data.R2RExceptionClause.g.cs (10)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public R2RExceptionClause(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Flags");
30layouts.Select(address, out var t, out var b, out var n, "TryStartPC");
34layouts.Select(address, out var t, out var b, out var n, "TryEndPC");
38layouts.Select(address, out var t, out var b, out var n, "HandlerStartPC");
42layouts.Select(address, out var t, out var b, out var n, "HandlerEndPC");
46layouts.Select(address, out var t, out var b, out var n, "ClassToken");
53static R2RExceptionClause IData<R2RExceptionClause>.Create(Target target, TargetPointer address)
_generated\5\Microsoft_Diagnostics_DataContractReader_Data.ArrayListBlock.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ArrayListBlock(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Next");
30layouts.Select(address, out var t, out var b, out var n, "Size");
34layouts.Select(address, out var t, out var b, out var n, "ArrayStart");
41static ArrayListBlock IData<ArrayListBlock>.Create(Target target, TargetPointer address)
_generated\50\Microsoft_Diagnostics_DataContractReader_Data.ExceptionInfo.g.cs (19)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ExceptionInfo(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "PreviousNestedInfo");
30layouts.Select(address, out var t, out var b, out var n, "ThrownObject");
34layouts.Select(address, out var t, out var b, out var n, "ExceptionFlags");
38layouts.Select(address, out var t, out var b, out var n, "StackLowBound");
42layouts.Select(address, out var t, out var b, out var n, "StackHighBound");
46layouts.Select(address, out var t, out var b, out var n, "ExceptionRecord");
50layouts.Select(address, out var t, out var b, out var n, "ContextRecord");
54if (layouts.TrySelect(address, out var t, out var b, out var n, "ExceptionWatsonBucketTrackerBuckets"))
57ExceptionWatsonBucketTrackerBuckets = default(TargetPointer?);
60layouts.Select(address, out var t, out var b, out var n, "PassNumber");
64layouts.Select(address, out var t, out var b, out var n, "CSFEHClause");
68layouts.Select(address, out var t, out var b, out var n, "CSFEnclosingClause");
72layouts.Select(address, out var t, out var b, out var n, "CallerOfActualHandlerFrame");
76layouts.Select(address, out var t, out var b, out var n, "ClauseForCatchHandlerStartPC");
80layouts.Select(address, out var t, out var b, out var n, "ClauseForCatchHandlerEndPC");
87static ExceptionInfo IData<ExceptionInfo>.Create(Target target, TargetPointer address)
_generated\51\Microsoft_Diagnostics_DataContractReader_Data.ExceptionLookupTableEntry.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ExceptionLookupTableEntry(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "MethodStartRVA");
30layouts.Select(address, out var t, out var b, out var n, "ExceptionInfoRVA");
37static ExceptionLookupTableEntry IData<ExceptionLookupTableEntry>.Create(Target target, TargetPointer address)
_generated\52\Microsoft_Diagnostics_DataContractReader_Data.FieldDesc.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public FieldDesc(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "DWord1");
30layouts.Select(address, out var t, out var b, out var n, "DWord2");
34layouts.Select(address, out var t, out var b, out var n, "MTOfEnclosingClass");
41static FieldDesc IData<FieldDesc>.Create(Target target, TargetPointer address)
_generated\56\Microsoft_Diagnostics_DataContractReader_Data.DebuggerEval.g.cs (8)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public DebuggerEval(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "TargetContext");
30layouts.Select(address, out var t, out var b, out var n, "EvalUsesHijack");
34layouts.Select(address, out var t, out var b, out var n, "MethodToken");
38layouts.Select(address, out var t, out var b, out var n, "AssemblyPtr");
45static DebuggerEval IData<DebuggerEval>.Create(Target target, TargetPointer address)
_generated\6\Microsoft_Diagnostics_DataContractReader_Data.Assembly.g.cs (10)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public Assembly(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Module");
30layouts.Select(address, out var t, out var b, out var n, "IsCollectible");
34layouts.Select(address, out var t, out var b, out var n, "IsDynamic");
38layouts.Select(address, out var t, out var b, out var n, "Error");
42layouts.Select(address, out var t, out var b, out var n, "NotifyFlags");
46layouts.Select(address, out var t, out var b, out var n, "IsLoaded");
53static Assembly IData<Assembly>.Create(Target target, TargetPointer address)
_generated\61\Microsoft_Diagnostics_DataContractReader_Data.FramedMethodFrame.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public FramedMethodFrame(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "TransitionBlockPtr");
30layouts.Select(address, out var t, out var b, out var n, "MethodDescPtr");
37static FramedMethodFrame IData<FramedMethodFrame>.Create(Target target, TargetPointer address)
_generated\62\Microsoft_Diagnostics_DataContractReader_Data.FuncEvalFrame.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public FuncEvalFrame(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "DebuggerEvalPtr");
30layouts.Select(address, out var t, out var b, out var n, "ReturnAddress");
37static FuncEvalFrame IData<FuncEvalFrame>.Create(Target target, TargetPointer address)
_generated\64\Microsoft_Diagnostics_DataContractReader_Data.HijackArgsAMD64.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public HijackArgsAMD64(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "CalleeSavedRegisters");
30if (layouts.TrySelect(address, out var t, out var b, out var n, "Rsp"))
33Rsp = default(TargetPointer?);
39static HijackArgsAMD64 IData<HijackArgsAMD64>.Create(Target target, TargetPointer address)
_generated\65\Microsoft_Diagnostics_DataContractReader_Data.HijackFrame.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public HijackFrame(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "ReturnAddress");
30layouts.Select(address, out var t, out var b, out var n, "HijackArgsPtr");
37static HijackFrame IData<HijackFrame>.Create(Target target, TargetPointer address)
_generated\66\Microsoft_Diagnostics_DataContractReader_Data.InlinedCallFrame.g.cs (10)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public InlinedCallFrame(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "CallSiteSP");
30layouts.Select(address, out var t, out var b, out var n, "CallerReturnAddress");
34layouts.Select(address, out var t, out var b, out var n, "CalleeSavedFP");
38if (layouts.TrySelect(address, out var t, out var b, out var n, "SPAfterProlog"))
41SPAfterProlog = default(TargetPointer?);
44layouts.Select(address, out var t, out var b, out var n, "Datum");
51static InlinedCallFrame IData<InlinedCallFrame>.Create(Target target, TargetPointer address)
_generated\69\Microsoft_Diagnostics_DataContractReader_Data.SoftwareExceptionFrame.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public SoftwareExceptionFrame(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "TargetContext");
30layouts.Select(address, out var t, out var b, out var n, "ReturnAddress");
37static SoftwareExceptionFrame IData<SoftwareExceptionFrame>.Create(Target target, TargetPointer address)
_generated\70\Microsoft_Diagnostics_DataContractReader_Data.StubDispatchFrame.g.cs (8)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public StubDispatchFrame(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "MethodDescPtr");
30layouts.Select(address, out var t, out var b, out var n, "RepresentativeMTPtr");
34layouts.Select(address, out var t, out var b, out var n, "RepresentativeSlot");
38layouts.Select(address, out var t, out var b, out var n, "Indirection");
45static StubDispatchFrame IData<StubDispatchFrame>.Create(Target target, TargetPointer address)
_generated\71\Microsoft_Diagnostics_DataContractReader_Data.TailCallFrame.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public TailCallFrame(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "CalleeSavedRegisters");
30layouts.Select(address, out var t, out var b, out var n, "ReturnAddress");
37static TailCallFrame IData<TailCallFrame>.Create(Target target, TargetPointer address)
_generated\72\Microsoft_Diagnostics_DataContractReader_Data.TransitionBlock.g.cs (8)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public TransitionBlock(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "ReturnAddress");
30layouts.Select(address, out var t, out var b, out var n, "CalleeSavedRegisters");
34layouts.Select(address, out var t, out var b, out var n, "ArgumentRegisters");
38layouts.Select(address, out var t, out var b, out var n, "FirstGCRefMapSlot");
46static TransitionBlock IData<TransitionBlock>.Create(Target target, TargetPointer address)
_generated\74\Microsoft_Diagnostics_DataContractReader_Data.GCHeapSVR.g.cs (36)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public GCHeapSVR(Target target, TargetPointer address)
26if (layouts.TrySelect(address, out var t, out var b, out var n, "MarkArray"))
29MarkArray = default(TargetPointer?);
32if (layouts.TrySelect(address, out var t, out var b, out var n, "NextSweepObj"))
35NextSweepObj = default(TargetPointer?);
38if (layouts.TrySelect(address, out var t, out var b, out var n, "BackgroundMinSavedAddr"))
41BackgroundMinSavedAddr = default(TargetPointer?);
44if (layouts.TrySelect(address, out var t, out var b, out var n, "BackgroundMaxSavedAddr"))
47BackgroundMaxSavedAddr = default(TargetPointer?);
50layouts.Select(address, out var t, out var b, out var n, "AllocAllocated");
54layouts.Select(address, out var t, out var b, out var n, "EphemeralHeapSegment");
58layouts.Select(address, out var t, out var b, out var n, "CardTable");
62layouts.Select(address, out var t, out var b, out var n, "FinalizeQueue");
66layouts.Select(address, out var t, out var b, out var n, "GenerationTable");
70if (layouts.TrySelect(address, out var t, out var b, out var n, "SavedSweepEphemeralSeg"))
73SavedSweepEphemeralSeg = default(TargetPointer?);
76if (layouts.TrySelect(address, out var t, out var b, out var n, "SavedSweepEphemeralStart"))
79SavedSweepEphemeralStart = default(TargetPointer?);
82layouts.Select(address, out var t, out var b, out var n, "OomData");
86if (layouts.TrySelect(address, out var t, out var b, out var n, "InternalRootArray"))
89InternalRootArray = default(TargetPointer?);
92if (layouts.TrySelect(address, out var t, out var b, out var n, "InternalRootArrayIndex"))
98if (layouts.TrySelect(address, out var t, out var b, out var n, "HeapAnalyzeSuccess"))
104layouts.Select(address, out var t, out var b, out var n, "InterestingData");
108layouts.Select(address, out var t, out var b, out var n, "CompactReasons");
112layouts.Select(address, out var t, out var b, out var n, "ExpandMechanisms");
116layouts.Select(address, out var t, out var b, out var n, "InterestingMechanismBits");
120if (layouts.TrySelect(address, out var t, out var b, out var n, "FreeableSohSegment"))
123FreeableSohSegment = default(TargetPointer?);
126if (layouts.TrySelect(address, out var t, out var b, out var n, "FreeableUohSegment"))
129FreeableUohSegment = default(TargetPointer?);
132if (layouts.TrySelect(address, out var t, out var b, out var n, "FreeRegions"))
135FreeRegions = default(TargetPointer?);
141static GCHeapSVR IData<GCHeapSVR>.Create(Target target, TargetPointer address)
_generated\75\Microsoft_Diagnostics_DataContractReader_Data.Generation.g.cs (8)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public Generation(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "AllocationContext");
30layouts.Select(address, out var t, out var b, out var n, "StartSegment");
34if (layouts.TrySelect(address, out var t, out var b, out var n, "AllocationStart"))
37AllocationStart = default(TargetPointer?);
43static Generation IData<Generation>.Create(Target target, TargetPointer address)
_generated\76\Microsoft_Diagnostics_DataContractReader_Data.HeapSegment.g.cs (14)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public HeapSegment(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Allocated");
30layouts.Select(address, out var t, out var b, out var n, "Committed");
34layouts.Select(address, out var t, out var b, out var n, "Reserved");
38layouts.Select(address, out var t, out var b, out var n, "Used");
42layouts.Select(address, out var t, out var b, out var n, "Mem");
46layouts.Select(address, out var t, out var b, out var n, "Flags");
50layouts.Select(address, out var t, out var b, out var n, "Next");
54layouts.Select(address, out var t, out var b, out var n, "BackgroundAllocated");
58if (layouts.TrySelect(address, out var t, out var b, out var n, "Heap"))
61Heap = default(TargetPointer?);
67static HeapSegment IData<HeapSegment>.Create(Target target, TargetPointer address)
_generated\77\Microsoft_Diagnostics_DataContractReader_Data.OomHistory.g.cs (13)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public OomHistory(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Reason");
30layouts.Select(address, out var t, out var b, out var n, "AllocSize");
34layouts.Select(address, out var t, out var b, out var n, "Reserved");
38layouts.Select(address, out var t, out var b, out var n, "Allocated");
42layouts.Select(address, out var t, out var b, out var n, "GcIndex");
46layouts.Select(address, out var t, out var b, out var n, "Fgm");
50layouts.Select(address, out var t, out var b, out var n, "Size");
54layouts.Select(address, out var t, out var b, out var n, "AvailablePagefileMb");
58layouts.Select(address, out var t, out var b, out var n, "LohP");
65static OomHistory IData<OomHistory>.Create(Target target, TargetPointer address)
_generated\78\Microsoft_Diagnostics_DataContractReader_Data.GCAllocContext.g.cs (8)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public GCAllocContext(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Pointer");
30layouts.Select(address, out var t, out var b, out var n, "Limit");
34layouts.Select(address, out var t, out var b, out var n, "AllocBytes");
38layouts.Select(address, out var t, out var b, out var n, "AllocBytesLoh");
45static GCAllocContext IData<GCAllocContext>.Create(Target target, TargetPointer address)
_generated\79\Microsoft_Diagnostics_DataContractReader_Data.GCFrame.g.cs (8)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public GCFrame(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Next");
30layouts.Select(address, out var t, out var b, out var n, "ObjRefs");
34layouts.Select(address, out var t, out var b, out var n, "NumObjRefs");
38layouts.Select(address, out var t, out var b, out var n, "GCFlags");
45static GCFrame IData<GCFrame>.Create(Target target, TargetPointer address)
_generated\80\Microsoft_Diagnostics_DataContractReader_Data.GenericsDictInfo.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public GenericsDictInfo(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "NumDicts");
30layouts.Select(address, out var t, out var b, out var n, "NumTypeArgs");
37static GenericsDictInfo IData<GenericsDictInfo>.Create(Target target, TargetPointer address)
_generated\85\Microsoft_Diagnostics_DataContractReader_Data.HostCodeHeap.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public HostCodeHeap(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "BaseAddress");
30layouts.Select(address, out var t, out var b, out var n, "CurrentAddress");
37static HostCodeHeap IData<HostCodeHeap>.Create(Target target, TargetPointer address)
_generated\86\Microsoft_Diagnostics_DataContractReader_Data.IdDispenser.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public IdDispenser(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "IdToThread");
30layouts.Select(address, out var t, out var b, out var n, "HighestId");
37static IdDispenser IData<IdDispenser>.Create(Target target, TargetPointer address)
_generated\87\Microsoft_Diagnostics_DataContractReader_Data.ILCodeVersioningState.g.cs (9)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ILCodeVersioningState(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "FirstVersionNode");
30layouts.Select(address, out var t, out var b, out var n, "ActiveVersionKind");
34layouts.Select(address, out var t, out var b, out var n, "ActiveVersionNode");
38layouts.Select(address, out var t, out var b, out var n, "ActiveVersionModule");
42layouts.Select(address, out var t, out var b, out var n, "ActiveVersionMethodDef");
49static ILCodeVersioningState IData<ILCodeVersioningState>.Create(Target target, TargetPointer address)
_generated\88\Microsoft_Diagnostics_DataContractReader_Data.ILCodeVersionNode.g.cs (10)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ILCodeVersionNode(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "VersionId");
30layouts.Select(address, out var t, out var b, out var n, "Next");
34layouts.Select(address, out var t, out var b, out var n, "RejitState");
38layouts.Select(address, out var t, out var b, out var n, "ILAddress");
42layouts.Select(address, out var t, out var b, out var n, "Deoptimized");
46layouts.Select(address, out var t, out var b, out var n, "InstrumentedILMap");
53static ILCodeVersionNode IData<ILCodeVersionNode>.Create(Target target, TargetPointer address)
_generated\89\Microsoft_Diagnostics_DataContractReader_Data.ImageDataDirectory.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public ImageDataDirectory(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "VirtualAddress");
30layouts.Select(address, out var t, out var b, out var n, "Size");
37static ImageDataDirectory IData<ImageDataDirectory>.Create(Target target, TargetPointer address)
_generated\95\Microsoft_Diagnostics_DataContractReader_Data.InflightTLSData.g.cs (7)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public InflightTLSData(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Next");
30layouts.Select(address, out var t, out var b, out var n, "TlsIndex");
34layouts.Select(address, out var t, out var b, out var n, "TLSData");
41static InflightTLSData IData<InflightTLSData>.Create(Target target, TargetPointer address)
_generated\97\Microsoft_Diagnostics_DataContractReader_Data.InstrumentedILOffsetMapping.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public InstrumentedILOffsetMapping(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "Count");
30layouts.Select(address, out var t, out var b, out var n, "Map");
37static InstrumentedILOffsetMapping IData<InstrumentedILOffsetMapping>.Create(Target target, TargetPointer address)
_generated\98\Microsoft_Diagnostics_DataContractReader_Data.InterfaceEntry.g.cs (6)
15public TargetPointer Address { get; }
17partial void OnInit(Target target, TargetPointer address);
19public InterfaceEntry(Target target, TargetPointer address)
26layouts.Select(address, out var t, out var b, out var n, "MethodTable");
30layouts.Select(address, out var t, out var b, out var n, "Unknown");
37static InterfaceEntry IData<InterfaceEntry>.Create(Target target, TargetPointer address)
Contracts\CodeVersions_1.cs (44)
21ILCodeVersionHandle ICodeVersions.GetActiveILCodeVersion(TargetPointer methodDesc)
24GetModuleAndMethodDesc(methodDesc, out TargetPointer module, out uint methodDefToken);
26TargetPointer ilVersionStateAddress = GetILVersionStateAddress(module, methodDefToken);
27if (ilVersionStateAddress == TargetPointer.Null)
49out TargetPointer module,
69IEnumerable<ILCodeVersionHandle> ICodeVersions.GetILCodeVersions(TargetPointer methodDesc)
72GetModuleAndMethodDesc(methodDesc, out TargetPointer module, out uint methodDefToken);
78TargetPointer ilVersionStateAddress = GetILVersionStateAddress(module, methodDefToken);
79if (ilVersionStateAddress != TargetPointer.Null)
82TargetPointer nodePointer = ilState.FirstVersionNode;
83while (nodePointer != TargetPointer.Null)
92IEnumerable<NativeCodeVersionHandle> ICodeVersions.GetNativeCodeVersions(TargetPointer methodDesc, ILCodeVersionHandle ilCodeVersionHandle)
128TargetPointer methodDescAddress = executionManager.GetMethodDesc(info.Value);
129if (methodDescAddress == TargetPointer.Null)
148bool ICodeVersions.CodeVersionManagerSupportsMethod(TargetPointer methodDescAddress)
156TargetPointer mtAddr = rts.GetMethodTable(md);
158TargetPointer modAddr = rts.GetModule(mt);
186NativeCodeVersionHandle ICodeVersions.GetActiveNativeCodeVersionForILCodeVersion(TargetPointer methodDesc, ILCodeVersionHandle ilCodeVersionHandle)
215TargetPointer ICodeVersions.GetGCStressCodeCopy(NativeCodeVersionHandle codeVersionHandle)
230if (codeVersionNode.GCCoverageInfo is TargetPointer gcCoverageInfoAddr && gcCoverageInfoAddr != TargetPointer.Null)
235return TargetPointer.Null;
265TargetPointer versioningStateAddr = rts.GetMethodDescVersioningState(md);
266if (versioningStateAddr == TargetPointer.Null)
272TargetPointer currentAddress = versioningState.NativeCodeVersionNode;
273while (currentAddress != TargetPointer.Null)
322TargetPointer versioningStateAddress = _target.Contracts.RuntimeTypeSystem.GetMethodDescVersioningState(md);
323if (versioningStateAddress == TargetPointer.Null)
340private void GetModuleAndMethodDesc(TargetPointer methodDesc, out TargetPointer module, out uint methodDefToken)
344TargetPointer mtAddr = rts.GetMethodTable(md);
350private TargetPointer GetILVersionStateAddress(TargetPointer module, uint methodDefToken)
354return TargetPointer.Null;
357TargetPointer ilCodeVersionTable = _target.Contracts.Loader.GetLookupTables(moduleHandle).MethodDefToILCodeVersioningState;
358TargetPointer ilVersionStateAddress = _target.Contracts.Loader.GetModuleLookupMapElement(ilCodeVersionTable, methodDefToken, out var _);
364if (handle.ILCodeVersionNode == TargetPointer.Null)
374if (handle.CodeVersionNodeAddress == TargetPointer.Null)
393TargetPointer ICodeVersions.GetIL(ILCodeVersionHandle ilCodeVersionHandle)
396TargetPointer ilAddress = default;
403if (ilAddress == TargetPointer.Null)
416return iLCodeVersionHandle.IsExplicit ? AsNode(iLCodeVersionHandle).ILAddress == TargetPointer.Null : true;
419bool ICodeVersions.TryGetInstrumentedILMap(ILCodeVersionHandle ilCodeVersionHandle, out uint mapEntryCount, out TargetPointer mapEntries)
422mapEntries = TargetPointer.Null;
Contracts\ComWrappers_1.cs (42)
16private TargetPointer? _mowTableAddr = null;
17private TargetPointer? _nativeObjectWrapperCWTAddr = null;
25public TargetPointer GetComWrappersIdentity(TargetPointer address)
31private bool GetComWrappersCCWVTableQIAddress(TargetPointer ccw, out TargetPointer vtable, out TargetPointer qiAddress)
33qiAddress = TargetPointer.Null;
42private bool IsComWrappersCCW(TargetPointer ccw)
44if (!GetComWrappersCCWVTableQIAddress(ccw, out _, out TargetPointer qiAddress))
47if (!_target.TryReadGlobalPointer(Constants.Globals.ComWrappersVtablePtrs, out TargetPointer? comWrappersVtablePtrs))
53public TargetPointer GetManagedObjectWrapperFromCCW(TargetPointer ccw)
56return TargetPointer.Null;
57if (!_target.TryReadPointer(ccw & _target.ReadGlobalPointer(Constants.Globals.DispatchThisPtrMask), out TargetPointer MOWWrapper))
58return TargetPointer.Null;
62public TargetPointer GetComWrappersObjectFromMOW(TargetPointer mow)
69public long GetMOWReferenceCount(TargetPointer mow)
75private TargetPointer IndexIntoDispatchSection(int index, TargetPointer dispatches)
81TargetPointer dispatchAddress = dispatches + (ulong)((uint)(index / (int)entriesPerThisPtr) * dispatchSize);
87public TargetPointer GetIdentityForMOW(TargetPointer mow)
101TargetPointer entryAddress = layout.UserDefined + (ulong)((uint)i * entrySize);
109return TargetPointer.Null;
112public List<TargetPointer> GetMOWs(TargetPointer obj, out bool hasMOWTable)
118List<TargetPointer> mows = new List<TargetPointer>();
120if (_mowTableAddr.Value == TargetPointer.Null)
123if (cwt.TryGetValue(_mowTableAddr.Value, obj, out TargetPointer mowListObj))
127TargetPointer listItemsPtr = listData.Items;
130if (size > 0 && listItemsPtr != TargetPointer.Null)
135TargetPointer mow = _target.ReadPointer(listItemsArray.DataPointer + (ulong)(i * _target.PointerSize));
144public bool IsComWrappersRCW(TargetPointer rcw)
146TargetPointer mt = _target.Contracts.Object.GetMethodTableAddress(rcw);
150public TargetPointer GetComWrappersRCWForObject(TargetPointer obj)
154if (_nativeObjectWrapperCWTAddr.Value == TargetPointer.Null)
155return TargetPointer.Null;
157_ = cwt.TryGetValue(_nativeObjectWrapperCWTAddr.Value, obj, out TargetPointer rcw);
Contracts\ExecutionManager\ExecutionManager_1.cs (12)
15TargetPointer addr = target.ReadGlobalPointer(Constants.Globals.ExecutionManagerCodeRangeMapAddress);
20public TargetPointer GetMethodDesc(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetMethodDesc(codeInfoHandle);
21public TargetPointer GetStartAddress(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetStartAddress(codeInfoHandle);
22public TargetPointer GetFuncletStartAddress(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetFuncletStartAddress(codeInfoHandle);
23public void GetMethodRegionInfo(CodeBlockHandle codeInfoHandle, out uint hotSize, out TargetPointer coldStart, out uint coldSize) => _executionManagerCore.GetMethodRegionInfo(codeInfoHandle, out hotSize, out coldStart, out coldSize);
24public TargetPointer NonVirtualEntry2MethodDesc(TargetCodePointer entrypoint) => _executionManagerCore.NonVirtualEntry2MethodDesc(entrypoint);
27public TargetPointer GetUnwindInfo(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetUnwindInfo(codeInfoHandle);
28public TargetPointer GetUnwindInfoBaseAddress(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetUnwindInfoBaseAddress(codeInfoHandle);
29public TargetPointer GetDebugInfo(CodeBlockHandle codeInfoHandle, out bool hasFlagByte) => _executionManagerCore.GetDebugInfo(codeInfoHandle, out hasFlagByte);
30public void GetGCInfo(CodeBlockHandle codeInfoHandle, out TargetPointer gcInfo, out uint gcVersion) => _executionManagerCore.GetGCInfo(codeInfoHandle, out gcInfo, out gcVersion);
37public TargetPointer FindReadyToRunModule(TargetPointer address) => _executionManagerCore.FindReadyToRunModule(address);
Contracts\ExecutionManager\ExecutionManager_2.cs (12)
15TargetPointer addr = target.ReadGlobalPointer(Constants.Globals.ExecutionManagerCodeRangeMapAddress);
20public TargetPointer GetMethodDesc(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetMethodDesc(codeInfoHandle);
21public TargetPointer GetStartAddress(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetStartAddress(codeInfoHandle);
22public TargetPointer GetFuncletStartAddress(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetFuncletStartAddress(codeInfoHandle);
23public void GetMethodRegionInfo(CodeBlockHandle codeInfoHandle, out uint hotSize, out TargetPointer coldStart, out uint coldSize) => _executionManagerCore.GetMethodRegionInfo(codeInfoHandle, out hotSize, out coldStart, out coldSize);
24public TargetPointer NonVirtualEntry2MethodDesc(TargetCodePointer entrypoint) => _executionManagerCore.NonVirtualEntry2MethodDesc(entrypoint);
27public TargetPointer GetUnwindInfo(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetUnwindInfo(codeInfoHandle);
28public TargetPointer GetUnwindInfoBaseAddress(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetUnwindInfoBaseAddress(codeInfoHandle);
29public TargetPointer GetDebugInfo(CodeBlockHandle codeInfoHandle, out bool hasFlagByte) => _executionManagerCore.GetDebugInfo(codeInfoHandle, out hasFlagByte);
30public void GetGCInfo(CodeBlockHandle codeInfoHandle, out TargetPointer gcInfo, out uint gcVersion) => _executionManagerCore.GetGCInfo(codeInfoHandle, out gcInfo, out gcVersion);
37public TargetPointer FindReadyToRunModule(TargetPointer address) => _executionManagerCore.FindReadyToRunModule(address);
Contracts\ExecutionManager\ExecutionManagerCore.cs (71)
19private readonly Dictionary<TargetPointer, CodeBlock> _codeInfos = new();
20private readonly TargetPointer _topRangeSectionMapAddress;
29public ExecutionManagerCore(Target target, TargetPointer topRangeSectionMapAddress)
48public TargetPointer StartAddress { get; }
49public TargetPointer MethodDescAddress { get; }
50public TargetPointer JitManagerAddress { get; }
52public CodeBlock(TargetPointer startAddress, TargetPointer methodDesc, TargetNUInt relativeOffset, TargetPointer jitManagerAddress)
60public bool Valid => JitManagerAddress != TargetPointer.Null;
117out TargetPointer coldStart,
119public abstract TargetPointer GetUnwindInfo(RangeSection rangeSection, TargetCodePointer jittedCodeAddress);
120public abstract TargetPointer GetDebugInfo(RangeSection rangeSection, TargetCodePointer jittedCodeAddress, out bool hasFlagByte);
121public abstract void GetGCInfo(RangeSection rangeSection, TargetCodePointer jittedCodeAddress, out TargetPointer gcInfo, out uint gcVersion);
122public abstract void GetExceptionClauses(RangeSection rangeSection, CodeBlockHandle codeInfoHandle, out TargetPointer startAddr, out TargetPointer endAddr);
144internal bool HasR2RModule => Data!.R2RModule != TargetPointer.Null;
146internal static bool IsStubCodeBlock(Target target, TargetPointer codeHeaderIndirect)
154TargetPointer rangeSectionFragmentPtr = rangeSectionLookup.FindFragment(target, topRangeSectionMap, jittedCodeAddress);
157while (rangeSectionFragmentPtr != TargetPointer.Null)
166if (rangeSectionFragmentPtr == TargetPointer.Null)
172if (rangeSection.NextForDelete != TargetPointer.Null)
186else if (rangeSection.Data!.R2RModule != TargetPointer.Null)
219TargetPointer key = ip.AsTargetPointer; // FIXME: thumb bit. It's harmless (we potentialy have 2 cache entries per IP), but we should fix it
233TargetPointer IExecutionManager.GetMethodDesc(CodeBlockHandle codeInfoHandle)
241TargetPointer IExecutionManager.GetStartAddress(CodeBlockHandle codeInfoHandle)
249TargetPointer IExecutionManager.GetFuncletStartAddress(CodeBlockHandle codeInfoHandle)
256TargetPointer runtimeFunctionPtr = jitManager?.GetUnwindInfo(range, codeInfoHandle.Address.Value) ?? TargetPointer.Null;
258if (runtimeFunctionPtr == TargetPointer.Null)
270void IExecutionManager.GetMethodRegionInfo(CodeBlockHandle codeInfoHandle, out uint hotSize, out TargetPointer coldStart, out uint coldSize)
273coldStart = TargetPointer.Null;
285TargetPointer IExecutionManager.NonVirtualEntry2MethodDesc(TargetCodePointer entrypoint)
294return TargetPointer.Null;
309return TargetPointer.Null;
320return TargetPointer.Null;
326TargetPointer startAddress = ((IExecutionManager)this).GetStartAddress(codeInfoHandle);
343TargetPointer funcletStartAddress = eman.GetFuncletStartAddress(codeInfoHandle);
356TargetPointer IExecutionManager.GetUnwindInfo(CodeBlockHandle codeInfoHandle)
360return TargetPointer.Null;
364return jitManager?.GetUnwindInfo(range, codeInfoHandle.Address.Value) ?? TargetPointer.Null;
367TargetPointer IExecutionManager.GetUnwindInfoBaseAddress(CodeBlockHandle codeInfoHandle)
376TargetPointer IExecutionManager.GetDebugInfo(CodeBlockHandle codeInfoHandle, out bool hasFlagByte)
381return TargetPointer.Null;
384return jitManager?.GetDebugInfo(range, codeInfoHandle.Address.Value, out hasFlagByte) ?? TargetPointer.Null;
387void IExecutionManager.GetGCInfo(CodeBlockHandle codeInfoHandle, out TargetPointer gcInfo, out uint gcVersion)
389gcInfo = TargetPointer.Null;
418eman.GetGCInfo(codeInfoHandle, out TargetPointer gcInfoAddress, out uint gcInfoVersion);
419if (gcInfoAddress == TargetPointer.Null)
427TargetPointer IExecutionManager.FindReadyToRunModule(TargetPointer address)
435return TargetPointer.Null;
442TargetPointer eeJitManagerPtr = _target.ReadGlobalPointer(Constants.Globals.EEJitManagerAddress);
443TargetPointer eeJitManagerAddr = _target.ReadPointer(eeJitManagerPtr);
455private ICodeHeapInfo GetCodeHeapInfo(TargetPointer codeHeapAddress)
471TargetPointer heapListAddress = ((IExecutionManager)this).GetEEJitManagerInfo().HeapListAddress;
472TargetPointer nodeAddr = heapListAddress;
473while (nodeAddr != TargetPointer.Null)
502private bool IsObjectType(TargetPointer moduleAddr, uint classToken)
508TargetPointer resolvedMethodTable = (EcmaMetadataUtils.TokenType)(classToken & EcmaMetadataUtils.TokenTypeMask) switch
512_ => TargetPointer.Null,
515if (resolvedMethodTable == TargetPointer.Null)
518TargetPointer objectMethodTable = _target.ReadPointer(
533jitManager.GetExceptionClauses(range, codeInfoHandle, out TargetPointer startAddr, out TargetPointer endAddr);
537TargetPointer methodDescPtr = ((IExecutionManager)this).GetMethodDesc(codeInfoHandle);
540TargetPointer mtPtr = rts.GetMethodTable(mdHandle);
542TargetPointer handleModuleAddr = rts.GetModule(th);
545for (TargetPointer addr = startAddr; addr < endAddr; addr += clauseSize)
555TargetPointer? moduleAddr = null;
563TargetPointer objectMethodTable = _target.ReadPointer(
Contracts\ExecutionManager\ExecutionManagerCore.EEJitManager.cs (42)
32TargetPointer codeStart = FindMethodCode(rangeSection, jittedCodeAddress);
33if (codeStart == TargetPointer.Null)
50out TargetPointer coldStart,
54coldStart = TargetPointer.Null;
58GetGCInfo(rangeSection, jittedCodeAddress, out TargetPointer pGcInfo, out uint gcVersion);
64public override TargetPointer GetUnwindInfo(RangeSection rangeSection, TargetCodePointer jittedCodeAddress)
70TargetPointer codeStart = FindMethodCode(rangeSection, jittedCodeAddress);
71if (codeStart == TargetPointer.Null)
72return TargetPointer.Null;
76return TargetPointer.Null;
80return TargetPointer.Null;
84TargetPointer addr = CodePointerUtils.AddressFromCodePointer(jittedCodeAddress, Target);
85TargetPointer imageBase = rangeSection.Data.RangeBegin;
86TargetPointer relativeAddr = addr - imageBase;
89return TargetPointer.Null;
94public override TargetPointer GetDebugInfo(RangeSection rangeSection, TargetCodePointer jittedCodeAddress, out bool hasFlagByte)
101TargetPointer codeStart = FindMethodCode(rangeSection, jittedCodeAddress);
102if (codeStart == TargetPointer.Null)
103return TargetPointer.Null;
107return TargetPointer.Null;
119TargetPointer startAddr = FindMethodCode(rangeSection, codeAddress); // validate that the code address is within the method's code range
120if (startAddr == TargetPointer.Null)
125public override void GetGCInfo(RangeSection rangeSection, TargetCodePointer jittedCodeAddress, out TargetPointer gcInfo, out uint gcVersion)
127gcInfo = TargetPointer.Null;
136TargetPointer codeStart = FindMethodCode(rangeSection, jittedCodeAddress);
137if (codeStart == TargetPointer.Null)
148private TargetPointer FindMethodCode(RangeSection rangeSection, TargetCodePointer codeAddress)
156TargetPointer heapListAddress = rangeSection.Data.HeapList;
161private TargetPointer GetCodeHeaderAddress(RangeSection rangeSection, TargetPointer codeStart)
171TargetPointer codeHeaderIndirect = new TargetPointer(codeStart - (ulong)codeHeaderOffset);
175private bool GetRealCodeHeader(RangeSection rangeSection, TargetPointer codeStart, [NotNullWhen(true)] out Data.RealCodeHeader? realCodeHeader)
178TargetPointer codeHeaderAddress = GetCodeHeaderAddress(rangeSection, codeStart);
187private CodeKind GetCodeHeaderStubKind(RangeSection rangeSection, TargetPointer codeStart)
189TargetPointer codeHeaderAddress = GetCodeHeaderAddress(rangeSection, codeStart);
197public override void GetExceptionClauses(RangeSection rangeSection, CodeBlockHandle codeInfoHandle, out TargetPointer startAddr, out TargetPointer endAddr)
199startAddr = TargetPointer.Null;
200endAddr = TargetPointer.Null;
206TargetPointer codeStart = FindMethodCode(rangeSection, new TargetCodePointer(codeInfoHandle.Address));
207if (codeStart == TargetPointer.Null)
212if (realCodeHeader.EHInfo == TargetPointer.Null)
Contracts\ExecutionManager\ExecutionManagerCore.InterpreterJitManager.cs (28)
31TargetPointer codeStart = FindMethodCode(rangeSection, jittedCodeAddress);
32if (codeStart == TargetPointer.Null)
49out TargetPointer coldStart,
52coldStart = TargetPointer.Null;
56GetGCInfo(rangeSection, jittedCodeAddress, out TargetPointer pGcInfo, out uint gcVersion);
62public override TargetPointer GetUnwindInfo(RangeSection rangeSection, TargetCodePointer jittedCodeAddress)
65return TargetPointer.Null;
73public override TargetPointer GetDebugInfo(RangeSection rangeSection, TargetCodePointer jittedCodeAddress, out bool hasFlagByte)
77return TargetPointer.Null;
79TargetPointer codeStart = FindMethodCode(rangeSection, jittedCodeAddress);
80if (codeStart == TargetPointer.Null)
81return TargetPointer.Null;
84return TargetPointer.Null;
89public override void GetGCInfo(RangeSection rangeSection, TargetCodePointer jittedCodeAddress, out TargetPointer gcInfo, out uint gcVersion)
91gcInfo = TargetPointer.Null;
97TargetPointer codeStart = FindMethodCode(rangeSection, jittedCodeAddress);
98if (codeStart == TargetPointer.Null)
108public override void GetExceptionClauses(RangeSection rangeSection, CodeBlockHandle codeInfoHandle, out TargetPointer startAddr, out TargetPointer endAddr)
110startAddr = TargetPointer.Null;
111endAddr = TargetPointer.Null;
116TargetPointer codeStart = FindMethodCode(rangeSection, new TargetCodePointer(codeInfoHandle.Address));
128private TargetPointer FindMethodCode(RangeSection rangeSection, TargetCodePointer jittedCodeAddress)
135TargetPointer heapListAddress = rangeSection.Data.HeapList;
140private bool GetInterpreterRealCodeHeader(TargetPointer codeStart, [NotNullWhen(true)] out Data.InterpreterRealCodeHeader? realCodeHeader)
143if (codeStart == TargetPointer.Null)
148TargetPointer codeHeaderIndirect = new TargetPointer(codeStart - (ulong)codeHeaderOffset);
152TargetPointer codeHeaderAddress = Target.ReadPointer(codeHeaderIndirect);
Contracts\ExecutionManager\ExecutionManagerCore.ReadyToRunJitManager.cs (50)
38if (!GetRuntimeFunction(rangeSection, r2rInfo, jittedCodeAddress, out TargetPointer imageBase, out uint index))
42index = AdjustRuntimeFunctionToMethodStart(r2rInfo, imageBase, index, out TargetPointer methodDesc);
46TargetPointer addr = CodePointerUtils.AddressFromCodePointer(jittedCodeAddress, Target);
50TargetPointer startAddress = CodePointerUtils.AddressFromCodePointer(
59TargetPointer coldStart = CodePointerUtils.AddressFromCodePointer(
78out TargetPointer coldStart,
82coldStart = TargetPointer.Null;
85GetGCInfo(rangeSection, jittedCodeAddress, out TargetPointer pGcInfo, out uint gcVersion);
90if (!GetRuntimeFunction(rangeSection, r2rInfo, jittedCodeAddress, out TargetPointer imageBase, out uint index))
106public override TargetPointer GetUnwindInfo(RangeSection rangeSection, TargetCodePointer jittedCodeAddress)
110if (!GetRuntimeFunction(rangeSection, r2rInfo, jittedCodeAddress, out TargetPointer _, out uint index))
111return TargetPointer.Null;
116public override TargetPointer GetDebugInfo(RangeSection rangeSection, TargetCodePointer jittedCodeAddress, out bool hasFlagByte)
123if (!GetRuntimeFunction(rangeSection, r2rInfo, jittedCodeAddress, out TargetPointer imageBase, out uint index))
124return TargetPointer.Null;
140return TargetPointer.Null;
157public override void GetGCInfo(RangeSection rangeSection, TargetCodePointer jittedCodeAddress, out TargetPointer gcInfo, out uint gcVersion)
159gcInfo = TargetPointer.Null;
164if (!GetRuntimeFunction(rangeSection, r2rInfo, jittedCodeAddress, out TargetPointer imageBase, out uint index))
172TargetPointer unwindInfo = runtimeFunction.UnwindData + imageBase;
202Debug.Assert(rangeSection.Data.R2RModule != TargetPointer.Null);
205Debug.Assert(r2rModule.ReadyToRunInfo != TargetPointer.Null);
213out TargetPointer imageBase,
216imageBase = TargetPointer.Null;
227TargetPointer addr = CodePointerUtils.AddressFromCodePointer(jittedCodeAddress, Target);
229TargetPointer relativeAddr = addr - imageBase;
242private uint AdjustRuntimeFunctionToMethodStart(Data.ReadyToRunInfo r2rInfo, TargetPointer imageBase, uint index, out TargetPointer methodDesc)
245while (methodDesc == TargetPointer.Null)
254Debug.Assert(methodDesc != TargetPointer.Null);
260if (r2rInfo.DelayLoadMethodCallThunks == TargetPointer.Null)
269private TargetPointer GetMethodDescForRuntimeFunction(Data.ReadyToRunInfo r2rInfo, TargetPointer imageBase, uint runtimeFunctionIndex)
275TargetPointer entryPoint = CodePointerUtils.AddressFromCodePointer(startAddress, Target);
277TargetPointer methodDesc = _hashMap.GetValue(r2rInfo.EntryPointToMethodDescMap, entryPoint);
279return TargetPointer.Null;
285private void GetExceptionClauses(TargetPointer exceptionLookupTableAddr, uint count, TargetPointer rangeStart, uint methodRVA, out TargetPointer startExInfoRVA, out TargetPointer endExInfoRVA)
287startExInfoRVA = TargetPointer.Null;
288endExInfoRVA = TargetPointer.Null;
311public override void GetExceptionClauses(RangeSection range, CodeBlockHandle cbh, out TargetPointer startAddr, out TargetPointer endAddr)
317startAddr = TargetPointer.Null;
318endAddr = TargetPointer.Null;
325GetMethodRVAAndRangeStart(cbh, out TargetPointer methodStart, out TargetPointer rangeStart);
342private void GetMethodRVAAndRangeStart(CodeBlockHandle cbh, out TargetPointer methodStart, out TargetPointer rangeStart)
Contracts\GC\GC_1.cs (122)
43private readonly TargetPointer _debugDestroyedHandleValue;
52private readonly record struct AllocContext(TargetPointer Pointer, TargetPointer Limit);
83TargetPointer pNumHeaps = _target.ReadGlobalPointer(Constants.Globals.NumHeaps);
92TargetPointer pInvalidCount = _target.ReadGlobalPointer(Constants.Globals.StructureInvalidCount);
99TargetPointer pMaxGeneration = _target.ReadGlobalPointer(Constants.Globals.MaxGeneration);
103void IGC.GetGCBounds(out TargetPointer minAddr, out TargetPointer maxAddr)
125GCHeapSegmentData IGC.GetHeapSegmentData(TargetPointer segmentAddress)
138Heap = heapSegment.Heap ?? TargetPointer.Null,
144if (!_target.TryReadGlobalPointer(Constants.Globals.GCGlobalMechanisms, out TargetPointer? globalMechanismsArrayStart))
150IEnumerable<TargetPointer> IGC.GetGCHeaps()
156TargetPointer heapTable = _target.ReadPointer(_target.ReadGlobalPointer(Constants.Globals.Heaps));
171GCHeapData IGC.GetHeapData(TargetPointer heapAddress)
186MarkArray = heap.MarkArray ?? TargetPointer.Null,
187NextSweepObject = heap.NextSweepObj ?? TargetPointer.Null,
188BackGroundSavedMinAddress = heap.BackgroundMinSavedAddr ?? TargetPointer.Null,
189BackGroundSavedMaxAddress = heap.BackgroundMaxSavedAddr ?? TargetPointer.Null,
195SavedSweepEphemeralSegment = heap.SavedSweepEphemeralSeg ?? TargetPointer.Null,
196SavedSweepEphemeralStart = heap.SavedSweepEphemeralStart ?? TargetPointer.Null,
221private List<GCGenerationData> GetGenerationData(TargetPointer generationTableArrayStart)
228TargetPointer generationAddress = generationTableArrayStart + i * generationSize;
242private List<TargetPointer> GetFillPointers(Data.CFinalize cFinalize)
245TargetPointer fillPointersArrayStart = cFinalize.FillPointers;
246List<TargetPointer> fillPointers = [];
252private List<TargetNUInt> ReadGCHeapDataArray(TargetPointer arrayStart, uint length)
265TargetPointer oomHistory = _target.ReadGlobalPointer(Constants.Globals.GCHeapOomData);
270GCOomData IGC.GetOomData(TargetPointer heapAddress)
293void IGC.GetGlobalAllocationContext(out TargetPointer allocPtr, out TargetPointer allocLimit)
295TargetPointer globalAllocContextAddress = _target.ReadGlobalPointer(Constants.Globals.GlobalAllocContext);
335TargetPointer handleTableMap = _target.ReadGlobalPointer(Constants.Globals.HandleTableMap);
343while (handleTableMap != TargetPointer.Null)
346foreach (TargetPointer bucketPtr in handleTableData.BucketsPtr)
348if (bucketPtr == TargetPointer.Null)
354TargetPointer handleTablePtr = _target.ReadPointer(bucket.Table + (ulong)(j * _target.PointerSize));
355if (handleTablePtr == TargetPointer.Null)
359if (handleTable.SegmentList == TargetPointer.Null)
363TargetPointer segmentPtr = handleTable.SegmentList;
369} while (segmentPtr != TargetPointer.Null);
387TargetPointer ephemeralSegment = heapData.EphemeralHeapSegment;
388TargetPointer allocAllocated = heapData.AllocAllocated;
394foreach ((Data.HeapSegment seg, TargetPointer _) in WalkSegmentList(gens[2].StartSegment))
401foreach ((Data.HeapSegment seg, TargetPointer _) in WalkSegmentList(gens[1].StartSegment))
405foreach ((Data.HeapSegment seg, TargetPointer segAddr) in WalkSegmentList(gens[0].StartSegment))
408TargetPointer end = segAddr == ephemeralSegment ? allocAllocated : seg.Allocated;
415foreach ((Data.HeapSegment seg, TargetPointer segAddr) in WalkSegmentList(gens[2].StartSegment))
425TargetPointer end = segAddr == ephemeralSegment ? allocAllocated : seg.Allocated;
431foreach ((Data.HeapSegment seg, TargetPointer _) in WalkSegmentList(gens[3].StartSegment))
437foreach ((Data.HeapSegment seg, TargetPointer _) in WalkSegmentList(gens[4].StartSegment))
443private IEnumerable<(Data.HeapSegment Segment, TargetPointer Address)> WalkSegmentList(TargetPointer startSegment)
446TargetPointer current = startSegment;
447while (current != TargetPointer.Null)
457TargetPointer IGC.GetPotentialNextObjectAddress(
458TargetPointer currentAddress,
462TargetPointer next = new TargetPointer(currentAddress.Value + currentObjectSize);
485TargetPointer current = store.FirstThread;
487while (current != TargetPointer.Null && safety-- > 0)
490if (td.AllocContextPointer != TargetPointer.Null)
496gc.GetGlobalAllocationContext(out TargetPointer gAllocPtr, out TargetPointer gAllocLimit);
497if (gAllocPtr != TargetPointer.Null)
508TargetPointer ptr = heap.GenerationTable[0].AllocationContextPointer;
509TargetPointer limit = heap.GenerationTable[0].AllocationContextLimit;
510if (ptr != TargetPointer.Null)
521foreach (TargetPointer heapAddress in gc.GetGCHeaps())
630TargetPointer handleAddress = tableSegment.RgValue + offset * (uint)_target.PointerSize;
631TargetPointer handle = _target.ReadPointer(handleAddress);
632if (handle == TargetPointer.Null || handle == _debugDestroyedHandleValue)
642private HandleData CreateHandleData(TargetPointer handleAddress, byte uBlock, uint intraBlockIndex, Data.TableSegment tableSegment, HandleType type)
669TargetPointer handle = _target.ReadPointer(handleAddress);
670obj.GetBuiltInComData(handle, out _, out TargetPointer ccw, out _);
671if (ccw != TargetPointer.Null)
695TargetPointer handleTableMap = _target.ReadGlobalPointer(Constants.Globals.HandleTableMap);
696while (handleTableMap != TargetPointer.Null && maxRegions > 0)
699foreach (TargetPointer bucketPtr in map.BucketsPtr)
701if (bucketPtr == TargetPointer.Null)
707TargetPointer handleTablePtr = _target.ReadPointer(bucket.Table + (ulong)(j * _target.PointerSize));
708if (handleTablePtr == TargetPointer.Null)
712if (handleTable.SegmentList == TargetPointer.Null)
715TargetPointer segmentPtr = handleTable.SegmentList;
716TargetPointer firstSegment = segmentPtr;
728} while (segmentPtr != TargetPointer.Null && segmentPtr != firstSegment && --segmentIterations > 0);
742TargetPointer bookkeepingStartGlobal = _target.ReadGlobalPointer(Constants.Globals.BookkeepingStart);
743if (bookkeepingStartGlobal == TargetPointer.Null)
746TargetPointer bookkeepingStart = _target.ReadPointer(bookkeepingStartGlobal);
747if (bookkeepingStart == TargetPointer.Null)
762TargetPointer next = cardTableInfo.NextCardTable;
763TargetPointer firstNext = next;
769while (next != TargetPointer.Null && next > cardTableInfoSize && maxRegions > 0)
771TargetPointer ctAddr = next - cardTableInfoSize;
809if (_target.TryReadGlobalPointer(Constants.Globals.GlobalFreeHugeRegions, out TargetPointer? globalFreeHugePtr))
815if (_target.TryReadGlobalPointer(Constants.Globals.GlobalRegionsToDecommit, out TargetPointer? globalDecommitPtr))
819TargetPointer listAddr = globalDecommitPtr.Value + (ulong)(i * regionFreeListSize);
827TargetPointer heapTable = _target.ReadPointer(_target.ReadGlobalPointer(Constants.Globals.Heaps));
830TargetPointer heapAddress = _target.ReadPointer(heapTable + (i * (uint)_target.PointerSize));
831if (heapAddress == TargetPointer.Null)
836if (heap.FreeRegions is TargetPointer freeRegionsBase && freeRegionsBase != TargetPointer.Null)
840TargetPointer listAddr = freeRegionsBase + (ulong)(j * regionFreeListSize);
845if (heap.FreeableSohSegment is TargetPointer freeableSoh && freeableSoh != TargetPointer.Null)
848if (heap.FreeableUohSegment is TargetPointer freeableUoh && freeableUoh != TargetPointer.Null)
855if (_target.TryReadGlobalPointer(Constants.Globals.GCHeapFreeRegions, out TargetPointer? freeRegionsPtr))
859TargetPointer listAddr = freeRegionsPtr.Value + (ulong)(i * regionFreeListSize);
864if (_target.TryReadGlobalPointer(Constants.Globals.GCHeapFreeableSohSegment, out TargetPointer? freeableSohPtr))
866TargetPointer segPtr = _target.ReadPointer(freeableSohPtr.Value);
867if (segPtr != TargetPointer.Null)
871if (_target.TryReadGlobalPointer(Constants.Globals.GCHeapFreeableUohSegment, out TargetPointer? freeableUohPtr))
873TargetPointer segPtr = _target.ReadPointer(freeableUohPtr.Value);
874if (segPtr != TargetPointer.Null)
882TargetNUInt IGC.GetHandleExtraInfo(TargetPointer handle)
887TargetPointer segmentBase = handle & segmentMask;
906TargetPointer extraInfoAddress = tableSegment.RgValue + offset * (uint)_target.PointerSize;
911private void AddFreeList(TargetPointer freeListAddr, FreeRegionKind kind, List<GCMemoryRegionData> regions, int heap = 0)
914if (freeList.HeadFreeRegion != TargetPointer.Null)
918private void AddSegmentList(TargetPointer start, FreeRegionKind kind, List<GCMemoryRegionData> regions, int heap = 0)
921TargetPointer curr = start;
922while (curr != TargetPointer.Null)
925if (segment.Mem != TargetPointer.Null)
Contracts\GC\GCHeapWKS.cs (31)
10if (target.TryReadGlobalPointer(Constants.Globals.GCHeapMarkArray, out TargetPointer? markArrayPtr))
12if (target.TryReadGlobalPointer(Constants.Globals.GCHeapNextSweepObj, out TargetPointer? nextSweepObjPtr))
14if (target.TryReadGlobalPointer(Constants.Globals.GCHeapBackgroundMinSavedAddr, out TargetPointer? bgMinPtr))
16if (target.TryReadGlobalPointer(Constants.Globals.GCHeapBackgroundMaxSavedAddr, out TargetPointer? bgMaxPtr))
24if (target.TryReadGlobalPointer(Constants.Globals.GCHeapSavedSweepEphemeralSeg, out TargetPointer? savedSweepEphemeralSegPtr))
26if (target.TryReadGlobalPointer(Constants.Globals.GCHeapSavedSweepEphemeralStart, out TargetPointer? savedSweepEphemeralStartPtr))
31if (target.TryReadGlobalPointer(Constants.Globals.GCHeapInternalRootArray, out TargetPointer? internalRootArrayPtr))
33if (target.TryReadGlobalPointer(Constants.Globals.GCHeapInternalRootArrayIndex, out TargetPointer? internalRootArrayIndexPtr))
35if (target.TryReadGlobalPointer(Constants.Globals.GCHeapHeapAnalyzeSuccess, out TargetPointer? heapAnalyzeSuccessPtr))
43if (target.TryReadGlobalPointer(Constants.Globals.GCHeapFreeableSohSegment, out TargetPointer? freeableSohSegPtr))
45if (target.TryReadGlobalPointer(Constants.Globals.GCHeapFreeableUohSegment, out TargetPointer? freeableUohSegPtr))
47if (target.TryReadGlobalPointer(Constants.Globals.GCHeapFreeRegions, out TargetPointer? freeRegionsPtr))
51public TargetPointer? MarkArray { get; }
52public TargetPointer? NextSweepObj { get; }
53public TargetPointer? BackgroundMinSavedAddr { get; }
54public TargetPointer? BackgroundMaxSavedAddr { get; }
55public TargetPointer AllocAllocated { get; }
56public TargetPointer EphemeralHeapSegment { get; }
57public TargetPointer CardTable { get; }
58public TargetPointer FinalizeQueue { get; }
59public TargetPointer GenerationTable { get; }
61public TargetPointer? SavedSweepEphemeralSeg { get; }
62public TargetPointer? SavedSweepEphemeralStart { get; }
66public TargetPointer? InternalRootArray { get; }
70public TargetPointer InterestingData { get; }
71public TargetPointer CompactReasons { get; }
72public TargetPointer ExpandMechanisms { get; }
73public TargetPointer InterestingMechanismBits { get; }
75public TargetPointer? FreeableSohSegment { get; }
76public TargetPointer? FreeableUohSegment { get; }
77public TargetPointer? FreeRegions { get; }
Contracts\Loader_1.cs (106)
53ModuleHandle ILoader.GetModuleHandleFromModulePtr(TargetPointer modulePointer)
55if (modulePointer == TargetPointer.Null)
60ModuleHandle ILoader.GetModuleHandleFromAssemblyPtr(TargetPointer assemblyPointer)
62if (assemblyPointer == TargetPointer.Null)
66if (assembly.Module == TargetPointer.Null)
72IEnumerable<ModuleHandle> ILoader.GetModuleHandles(TargetPointer appDomain, AssemblyIterationFlags iterationFlags)
74if (appDomain == TargetPointer.Null)
80foreach (TargetPointer pAssembly in arrayList.Elements)
142TargetPointer ILoader.GetRootAssembly()
144TargetPointer defaultAppDomain = ((ILoader)this).GetAppDomain();
151TargetPointer defaultAppDomain = ((ILoader)this).GetAppDomain();
153return appDomain.FriendlyName != TargetPointer.Null
158TargetPointer ILoader.GetAppDomain()
160TargetPointer appDomainPointer = _target.ReadGlobalPointer(Constants.Globals.AppDomain);
161TargetPointer appDomain = _target.ReadPointer(appDomainPointer);
165TargetPointer ILoader.GetModule(ModuleHandle handle)
170TargetPointer ILoader.GetAssembly(ModuleHandle handle)
176TargetPointer ILoader.GetPEAssembly(ModuleHandle handle)
187if (module.PEAssembly == TargetPointer.Null)
191if (peAssembly.PEImage == TargetPointer.Null)
198bool ILoader.TryGetLoadedImageContents(ModuleHandle handle, out TargetPointer baseAddress, out uint size, out uint imageFlags)
200baseAddress = TargetPointer.Null;
207if (peImage.LoadedImageLayout == TargetPointer.Null)
232if (peImage.LoadedImageLayout == TargetPointer.Null)
240private TargetPointer FindNTHeaders(Data.PEImageLayout imageLayout)
246private TargetPointer RvaToSection(int rva, Data.PEImageLayout imageLayout)
248TargetPointer ntHeadersPtr = FindNTHeaders(imageLayout);
251TargetPointer section = ntHeadersPtr + (uint)offset + ntHeaders.FileHeader.SizeOfOptionalHeader;
252TargetPointer sectionEnd = section + Data.ImageSectionHeader.Size * ntHeaders.FileHeader.NumberOfSections;
262return TargetPointer.Null;
270TargetPointer section = RvaToSection(rva, imageLayout);
271if (section == TargetPointer.Null)
284TargetPointer headerBase = imageLayout.Base;
293TargetPointer sectionTableBase = headerBase + webcilHeader.Size; // See docs/design/mono/webcil.md
297TargetPointer sectionPtr = sectionTableBase + (uint)(i * (int)16); // See docs/design/mono/webcil.md
314private TargetPointer GetRvaData(TargetPointer peAssemblyPtr, int rva, bool isNullOk)
317return TargetPointer.Null;
319if (assembly.PEImage == TargetPointer.Null)
322if (peImage.LoadedImageLayout == TargetPointer.Null)
333TargetPointer ILoader.GetILAddr(TargetPointer peAssemblyPtr, int rva) => GetRvaData(peAssemblyPtr, rva, false);
335TargetPointer ILoader.GetFieldAddressFromRva(TargetPointer peAssemblyPtr, int rva) => GetRvaData(peAssemblyPtr, rva, true);
337bool ILoader.TryGetSymbolStream(ModuleHandle handle, out TargetPointer buffer, out uint size)
339buffer = TargetPointer.Null;
344if (module.GrowableSymbolStream == TargetPointer.Null)
355IEnumerable<TargetPointer> ILoader.GetAvailableTypeParams(ModuleHandle handle)
359if (module.AvailableTypeParams == TargetPointer.Null)
366IEnumerable<TargetPointer> ILoader.GetInstantiatedMethods(ModuleHandle handle)
370if (module.InstMethodHashTable == TargetPointer.Null)
433TargetPointer configPtr = _target.ReadGlobalPointer(Constants.Globals.EEConfig);
454return module.ReadyToRunInfo != TargetPointer.Null;
460return module.SimpleName != TargetPointer.Null
468return module.Path != TargetPointer.Null
476return module.FileName != TargetPointer.Null
489if (peImage.LoadedImageLayout == TargetPointer.Null)
497TargetPointer ntHeadersPtr = FindNTHeaders(peImageLayout);
504TargetPointer ILoader.GetLoaderAllocator(ModuleHandle handle)
510TargetPointer ILoader.GetILBase(ModuleHandle handle)
516TargetPointer ILoader.GetAssemblyLoadContext(ModuleHandle handle)
543private IEnumerable<(TargetPointer, uint)> IterateModuleLookupMap(TargetPointer table, uint index, Delegate iterator)
551TargetPointer entryAddress = lookupMap.TableData + (ulong)(index * _target.PointerSize);
552TargetPointer rawValue = _target.ReadPointer(entryAddress);
563} while (table != TargetPointer.Null);
566TargetPointer ILoader.GetModuleLookupMapElement(TargetPointer table, uint token, out TargetNUInt flags)
569if (table == TargetPointer.Null || rid == 0)
572return TargetPointer.Null;
577(TargetPointer rval, uint _) = IterateModuleLookupMap(table, rid, SearchLookupMap).FirstOrDefault();
582IEnumerable<(TargetPointer, uint)> ILoader.EnumerateModuleLookupMap(TargetPointer table)
584if (table == TargetPointer.Null)
590foreach ((TargetPointer targetPointer, uint idx) in IterateModuleLookupMap(table, index, IterateLookupMap))
592TargetPointer rval = targetPointer & ~supportedFlagsMask;
593if (rval != TargetPointer.Null)
619TargetPointer ILoader.GetGlobalLoaderAllocator()
621TargetPointer systemDomainPointer = _target.ReadGlobalPointer(Constants.Globals.SystemDomain);
626TargetPointer ILoader.GetSystemAssembly()
628TargetPointer systemDomainPointer = _target.ReadGlobalPointer(Constants.Globals.SystemDomain);
633TargetPointer ILoader.GetHighFrequencyHeap(TargetPointer loaderAllocatorPointer)
639TargetPointer ILoader.GetLowFrequencyHeap(TargetPointer loaderAllocatorPointer)
645TargetPointer ILoader.GetStubHeap(TargetPointer loaderAllocatorPointer)
651TargetPointer ILoader.GetObjectHandle(TargetPointer loaderAllocatorPointer)
667TargetPointer ILoader.GetILHeader(ModuleHandle handle, uint token)
671TargetPointer headerPtr = loader.GetDynamicIL(handle, token);
672if (headerPtr == TargetPointer.Null)
674TargetPointer peAssembly = loader.GetPEAssembly(handle);
687public DynamicILBlobEntry Null() => new DynamicILBlobEntry(0, TargetPointer.Null);
693static DynamicILBlobTable IData<DynamicILBlobTable>.Create(Target target, TargetPointer address)
696public DynamicILBlobTable(Target target, TargetPointer address)
705TargetPointer ILoader.GetDynamicIL(ModuleHandle handle, uint token)
708if (module.DynamicILBlobTable == TargetPointer.Null)
710return TargetPointer.Null;
717TargetPointer ILoader.GetFirstLoaderHeapBlock(TargetPointer loaderHeap)
722LoaderHeapBlockData ILoader.GetLoaderHeapBlockData(TargetPointer block)
733IReadOnlyDictionary<LoaderAllocatorHeapType, TargetPointer> ILoader.GetLoaderAllocatorHeaps(TargetPointer loaderAllocatorPointer)
738Dictionary<LoaderAllocatorHeapType, TargetPointer> heaps = new()
756if (loaderAllocator.VirtualCallStubManager != TargetPointer.Null)
Contracts\ManagedTypeSource_1.cs (33)
18private readonly Dictionary<(string Fqn, string FieldName), TargetPointer> _fieldDescCache = new();
99_typeHandleCache[fullyQualifiedName] = new TypeHandle(TargetPointer.Null);
107public TargetPointer GetStaticFieldAddress(string fullyQualifiedName, string fieldName)
109if (!TryGetStaticFieldAddress(fullyQualifiedName, fieldName, out TargetPointer address))
115public bool TryGetStaticFieldAddress(string fullyQualifiedName, string fieldName, out TargetPointer address)
117address = TargetPointer.Null;
118if (!TryGetFieldDesc(fullyQualifiedName, fieldName, out TargetPointer fieldDescAddr))
130TargetPointer enclosingMT = rts.GetMTOfEnclosingClass(fieldDescAddr);
134TargetPointer @base = isGC ? rts.GetGCStaticsBasePointer(ctx) : rts.GetNonGCStaticsBasePointer(ctx);
135if (@base == TargetPointer.Null)
142public TargetPointer GetThreadStaticFieldAddress(string fullyQualifiedName, string fieldName, TargetPointer thread)
144if (!TryGetThreadStaticFieldAddress(fullyQualifiedName, fieldName, thread, out TargetPointer address))
150public bool TryGetThreadStaticFieldAddress(string fullyQualifiedName, string fieldName, TargetPointer thread, out TargetPointer address)
152address = TargetPointer.Null;
153if (!TryGetFieldDesc(fullyQualifiedName, fieldName, out TargetPointer fieldDescAddr))
165TargetPointer enclosingMT = rts.GetMTOfEnclosingClass(fieldDescAddr);
169TargetPointer @base = isGC
172if (@base == TargetPointer.Null)
179private bool TryGetFieldDesc(string fullyQualifiedName, string fieldName, out TargetPointer fieldDescAddr)
183return fieldDescAddr != TargetPointer.Null;
187fieldDescAddr = TargetPointer.Null;
188_fieldDescCache[key] = TargetPointer.Null;
194return fieldDescAddr != TargetPointer.Null;
229TargetPointer fieldDescAddr = rts.GetFieldDescByName(th, fieldName);
230if (fieldDescAddr == TargetPointer.Null)
251th = new TypeHandle(TargetPointer.Null);
255TargetPointer systemAssembly = loader.GetSystemAssembly();
256if (systemAssembly == TargetPointer.Null)
269TargetPointer typeDefToMethodTable = loader.GetLookupTables(moduleHandle).TypeDefToMethodTable;
270TargetPointer typeHandlePtr = loader.GetModuleLookupMapElement(typeDefToMethodTable, (uint)token, out _);
271if (typeHandlePtr == TargetPointer.Null)
Contracts\Object_1.cs (42)
15private readonly TargetPointer _stringMethodTable;
33public TargetPointer GetMethodTableAddress(TargetPointer address)
35TargetPointer mt = _target.ReadPointer(address + _methodTableOffset);
39string IObject.GetStringValue(TargetPointer address)
41TargetPointer mt = GetMethodTableAddress(address);
42if (mt == TargetPointer.Null)
56public void GetStringData(TargetPointer address, out uint length, out uint offsetToFirstChar)
58TargetPointer mt = GetMethodTableAddress(address);
59if (mt == TargetPointer.Null)
69public TargetPointer GetArrayData(TargetPointer address, out uint count, out TargetPointer boundsStart, out TargetPointer lowerBounds)
71TargetPointer mt = GetMethodTableAddress(address);
72if (mt == TargetPointer.Null)
108public bool GetBuiltInComData(TargetPointer address, out TargetPointer rcw, out TargetPointer ccw, out TargetPointer ccf)
110rcw = TargetPointer.Null;
111ccw = TargetPointer.Null;
112ccf = TargetPointer.Null;
114TargetPointer syncBlockPtr = GetSyncBlockAddress(address);
115if (syncBlockPtr == TargetPointer.Null)
121int IObject.TryGetHashCode(TargetPointer address)
135TargetPointer syncBlockPtr = GetSyncBlockAddress(address);
136if (syncBlockPtr != TargetPointer.Null)
147public TargetPointer GetSyncBlockAddress(TargetPointer address)
156return TargetPointer.Null;
162public DelegateInfo GetDelegateInfo(TargetPointer address)
177(TargetPointer targetObject, TargetCodePointer targetMethodPtr) = delegateType switch
180DelegateType.Open => (TargetPointer.Null, del.MethodPtrAux),
181_ => (TargetPointer.Null, TargetCodePointer.Null),
190public ContinuationInfo GetContinuationInfo(TargetPointer address)
193TargetPointer diagnosticIP = cont.ResumeInfo != TargetPointer.Null
195: TargetPointer.Null;
202public ulong GetSize(TargetPointer address)
204TargetPointer mt = GetMethodTableAddress(address);
205if (mt == TargetPointer.Null)
Contracts\PrecodeStubs_1.cs (15)
12public static TargetPointer StubPrecode_GetMethodDesc(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
14TargetPointer stubPrecodeDataAddress = instrPointer + precodeMachineDescriptor.StubCodePageSize;
19public static TargetPointer FixupPrecode_GetMethodDesc(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
21TargetPointer fixupPrecodeDataAddress = instrPointer + precodeMachineDescriptor.StubCodePageSize;
26public static TargetPointer ThisPtrRetBufPrecode_GetMethodDesc(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
31public static TargetPointer InterpreterPrecode_GetMethodDesc(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
41internal static byte ReadPrecodeType(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
59public static KnownPrecodeType? TryGetKnownPrecodeType(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
64public static KnownPrecodeType? TryGetKnownPrecodeType_Impl<TPrecodeStubsImplementation, TStubPrecodeData>(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor) where TPrecodeStubsImplementation : IPrecodeStubsContractCommonApi<TStubPrecodeData> where TStubPrecodeData : IData<TStubPrecodeData>
105static TStubPrecodeData GetStubPrecodeData(TargetPointer stubInstrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
107TargetPointer stubPrecodeDataAddress = stubInstrPointer + precodeMachineDescriptor.StubCodePageSize;
Contracts\PrecodeStubs_2.cs (11)
11public static TargetPointer StubPrecode_GetMethodDesc(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
13TargetPointer stubPrecodeDataAddress = instrPointer + precodeMachineDescriptor.StubCodePageSize;
18public static TargetPointer FixupPrecode_GetMethodDesc(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
24public static TargetPointer ThisPtrRetBufPrecode_GetMethodDesc(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
26TargetPointer stubPrecodeDataAddress = instrPointer + precodeMachineDescriptor.StubCodePageSize;
32public static TargetPointer InterpreterPrecode_GetMethodDesc(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
42public static KnownPrecodeType? TryGetKnownPrecodeType(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
Contracts\PrecodeStubs_3.cs (13)
11public static TargetPointer StubPrecode_GetMethodDesc(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
17public static TargetPointer FixupPrecode_GetMethodDesc(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
23public static TargetPointer ThisPtrRetBufPrecode_GetMethodDesc(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
29public static TargetPointer InterpreterPrecode_GetMethodDesc(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
31TargetPointer dataAddr = instrPointer + precodeMachineDescriptor.StubCodePageSize;
45private static Data.StubPrecodeData_2 GetStubPrecodeData(TargetPointer stubInstrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
47TargetPointer stubPrecodeDataAddress = stubInstrPointer + precodeMachineDescriptor.StubCodePageSize;
51public static KnownPrecodeType? TryGetKnownPrecodeType(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
92static bool ReadBytesAndCompare(TargetPointer instrAddress, byte[] expectedBytePattern, byte[] bytesToIgnore, Target target)
Contracts\PrecodeStubs_Common.cs (34)
24public static abstract TargetPointer StubPrecode_GetMethodDesc(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor);
25public static abstract TargetPointer ThisPtrRetBufPrecode_GetMethodDesc(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor);
26public static abstract TargetPointer FixupPrecode_GetMethodDesc(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor);
27public static abstract TargetPointer InterpreterPrecode_GetMethodDesc(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor);
29public static abstract KnownPrecodeType? TryGetKnownPrecodeType(TargetPointer instrPointer, Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor);
40public TargetPointer InstrPointer { get; }
43protected ValidPrecode(TargetPointer instrPointer, KnownPrecodeType precodeType)
49internal abstract TargetPointer GetMethodDesc(Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor);
54internal StubPrecode(TargetPointer instrPointer, KnownPrecodeType type = KnownPrecodeType.Stub) : base(instrPointer, type) { }
56internal override TargetPointer GetMethodDesc(Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
64internal InterpreterPrecode(TargetPointer instrPointer) : base(instrPointer, KnownPrecodeType.Interpreter) { }
66internal override TargetPointer GetMethodDesc(Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
74internal PInvokeImportPrecode(TargetPointer instrPointer) : base(instrPointer, KnownPrecodeType.PInvokeImport) { }
79internal FixupPrecode(TargetPointer instrPointer) : base(instrPointer, KnownPrecodeType.Fixup) { }
80internal override TargetPointer GetMethodDesc(Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
88internal ThisPtrRetBufPrecode(TargetPointer instrPointer) : base(instrPointer, KnownPrecodeType.ThisPtrRetBuf) { }
90internal override TargetPointer GetMethodDesc(Target target, Data.PrecodeMachineDescriptor precodeMachineDescriptor)
96private bool IsAlignedInstrPointer(TargetPointer instrPointer) => _target.IsAlignedToPointerSize(instrPointer);
98private TStubPrecodeData GetStubPrecodeData(TargetPointer stubInstrPointer)
100TargetPointer stubPrecodeDataAddress = stubInstrPointer + MachineDescriptor.StubCodePageSize;
104private KnownPrecodeType? TryGetKnownPrecodeType(TargetPointer instrAddress)
109internal TargetPointer CodePointerReadableInstrPointer(TargetCodePointer codePointer)
126TargetPointer instrPointer = CodePointerReadableInstrPointer(entryPoint);
151TargetPointer descAddr = pm.GetPrecodeMachineDescriptor();
156TargetPointer IPrecodeStubs.GetMethodDescFromStubAddress(TargetCodePointer entryPoint)
163TargetPointer IPrecodeStubs.GetPrecodeEntryPointFromInteriorAddress(TargetCodePointer interiorAddress, bool isFixupPrecode)
165TargetPointer instrPointer = CodePointerReadableInstrPointer(interiorAddress);
193TargetPointer instrPointer = CodePointerReadableInstrPointer(entryPoint);
200TargetPointer dataAddr = instrPointer + MachineDescriptor.StubCodePageSize;
202if (precodeData.ByteCodeAddr == TargetPointer.Null)
Contracts\RuntimeTypeSystem_1.cs (228)
20private readonly TargetPointer _freeObjectMethodTablePointer;
21private readonly TargetPointer _objectMethodTablePointer;
22private TargetPointer _continuationMethodTablePointer;
23private TargetPointer _continuationSingletonEEClassPointer;
24private readonly TargetPointer _multicastDelegateMethodTablePointer;
31private readonly Dictionary<TargetPointer, MethodTable> _methodTables = new();
32private readonly Dictionary<TargetPointer, MethodDesc> _methodDescs = new();
47internal TargetPointer ParentMethodTable { get; }
48internal TargetPointer Module { get; }
49internal TargetPointer EEClassOrCanonMT { get; }
50internal TargetPointer PerInstInfo { get; }
51internal TargetPointer AuxiliaryData { get; }
198internal TargetPointer Address { get; init; }
200internal TargetPointer ChunkAddress { get; init; }
202internal MethodDesc(Target target, TargetPointer methodDescPointer, Data.MethodDesc desc, TargetPointer methodDescChunkAddress, Data.MethodDescChunk chunk)
214public TargetPointer MethodTable => _chunk.MethodTable;
293public TargetPointer CodeData => _desc.CodeData;
295public TargetPointer? GCCoverageInfo => _desc.GCCoverageInfo;
307internal TargetPointer GetAddressOfNonVtableSlot() => MethodDescOptionalSlots.GetAddressOfNonVtableSlot(Address, Classification, _desc.Flags, _target);
308internal TargetPointer GetAddressOfNativeCodeSlot() => MethodDescOptionalSlots.GetAddressOfNativeCodeSlot(Address, Classification, _desc.Flags, _target);
309internal TargetPointer GetAddressOfAsyncMethodData() => MethodDescOptionalSlots.GetAddressOfAsyncMethodData(Address, Classification, _desc.Flags, _target);
339public static InstantiatedMethodDesc Create(Target target, TargetPointer address) => new InstantiatedMethodDesc(target, address);
341private readonly TargetPointer _address;
344private InstantiatedMethodDesc(Target target, TargetPointer methodDescPointer)
351TargetPointer perInstInfo = _desc.PerInstInfo;
352if ((perInstInfo == TargetPointer.Null) || (numGenericArgs == 0))
369internal bool HasPerInstInfo => _desc.PerInstInfo != TargetPointer.Null;
376public static DynamicMethodDesc Create(Target target, TargetPointer address) => new DynamicMethodDesc(target, address);
378private readonly TargetPointer _address;
382private DynamicMethodDesc(Target target, TargetPointer methodDescPointer)
387MethodName = _desc.MethodName != TargetPointer.Null
407public static StoredSigMethodDesc Create(Target target, TargetPointer address) => new StoredSigMethodDesc(target, address);
410private StoredSigMethodDesc(Target target, TargetPointer methodDescPointer)
437internal TargetPointer FreeObjectMethodTablePointer => _freeObjectMethodTablePointer;
438internal TargetPointer ObjectMethodTablePointer => _objectMethodTablePointer;
439internal TargetPointer ContinuationMethodTablePointer
443if (_continuationMethodTablePointer != TargetPointer.Null)
451internal TargetPointer ContinuationSingletonEEClassPointer
455if (_continuationSingletonEEClassPointer != TargetPointer.Null)
465public TypeHandle GetTypeHandle(TargetPointer typeHandlePointer)
487TargetPointer methodTablePointer = typeHandlePointer;
518public TargetPointer GetModule(TypeHandle typeHandle)
530else if (IsGenericVariable(typeHandle, out TargetPointer genericParamModule, out _))
537return TargetPointer.Null;
542return TargetPointer.Null;
545public TargetPointer GetCanonicalMethodTable(TypeHandle typeHandle) => !typeHandle.IsMethodTable() ? TargetPointer.Null : GetClassData(typeHandle).MethodTable;
547public TargetPointer GetParentMethodTable(TypeHandle typeHandle) => !typeHandle.IsMethodTable() ? TargetPointer.Null : _methodTables[typeHandle.Address].ParentMethodTable;
555public TargetPointer GetClassPointer(TypeHandle typeHandle)
558return TargetPointer.Null;
565TargetPointer canonMTPtr = MethodTableFlags_1.UntagEEClassOrCanonMT(methodTable.EEClassOrCanonMT);
577TargetPointer clsPtr = GetClassPointer(typeHandle);
584public bool IsObject(TypeHandle typeHandle) => ObjectMethodTablePointer != TargetPointer.Null && ObjectMethodTablePointer == typeHandle.Address;
595public TargetPointer GetWellKnownMethodTable(WellKnownMethodTable kind)
608if (!_target.TryReadGlobalPointer(globalName, out TargetPointer? ptrPtr) || ptrPtr is null)
609return TargetPointer.Null;
610if (!_target.TryReadPointer(ptrPtr.Value, out TargetPointer value))
611return TargetPointer.Null;
653TargetPointer firstField = TargetPointer.Null;
654foreach (TargetPointer fd in ((IRuntimeTypeSystem)this).GetFieldDescList(current))
662if (firstField == TargetPointer.Null)
696TargetPointer modulePtr = ((IRuntimeTypeSystem)this).GetModule(typeHandle);
697if (modulePtr == TargetPointer.Null)
766&& ContinuationMethodTablePointer != TargetPointer.Null
768&& ContinuationSingletonEEClassPointer != TargetPointer.Null
868public IEnumerable<TargetPointer> GetFieldDescList(TypeHandle typeHandle)
873TargetPointer fieldDescListPtr = GetClassData(typeHandle).FieldDescList;
877TargetPointer parentMT = GetParentMethodTable(typeHandle);
878if (parentMT != TargetPointer.Null)
890private TargetPointer GetDynamicStaticsInfo(TypeHandle typeHandle)
898TargetPointer dynamicStaticsInfoSize = _target.GetTypeInfo(DataType.DynamicStaticsInfo).Size!.Value;
899TargetPointer dynamicStaticsInfoAddr = methodTable.AuxiliaryData - dynamicStaticsInfoSize;
906TargetPointer threadStaticsInfoSize = _target.GetTypeInfo(DataType.ThreadStaticsInfo).Size!.Value;
907TargetPointer threadStaticsInfoAddr = methodTable.AuxiliaryData - threadStaticsInfoSize;
912public TargetPointer GetGCThreadStaticsBasePointer(TypeHandle typeHandle, TargetPointer threadPtr)
915return TargetPointer.Null;
916TargetPointer tlsIndexPtr = GetThreadStaticsInfo(typeHandle).GCTlsIndex;
921public TargetPointer GetNonGCThreadStaticsBasePointer(TypeHandle typeHandle, TargetPointer threadPtr)
924return TargetPointer.Null;
925TargetPointer tlsIndexPtr = GetThreadStaticsInfo(typeHandle).NonGCTlsIndex;
930public TargetPointer GetGCStaticsBasePointer(TypeHandle typeHandle)
932TargetPointer dynamicStaticsInfoAddr = GetDynamicStaticsInfo(typeHandle);
933if (dynamicStaticsInfoAddr == TargetPointer.Null)
934return TargetPointer.Null;
939public TargetPointer GetNonGCStaticsBasePointer(TypeHandle typeHandle)
941TargetPointer dynamicStaticsInfoAddr = GetDynamicStaticsInfo(typeHandle);
942if (dynamicStaticsInfoAddr == TargetPointer.Null)
943return TargetPointer.Null;
980public static TypeInstantiation Create(Target target, TargetPointer address) => new TypeInstantiation(target, address);
983private TypeInstantiation(Target target, TargetPointer typePointer)
989TargetPointer perInstInfo = methodTable.PerInstInfo;
990TargetPointer genericsDictInfoAddr = perInstInfo - (ulong)target.PointerSize;
995TargetPointer dictionaryPointer = target.ReadPointer(perInstInfo + (ulong)target.PointerSize * (ulong)(genericsDictInfo.NumDicts - 1));
1135TargetPointer parentMT = GetParentMethodTable(typeHandle);
1249if (typeHandle.Address == TargetPointer.Null)
1264if (typeHandle.Address == TargetPointer.Null && corElementType != CorElementType.FnPtr)
1265return new TypeHandle(TargetPointer.Null);
1269TargetPointer loaderModule;
1277foreach (TargetPointer ptr in loaderContract.GetAvailableTypeParams(moduleHandle))
1302return new TypeHandle(TargetPointer.Null);
1309private TargetPointer FindFnPtrLoaderModule(ImmutableArray<TypeHandle> retAndArgTypes)
1313TargetPointer loaderModulePtr = TargetPointer.Null;
1319if (arg.Address == TargetPointer.Null)
1322TargetPointer argModulePtr = GetLoaderModule(arg);
1323if (argModulePtr == TargetPointer.Null)
1327TargetPointer argLoaderAllocator = loaderContract.GetLoaderAllocator(argModuleHandle);
1328if (argLoaderAllocator == TargetPointer.Null)
1345TargetPointer systemAssembly = loaderContract.GetSystemAssembly();
1355TargetPointer coreLib = _target.ReadGlobalPointer(Constants.Globals.CoreLib);
1357TargetPointer typeHandlePtr = _target.ReadPointer(coreLibData.Classes + (ulong)typeCode * (ulong)_target.PointerSize);
1361public bool IsGenericVariable(TypeHandle typeHandle, out TargetPointer module, out uint token)
1363module = TargetPointer.Null;
1414public TypedByRefInfo GetTypedByRefInfo(TargetPointer typedByRef)
1420public TargetPointer GetLoaderModule(TypeHandle typeHandle)
1429else if (IsGenericVariable(typeHandle, out TargetPointer genericParamModule, out _))
1448public static FunctionPointerRetAndArgs Create(Target target, TargetPointer address) => new FunctionPointerRetAndArgs(target, address);
1451private FunctionPointerRetAndArgs(Target target, TargetPointer typePointer)
1456TargetPointer retAndArgs = fnPtrTypeDesc.RetAndArgTypes;
1467public MethodDescHandle GetMethodDescHandle(TargetPointer methodDescPointer)
1470private MethodDescHandle GetMethodDescHandle(TargetPointer methodDescPointer, bool validate)
1478TargetPointer methodDescChunkPointer;
1500public TargetPointer GetMethodTable(MethodDescHandle methodDescHandle) => _methodDescs[methodDescHandle.Address].MethodTable;
1598TargetPointer modulePtr = GetOrCreateMethodTable(methodDesc).Module;
1617TargetPointer asyncDataAddr = methodDesc.GetAddressOfAsyncMethodData();
1750public readonly TargetPointer Address;
1751public VtableIndirections(Target target, TargetPointer address)
1757public TargetPointer GetAddressOfSlot(uint slotNum)
1759TargetPointer indirectionPointer = Address + (ulong)(slotNum >> NumPointersPerIndirectionLog2) * (ulong)_target.PointerSize;
1760TargetPointer slotsStart = _target.ReadPointer(indirectionPointer);
1765private VtableIndirections GetVTableIndirections(TargetPointer methodTableAddress)
1771private TargetPointer GetAddressOfSlot(TypeHandle typeHandle, uint slotNum)
1790TargetPointer auxDataPtr = mt.AuxiliaryData;
1792TargetPointer nonVirtualSlotsArray = auxDataPtr + (ulong)auxData.OffsetToNonVirtualSlots;
1817private TargetPointer GetLoaderModule(MethodDesc md)
1824TargetPointer methodDescChunkPointer = md.ChunkAddress;
1825TargetPointer endOfChunk = methodDescChunkPointer + md.SizeOfChunk;
1826TargetPointer ppLoaderModule = endOfChunk - (ulong)_target.PointerSize;
1831TargetPointer mtAddr = GetMethodTable(new MethodDescHandle(md.Address));
1840TargetPointer loaderModuleAddr = GetLoaderModule(md);
1862TargetPointer IRuntimeTypeSystem.GetMethodDescVersioningState(MethodDescHandle methodDesc)
1865TargetPointer codeDataAddress = md.CodeData;
1866if (codeDataAddress == TargetPointer.Null)
1867return TargetPointer.Null;
1897TargetPointer chunkAddr = eeClass.MethodDescChunk;
1898while (chunkAddr != TargetPointer.Null)
1901TargetPointer methodDescPtr = chunk.FirstMethodDesc;
1917IEnumerable<TargetPointer> IRuntimeTypeSystem.GetIntroducedMethodDescs(TypeHandle typeHandle)
1931TargetPointer IRuntimeTypeSystem.GetMethodDescForSlot(TypeHandle typeHandle, ushort slot)
1935return TargetPointer.Null;
1952return TargetPointer.Null;
1956private TargetPointer GetMethodDescForVtableSlot(TypeHandle typeHandle, ushort slot)
1963TargetPointer cannonMTPTr = GetCanonicalMethodTable(typeHandle);
1968TargetPointer slotPtr = GetAddressOfSlot(canonMT, slot);
1973TargetPointer lookupMTPtr = cannonMTPTr;
1974while (lookupMTPtr != TargetPointer.Null)
1987if (lookupMTPtr != TargetPointer.Null)
1990return TargetPointer.Null;
1996private readonly TargetPointer GetMethodDescForEntrypoint(TargetCodePointer pCode)
2002TargetPointer methodDescPtr = executionManager.GetMethodDesc(cbh);
2008TargetPointer methodDescPtr = _target.Contracts.PrecodeStubs.GetMethodDescFromStubAddress(pCode);
2019TargetPointer slotPtr = GetAddressOfSlot(typeHandle, slot);
2026TargetPointer IRuntimeTypeSystem.GetAddressOfNativeCodeSlot(MethodDescHandle methodDesc)
2041TargetPointer ppCode = md.GetAddressOfNativeCodeSlot();
2070TargetPointer pSlot = md.GetAddressOfNonVtableSlot();
2074TargetPointer methodTablePointer = md.MethodTable;
2077TargetPointer addrOfSlot = GetAddressOfSlot(typeHandle, md.Slot);
2081TargetPointer IRuntimeTypeSystem.GetGCStressCodeCopy(MethodDescHandle methodDesc)
2084if (md.GCCoverageInfo is TargetPointer gcCoverageInfoAddr && gcCoverageInfoAddr != TargetPointer.Null)
2089return TargetPointer.Null;
2109TargetPointer codeDataAddress = methodDesc.CodeData;
2110if (codeDataAddress == TargetPointer.Null)
2155public bool SlotIsVtableSlot(TargetPointer methodTablePointer, uint slot)
2160public TargetPointer GetAddressOfMethodTableSlot(TargetPointer methodTablePointer, uint slot)
2167private TargetPointer GetAddressOfMethodTableSlot(TargetPointer methodTablePointer, uint slot)
2171TargetPointer addrOfSlot = GetAddressOfSlot(typeHandle, slot);
2175private bool SlotIsVtableSlot(TargetPointer methodTablePointer, uint slot)
2180TargetPointer IRuntimeTypeSystem.GetMTOfEnclosingClass(TargetPointer fieldDescPointer)
2186uint IRuntimeTypeSystem.GetFieldDescMemberDef(TargetPointer fieldDescPointer)
2192bool IRuntimeTypeSystem.IsFieldDescThreadStatic(TargetPointer fieldDescPointer)
2198bool IRuntimeTypeSystem.IsFieldDescRVA(TargetPointer fieldDescPointer)
2204bool IRuntimeTypeSystem.IsFieldDescStatic(TargetPointer fieldDescPointer)
2210CorElementType IRuntimeTypeSystem.GetFieldDescType(TargetPointer fieldDescPointer)
2217uint IRuntimeTypeSystem.GetFieldDescOffset(TargetPointer fieldDescPointer, FieldDefinition? fieldDef)
2229TypeHandle IRuntimeTypeSystem.GetFieldDescApproxTypeHandle(TargetPointer fieldDescPointer)
2233TargetPointer enclosingMT = ((IRuntimeTypeSystem)this).GetMTOfEnclosingClass(fieldDescPointer);
2234if (enclosingMT == TargetPointer.Null)
2237TargetPointer modulePtr = GetModule(enclosingType);
2238if (modulePtr == TargetPointer.Null)
2258TargetPointer IRuntimeTypeSystem.GetFieldDescByName(TypeHandle typeHandle, string fieldName)
2261return TargetPointer.Null;
2263TargetPointer modulePtr = GetModule(typeHandle);
2264if (modulePtr == TargetPointer.Null)
2265return TargetPointer.Null;
2269return TargetPointer.Null;
2273return TargetPointer.Null;
2281return TargetPointer.Null;
2283TargetPointer fieldDefToDescMap = loader.GetLookupTables(moduleHandle).FieldDefToDesc;
2290TargetPointer fieldDescPtr = loader.GetModuleLookupMapElement(fieldDefToDescMap, fieldDefToken, out _);
2295return TargetPointer.Null;
2298private TargetPointer GetStaticAddressHandle(TargetPointer @base, uint offset, bool isRVA, TargetPointer fieldDescPointer, ModuleHandle moduleHandle)
2307TargetPointer peAssembly = loader.GetPEAssembly(moduleHandle);
2313private TargetPointer GetFieldDescStaticOrThreadStaticAddress(TargetPointer fieldDescPointer, TargetPointer? thread = null, bool unboxValueTypes = true)
2315TargetPointer enclosingMT = ((IRuntimeTypeSystem)this).GetMTOfEnclosingClass(fieldDescPointer);
2317TargetPointer modulePtr = GetModule(ctx);
2321TargetPointer @base;
2345if (@base == TargetPointer.Null)
2346return TargetPointer.Null;
2355TargetPointer handleAddr = GetStaticAddressHandle(@base, offset, isRVA, fieldDescPointer, moduleHandle);
2358TargetPointer objRef = _target.ReadPointer(handleAddr);
2365TargetPointer IRuntimeTypeSystem.GetFieldDescStaticAddress(TargetPointer fieldDescPointer, bool unboxValueTypes) => GetFieldDescStaticOrThreadStaticAddress(fieldDescPointer, null, unboxValueTypes);
2367TargetPointer IRuntimeTypeSystem.GetFieldDescThreadStaticAddress(TargetPointer fieldDescPointer, TargetPointer thread, bool unboxValueTypes) => GetFieldDescStaticOrThreadStaticAddress(fieldDescPointer, thread, unboxValueTypes);
Contracts\StackWalk\Context\AMD64\AMD64Unwinder.cs (27)
40TargetPointer establisherFrame;
51TargetPointer controlPC = context.InstructionPointer.AsTargetPointer;
53TargetPointer imageBase = _eman.GetUnwindInfoBaseAddress(cbh);
54TargetPointer unwindInfoAddr = _eman.GetUnwindInfo(cbh);
56if (unwindInfoAddr == TargetPointer.Null)
177TargetPointer nextByte = controlPC;
636TargetPointer controlPC,
637TargetPointer imageBase,
818TargetPointer controlPC,
819TargetPointer imageBase,
820TargetPointer frameBase,
1026TargetPointer returnAddressPtr = context.Rsp;
1027TargetPointer stackAddressPtr = context.Rsp + (3 * 8);
1092private struct UnwindInfoHeader(TargetPointer address, uint header)
1103private TargetPointer _address = address;
1111public TargetPointer GetUnwindCodeAddress(uint index)
1116TargetPointer unwindCodeAddress = _address + sizeof(uint) /* size of header */ + (index * sizeof(ushort) /* size of unwind code */);
1120public TargetPointer GetChainedEntryAddress()
1129TargetPointer chainedEntryAddress = _address + sizeof(uint) /* size of header */ + (index * sizeof(ushort) /* size of unwind code */);
1194private UnwindInfoHeader? GetUnwindInfoHeader(TargetPointer unwindInfoAddress)
1214private Data.RuntimeFunction LookupPrimaryFunctionEntry(Data.RuntimeFunction functionEntry, TargetPointer imageBase)
1241private Data.RuntimeFunction? SameFunction(Data.RuntimeFunction functionEntry, TargetPointer imageBase, TargetPointer controlPC)
1248TargetPointer targetImageBase = _eman.GetUnwindInfoBaseAddress(cbh);
1266private byte ReadByteAt(TargetPointer address) => _target.Read<byte>(address);
1270private static TargetPointer GetRegister(AMD64Context context, byte register)
1273private static void SetRegister(ref AMD64Context context, byte register, TargetPointer value)
Contracts\StackWalk\Context\X86\X86Unwinder.cs (34)
60eman.GetGCInfo(cbh, out TargetPointer gcInfoAddress, out uint gcInfoVersion);
62TargetPointer methodStart = eman.GetStartAddress(cbh);
63TargetPointer funcletStart = eman.GetFuncletStartAddress(cbh);
71TargetPointer epilogBase = methodStart + (gcInfo.RelativeOffset - gcInfo.EpilogOffset);
100private void UnwindEpilog(ref X86Context context, X86GCInfo gcInfo, TargetPointer epilogBase)
118private void UnwindEbpDoubleAlignFrameEpilog(ref X86Context context, X86GCInfo gcInfo, TargetPointer epilogBase)
216TargetPointer regValueFromStack = _target.ReadPointer(esp);
245private void UnwindEspFrameEpilog(ref X86Context context, X86GCInfo gcInfo, TargetPointer epilogBase)
291TargetPointer regValueFromStack = _target.ReadPointer(esp);
311private void UnwindEspFrame(ref X86Context context, X86GCInfo gcInfo, TargetPointer methodStart)
338TargetPointer regValueFromStack = _target.ReadPointer(esp);
351private void UnwindEspFrameProlog(ref X86Context context, X86GCInfo gcInfo, TargetPointer methodStart)
369TargetPointer savedRegPtr = esp;
431TargetPointer methodStart,
432TargetPointer funcletStart,
443TargetPointer baseSP;
487TargetPointer pSavedRegs = curEbp;
498TargetPointer regValueFromStack = _target.ReadPointer(pSavedRegs);
514private void UnwindEbpDoubleAlignFrameProlog(ref X86Context context, X86GCInfo gcInfo, TargetPointer methodStart)
561TargetPointer pSavedRegs = curEBP;
583TargetPointer regValueFromStack = _target.ReadPointer(pSavedRegs);
623private uint SKIP_ARITH_REG(int val, TargetPointer baseAddress, uint offset)
640private uint SKIP_POP_REG(TargetPointer baseAddress, uint offset)
648private uint SKIP_PUSH_REG(TargetPointer baseAddress, uint offset)
655private uint SKIP_LEA_ESP_EBP(int val, TargetPointer baseAddress, uint offset)
674private uint SKIP_MOV_REG_REG(TargetPointer baseAddress, uint offset)
687private uint SKIP_ALLOC_FRAME(int size, TargetPointer baseAddress, uint offset)
822private uint SKIP_LEA_EAX_ESP(int val, TargetPointer baseAddress, uint offset)
841private uint SKIP_HELPER_CALL(TargetPointer baseAddress, uint offset)
863private static void SetRegValue(ref X86Context context, RegMask regMask, TargetPointer value)
929private sbyte ReadSByteAt(TargetPointer address)
934private byte ReadByteAt(TargetPointer address)
939private ushort ReadShortAt(TargetPointer address)
944private int ReadIntAt(TargetPointer address)
Contracts\StackWalk\GC\GcScanContext.cs (27)
24public TargetPointer StackPointer { get; private set; }
26public TargetPointer Frame { get; private set; }
46public void UpdateScanContext(TargetPointer sp, TargetCodePointer ip, TargetPointer frame, StackRefData.SourceTypes? sourceTypeOverride = null)
61else if (Frame != TargetPointer.Null)
73public void RecordDeferredFrame(TargetPointer frameAddress)
90public void GCEnumCallback(TargetPointer pObject, GcScanFlags flags, GcScanSlotLocation loc)
92TargetPointer addr;
93TargetPointer obj;
108TargetPointer interiorObj = GetInteriorPointer(obj);
109if (interiorObj == TargetPointer.Null)
131private TargetPointer GetInteriorPointer(TargetPointer obj)
133TargetPointer outerObj = TargetPointer.Null;
139TargetPointer currentObj = _gc.GetPotentialNextObjectAddress(seg.Start, 0, seg);
144if (!_cache.TryReadPointer(currentObj.Value + _methodTableOffset, out TargetPointer mt))
146return TargetPointer.Null;
153return TargetPointer.Null;
159return TargetPointer.Null;
164return outerObj + size > obj ? outerObj : TargetPointer.Null;
169private bool TryGetObjectSize(TargetPointer objAddr, TargetPointer mt, out ulong size)
200public void GCReportCallback(TargetPointer ppObj, GcScanFlags flags)
203TargetPointer obj = _target.ReadPointer(ppObj);
206TargetPointer interiorObj = GetInteriorPointer(obj);
207if (interiorObj != TargetPointer.Null)
Contracts\StackWalk\GC\GcScanner.cs (44)
44_eman.GetGCInfo(cbh, out TargetPointer gcInfoAddr, out uint gcVersion);
51TargetPointer? callerSP = null;
80TargetPointer baseAddr = slot.SpBase switch
90TargetPointer addr = new(baseAddr.Value + (ulong)(long)slot.SpOffset);
114public void GcScanRoots(TargetPointer frameAddress, GcScanContext scanContext)
116if (frameAddress == TargetPointer.Null)
129TargetPointer gcRefMap = sdf.Indirection != TargetPointer.Null
131: TargetPointer.Null;
133if (gcRefMap != TargetPointer.Null)
145TargetPointer gcRefMap = emf.Indirection != TargetPointer.Null
147: TargetPointer.Null;
149if (gcRefMap != TargetPointer.Null)
189TargetPointer transitionBlock,
190TargetPointer gcRefMapBlob,
210TargetPointer slotAddress = AddressFromGCRefMapPos(tb, pos);
236TargetPointer transitionBlock,
261private TargetPointer FindGCRefMap(TargetPointer indirection)
263if (indirection == TargetPointer.Null)
264return TargetPointer.Null;
266TargetPointer zapModule = _eman.FindReadyToRunModule(indirection);
267if (zapModule == TargetPointer.Null)
268return TargetPointer.Null;
271if (module.ReadyToRunInfo == TargetPointer.Null)
272return TargetPointer.Null;
275if (r2rInfo.ImportSections == TargetPointer.Null || r2rInfo.NumImportSections == 0)
276return TargetPointer.Null;
280return TargetPointer.Null;
283return TargetPointer.Null;
292TargetPointer sectionsBase = r2rInfo.ImportSections;
295TargetPointer sectionAddr = new(sectionsBase.Value + i * ImportSectionSize);
303return TargetPointer.Null;
308return TargetPointer.Null;
310TargetPointer gcRefMapBase = new(imageBase + auxDataRva);
317TargetPointer p = new(gcRefMapBase.Value + lookupOffset);
331return TargetPointer.Null;
338private void PromoteCallerStack(TargetPointer frameAddress, GcScanContext scanContext)
362if (fmf.MethodDescPtr == TargetPointer.Null)
380private TargetPointer AddressFromGCRefMapPos(Data.TransitionBlock tb, int pos)
387private TargetPointer ArgSlotAddress(Data.TransitionBlock tb, int argIndex)
403private TargetPointer GetCallerSP(IPlatformAgnosticContext context, ref TargetPointer? cached)
Contracts\StressLog.cs (41)
15StressMsgData GetStressMsgData(Data.StressMsg msg, Func<ulong, TargetPointer> getFormatPointerFromOffset);
38public StressLogData GetStressLogData(TargetPointer stressLogPointer)
53public IEnumerable<ThreadStressLogData> GetThreadStressLogs(TargetPointer Logs)
55TargetPointer currentPointer = Logs;
56while (currentPointer != TargetPointer.Null)
60if (threadStressLog.ChunkListHead == TargetPointer.Null)
67if (threadStressLog.CurrentWriteChunk == TargetPointer.Null)
91private TargetPointer GetFormatPointer(ulong formatOffset)
99TargetPointer? moduleTable;
102if (!target.TryReadGlobalPointer(Constants.Globals.StressLog, out TargetPointer? pStressLog))
123return TargetPointer.Null;
126public IEnumerable<StressMsgData> GetStressMessages(TargetPointer threadStressLogAddress)
134TargetPointer currentReadChunk = threadLog.CurrentWriteChunk;
135TargetPointer readPointer = threadLog.CurrentPtr;
139TargetPointer currentPointer = threadLog.CurrentPtr;
171TargetPointer p = currentChunkData.Buf;
175while (target.ReadPointer(p) == TargetPointer.Null
181if (target.ReadPointer(p) == TargetPointer.Null)
216public bool IsPointerInStressLog(StressLogData stressLog, TargetPointer pointer)
220foreach (TargetPointer chunk in stressLogMemory.Chunks)
235foreach (TargetPointer chunk in stressLogMemory.Chunks)
241private sealed class StressLogMemory(IReadOnlyList<TargetPointer> chunks) : Data.IData<StressLogMemory>
243public static StressLogMemory Create(Target target, TargetPointer address)
245List<TargetPointer> chunks = [];
247while (address != TargetPointer.Null)
250TargetPointer chunkPtr = threadLog.ChunkListHead;
252if (chunkPtr == TargetPointer.Null)
264} while (chunkPtr != TargetPointer.Null && chunkPtr != threadLog.ChunkListHead);
272public IReadOnlyList<TargetPointer> Chunks { get; } = chunks;
278public StressMsgData GetStressMsgData(Data.StressMsg msg, Func<ulong, TargetPointer> getFormatPointerFromOffset)
292var args = new TargetPointer[numArgs];
308public StressMsgData GetStressMsgData(Data.StressMsg msg, Func<ulong, TargetPointer> getFormatPointerFromOffset)
328var args = new TargetPointer[numArgs];
349public StressLogData GetStressLogData(TargetPointer stressLog) => traversal.GetStressLogData(stressLog);
350public IEnumerable<ThreadStressLogData> GetThreadStressLogs(TargetPointer Logs) => traversal.GetThreadStressLogs(Logs);
351public IEnumerable<StressMsgData> GetStressMessages(TargetPointer threadStressLogAddress) => traversal.GetStressMessages(threadStressLogAddress);
352public bool IsPointerInStressLog(StressLogData stressLog, TargetPointer pointer) => traversal.IsPointerInStressLog(stressLog, pointer);
363public StressLogData GetStressLogData(TargetPointer stressLog) => traversal.GetStressLogData(stressLog);
364public IEnumerable<ThreadStressLogData> GetThreadStressLogs(TargetPointer Logs) => traversal.GetThreadStressLogs(Logs);
365public IEnumerable<StressMsgData> GetStressMessages(TargetPointer threadStressLogAddress) => traversal.GetStressMessages(threadStressLogAddress);
366public bool IsPointerInStressLog(StressLogData stressLog, TargetPointer pointer) => traversal.IsPointerInStressLog(stressLog, pointer);
Contracts\Thread_1.cs (61)
12private readonly TargetPointer _threadStoreAddr;
49void IThread.SetDebuggerControlledThreadState(TargetPointer thread, DebuggerControlledThreadState state)
55void IThread.ResetDebuggerControlledThreadState(TargetPointer thread, DebuggerControlledThreadState state)
101ThreadData IThread.GetThreadData(TargetPointer threadPointer)
105TargetPointer address = _target.ReadPointer(thread.ExceptionTracker);
106TargetPointer firstNestedException = TargetPointer.Null;
109if (address != TargetPointer.Null)
114if (exceptionInfo.ThrownObject != TargetPointer.Null)
129TargetPointer lastThrownObjectHandle = GetActiveExceptionPseudoHandle(exceptionInfo, address);
130if (lastThrownObjectHandle == TargetPointer.Null)
141thread.RuntimeThreadLocals?.AllocContext.GCAllocationContext.Pointer ?? TargetPointer.Null,
142thread.RuntimeThreadLocals?.AllocContext.GCAllocationContext.Limit ?? TargetPointer.Null,
155address != TargetPointer.Null,
156exceptionInfo?.ExceptionRecord ?? TargetPointer.Null,
157exceptionInfo?.ContextRecord ?? TargetPointer.Null);
160void IThread.GetThreadAllocContext(TargetPointer threadPointer, out long allocBytes, out long allocBytesLoh)
168void IThread.GetStackLimitData(TargetPointer threadPointer, out TargetPointer stackBase, out TargetPointer stackLimit, out TargetPointer frameAddress)
178TargetPointer IThread.IdToThread(uint id)
180TargetPointer idDispenserPtr = _target.ReadGlobalPointer(Constants.Globals.ThinlockThreadIdDispenser);
181TargetPointer idDispenser = _target.ReadPointer(idDispenserPtr);
183TargetPointer threadPtr = TargetPointer.Null;
189TargetPointer IThread.GetThreadLocalStaticBase(TargetPointer threadPointer, TargetPointer tlsIndexPtr)
193TargetPointer threadLocalDataPtr = thread.ThreadLocalDataPtr;
194if (threadLocalDataPtr == TargetPointer.Null)
195return TargetPointer.Null;
199return TargetPointer.Null;
201TargetPointer threadLocalStaticBase = default;
212TargetPointer nonCollectibleArray = threadLocalData.NonCollectibleTlsArrayData;
214TargetPointer arrayStartAddress = nonCollectibleArray + _target.ReadGlobalPointer(Constants.Globals.PtrArrayOffsetToDataArray);
222TargetPointer collectibleArray = threadLocalData.CollectibleTlsArrayData;
223TargetPointer handleSlotAddress = collectibleArray + (ulong)(indexOffset * _target.PointerSize);
231if (threadLocalStaticBase == TargetPointer.Null)
233TargetPointer inFlightData = threadLocalData.InFlightData;
234while (inFlightData != TargetPointer.Null)
248private (Data.Thread thread, Data.ExceptionInfo? exceptionInfo, TargetPointer exceptionTrackerAddr) GetThreadExceptionInfo(TargetPointer threadPointer)
251TargetPointer exceptionTrackerPtr = _target.ReadPointer(thread.ExceptionTracker);
252Data.ExceptionInfo? exceptionInfo = (exceptionTrackerPtr == TargetPointer.Null) ? null : _target.ProcessedData.GetOrAdd<Data.ExceptionInfo>(exceptionTrackerPtr);
262private TargetPointer GetActiveExceptionPseudoHandle(Data.ExceptionInfo? exceptionInfo, TargetPointer exceptionTrackerAddr)
264if (exceptionInfo is null || exceptionInfo.ThrownObject == TargetPointer.Null)
265return TargetPointer.Null;
271TargetPointer IThread.GetCurrentExceptionHandle(TargetPointer threadPointer)
277byte[] IThread.GetWatsonBuckets(TargetPointer threadPointer)
279TargetPointer readFrom;
283TargetPointer thrownObject = exceptionInfo.ThrownObject;
284if (thrownObject != TargetPointer.Null)
287if (exception.WatsonBuckets != TargetPointer.Null)
293readFrom = thread.UEWatsonBucketTrackerBuckets ?? TargetPointer.Null;
294if (readFrom == TargetPointer.Null)
296readFrom = exceptionInfo.ExceptionWatsonBucketTrackerBuckets ?? TargetPointer.Null;
306readFrom = thread.UEWatsonBucketTrackerBuckets ?? TargetPointer.Null;
309if (readFrom == TargetPointer.Null)
PrintfStressMessageFormatter.cs (17)
19string FormatMethodTable(TargetPointer pointer);
20string FormatMethodDesc(TargetPointer pointer);
21string FormatVTable(TargetPointer pointer);
22string FormatStackTrace(TargetPointer pointer);
29private readonly Dictionary<string, Action<TargetPointer, PaddingFormat, StringBuilder>> _formatActions;
30private readonly Dictionary<string, Action<TargetPointer, PaddingFormat, StringBuilder>> _alternateActions;
77private void FormatPointer(TargetPointer ptr, PaddingFormat paddingFormat, StringBuilder builder)
89private void FormatMethodDesc(TargetPointer ptr, PaddingFormat paddingFormat, StringBuilder builder)
94private void FormatMethodTable(TargetPointer ptr, PaddingFormat paddingFormat, StringBuilder builder)
99private void FormatVTable(TargetPointer ptr, PaddingFormat paddingFormat, StringBuilder builder)
104private void FormatStackTrace(TargetPointer ptr, PaddingFormat paddingFormat, StringBuilder builder)
109private void FormatAsciiString(TargetPointer ptr, PaddingFormat paddingFormat, StringBuilder builder)
121private void FormatUtf16String(TargetPointer ptr, PaddingFormat paddingFormat, StringBuilder builder)
133private static void FormatHexWithPrefix(TargetPointer ptr, PaddingFormat paddingFormat, StringBuilder builder)
152private static string FormatInteger<T>(TargetPointer value, char format, PaddingFormat paddingFormat)
165private static void FormatFloatingPoint(TargetPointer valueAsBits, PaddingFormat paddingFormat, StringBuilder builder)
208Debug.Assert(stressMsg.FormatString != TargetPointer.Null);
RuntimeTypeSystemHelpers\MethodValidation.cs (34)
18TargetPointer GetAddressOfMethodTableSlot(TargetPointer methodTablePointer, uint slot);
19bool SlotIsVtableSlot(TargetPointer methodTablePointer, uint slot);
24public TargetPointer GetAddressOfMethodTableSlot(TargetPointer methodTablePointer, uint slot) => throw new NotImplementedException();
26public bool SlotIsVtableSlot(TargetPointer methodTablePointer, uint slot) => throw new NotImplementedException();
55internal TargetPointer Address { get; init; }
57internal NonValidatedMethodDesc(Target target, TargetPointer methodDescAddr, Data.MethodDesc desc, Data.MethodDescChunk chunk)
72internal TargetPointer MethodTable => _chunk.MethodTable;
79internal TargetPointer CodeData => _desc.CodeData;
84internal TargetPointer GetAddressOfNonVtableSlot() => MethodDescOptionalSlots.GetAddressOfNonVtableSlot(Address, Classification, _desc.Flags, _target);
85internal TargetPointer GetAddressOfNativeCodeSlot() => MethodDescOptionalSlots.GetAddressOfNativeCodeSlot(Address, Classification, _desc.Flags, _target);
91internal TargetPointer GetMethodDescChunkPointerThrowing(TargetPointer methodDescPointer, Data.MethodDesc umd)
105private Data.MethodDescChunk GetMethodDescChunkThrowing(TargetPointer methodDescPointer, Data.MethodDesc md, out TargetPointer methodDescChunkPointer)
111private NonValidatedMethodDesc GetMethodDescThrowing(TargetPointer methodDescPointer, out TargetPointer methodDescChunkPointer)
122if (!umd.TemporaryEntryPointAssigned || umd.CodeData == TargetPointer.Null)
138TargetPointer ppCode = umd.GetAddressOfNativeCodeSlot();
163TargetPointer pSlot = umd.GetAddressOfNonVtableSlot();
168TargetPointer methodTablePointer = umd.MethodTable;
169Debug.Assert(methodTablePointer != TargetPointer.Null);
170TargetPointer addrOfSlot = _methodTableQueries.GetAddressOfMethodTableSlot(methodTablePointer, umd.Slot);
176internal bool ValidateMethodDescPointer(TargetPointer methodDescPointer, [NotNullWhen(true)] out TargetPointer methodDescChunkPointer)
178methodDescChunkPointer = TargetPointer.Null;
182TargetPointer methodTablePointer = umd.MethodTable;
183if (methodTablePointer == TargetPointer.Null
184|| methodTablePointer == TargetPointer.Max64Bit
185|| methodTablePointer == TargetPointer.Max32Bit)
199TargetPointer methodDesc = precode.GetMethodDescFromStubAddress(temporaryEntryPoint);
213TargetPointer methodDesc = executionManager.GetMethodDesc(codeInfo.Value);
224TargetPointer methodDesc = executionManager.NonVirtualEntry2MethodDesc(jitCodeAddr);