_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\102\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\103\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\104\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\105\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\106\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\107\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\109\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\11\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\110\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\111\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\112\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\113\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\114\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\115\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\116\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\117\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\12\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\124\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\125\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\126\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\127\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\129\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\131\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\132\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\133\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\135\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\139\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\14\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\140\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\141\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\142\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\144\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\146\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\147\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, "ModuleOffset");
58if (layouts.TrySelect(address, out var t, out var b, out var n, "Modules"))
61Modules = default(TargetPointer?);
64layouts.Select(address, out var t, out var b, out var n, "Logs");
71static StressLog IData<StressLog>.Create(Target target, TargetPointer address)
_generated\148\Microsoft_Diagnostics_DataContractReader_Data.StressLogChunk.g.cs (9)
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, "Prev");
34layouts.Select(address, out var t, out var b, out var n, "Buf");
38layouts.Select(address, out var t, out var b, out var n, "Sig1");
42layouts.Select(address, out var t, out var b, out var n, "Sig2");
49static StressLogChunk IData<StressLogChunk>.Create(Target target, TargetPointer address)
_generated\149\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\150\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\151\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\152\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\153\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\154\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\155\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\157\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\158\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\16\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\160\Microsoft_Diagnostics_DataContractReader_Data.Thread.g.cs (24)
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, "CachedStackBase");
57layouts.Select(address, out var t, out var b, out var n, "CachedStackLimit");
61layouts.Select(address, out var t, out var b, out var n, "ExposedObject");
65layouts.Select(address, out var t, out var b, out var n, "LastThrownObject");
69layouts.Select(address, out var t, out var b, out var n, "LastThrownObjectIsUnhandled");
73layouts.Select(address, out var t, out var b, out var n, "LinkNext");
77layouts.Select(address, out var t, out var b, out var n, "ExceptionTracker");
81if (layouts.TrySelect(address, out var t, out var b, out var n, "UEWatsonBucketTrackerBuckets"))
84UEWatsonBucketTrackerBuckets = default(TargetPointer?);
87layouts.Select(address, out var t, out var b, out var n, "ThreadLocalDataPtr");
91layouts.Select(address, out var t, out var b, out var n, "DebuggerFilterContext");
95layouts.Select(address, out var t, out var b, out var n, "InteropDebuggingHijacked");
99layouts.Select(address, out var t, out var b, out var n, "CurrentCustomDebuggerNotification");
106static Thread IData<Thread>.Create(Target target, TargetPointer address)
112layouts.Select(Address, out var t, out var b, out var n, "DebuggerControlledThreadState");
_generated\161\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\162\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\163\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\164\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\168\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\169\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\170\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\172\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\173\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\18\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\22\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\23\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.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\26\Microsoft_Diagnostics_DataContractReader_Data.Debugger.g.cs (14)
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");
60static Debugger IData<Debugger>.Create(Target target, TargetPointer address)
66layouts.Select(Address, out var t, out var b, out var n, "RSRequestedSync");
74layouts.Select(Address, out var t, out var b, out var n, "SendExceptionsOutsideOfJMC");
82layouts.Select(Address, out var t, out var b, out var n, "GCNotificationEventsEnabled");
_generated\28\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\29\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\30\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\33\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\36\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\38\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\39\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\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\40\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\41\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\42\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\43\Microsoft_Diagnostics_DataContractReader_Data.ExceptionInfo.g.cs (17)
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");
46if (layouts.TrySelect(address, out var t, out var b, out var n, "ExceptionWatsonBucketTrackerBuckets"))
49ExceptionWatsonBucketTrackerBuckets = default(TargetPointer?);
52layouts.Select(address, out var t, out var b, out var n, "PassNumber");
56layouts.Select(address, out var t, out var b, out var n, "CSFEHClause");
60layouts.Select(address, out var t, out var b, out var n, "CSFEnclosingClause");
64layouts.Select(address, out var t, out var b, out var n, "CallerOfActualHandlerFrame");
68layouts.Select(address, out var t, out var b, out var n, "ClauseForCatchHandlerStartPC");
72layouts.Select(address, out var t, out var b, out var n, "ClauseForCatchHandlerEndPC");
79static ExceptionInfo IData<ExceptionInfo>.Create(Target target, TargetPointer address)
_generated\44\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\45\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\49\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\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\54\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\57\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\58\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\59\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\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.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\62\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\63\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\64\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");
45static TransitionBlock IData<TransitionBlock>.Create(Target target, TargetPointer address)
_generated\66\Microsoft_Diagnostics_DataContractReader_Data.GCHeapSVR.g.cs (35)
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");
86layouts.Select(address, out var t, out var b, out var n, "InternalRootArray");
90layouts.Select(address, out var t, out var b, out var n, "InternalRootArrayIndex");
94layouts.Select(address, out var t, out var b, out var n, "HeapAnalyzeSuccess");
98layouts.Select(address, out var t, out var b, out var n, "InterestingData");
102layouts.Select(address, out var t, out var b, out var n, "CompactReasons");
106layouts.Select(address, out var t, out var b, out var n, "ExpandMechanisms");
110layouts.Select(address, out var t, out var b, out var n, "InterestingMechanismBits");
114if (layouts.TrySelect(address, out var t, out var b, out var n, "FreeableSohSegment"))
117FreeableSohSegment = default(TargetPointer?);
120if (layouts.TrySelect(address, out var t, out var b, out var n, "FreeableUohSegment"))
123FreeableUohSegment = default(TargetPointer?);
126if (layouts.TrySelect(address, out var t, out var b, out var n, "FreeRegions"))
129FreeRegions = default(TargetPointer?);
135static GCHeapSVR IData<GCHeapSVR>.Create(Target target, TargetPointer address)
_generated\67\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\68\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\69\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\70\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\71\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\76\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\77\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\78\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\79\Microsoft_Diagnostics_DataContractReader_Data.ILCodeVersionNode.g.cs (9)
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");
49static ILCodeVersionNode IData<ILCodeVersionNode>.Create(Target target, TargetPointer address)
_generated\80\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\86\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\88\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)
_generated\9\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\90\Microsoft_Diagnostics_DataContractReader_Data.InteropSyncBlockInfo.g.cs (12)
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?);
44if (layouts.TrySelect(address, out var t, out var b, out var n, "TaggedMemory"))
47TaggedMemory = default(TargetPointer?);
53static InteropSyncBlockInfo IData<InteropSyncBlockInfo>.Create(Target target, TargetPointer address)
_generated\93\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\94\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\95\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\96\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\97\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\98\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\99\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)
Contracts\CodeVersions_1.cs (42)
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;
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())
629TargetPointer handleAddress = tableSegment.RgValue + offset * (uint)_target.PointerSize;
630TargetPointer handle = _target.ReadPointer(handleAddress);
631if (handle == TargetPointer.Null || handle == _debugDestroyedHandleValue)
641private HandleData CreateHandleData(TargetPointer handleAddress, byte uBlock, uint intraBlockIndex, Data.TableSegment tableSegment, HandleType type)
668TargetPointer handle = _target.ReadPointer(handleAddress);
669obj.GetBuiltInComData(handle, out _, out TargetPointer ccw, out _);
670if (ccw != TargetPointer.Null)
694TargetPointer handleTableMap = _target.ReadGlobalPointer(Constants.Globals.HandleTableMap);
695while (handleTableMap != TargetPointer.Null && maxRegions > 0)
698foreach (TargetPointer bucketPtr in map.BucketsPtr)
700if (bucketPtr == TargetPointer.Null)
706TargetPointer handleTablePtr = _target.ReadPointer(bucket.Table + (ulong)(j * _target.PointerSize));
707if (handleTablePtr == TargetPointer.Null)
711if (handleTable.SegmentList == TargetPointer.Null)
714TargetPointer segmentPtr = handleTable.SegmentList;
715TargetPointer firstSegment = segmentPtr;
727} while (segmentPtr != TargetPointer.Null && segmentPtr != firstSegment && --segmentIterations > 0);
741TargetPointer bookkeepingStartGlobal = _target.ReadGlobalPointer(Constants.Globals.BookkeepingStart);
742if (bookkeepingStartGlobal == TargetPointer.Null)
745TargetPointer bookkeepingStart = _target.ReadPointer(bookkeepingStartGlobal);
746if (bookkeepingStart == TargetPointer.Null)
761TargetPointer next = cardTableInfo.NextCardTable;
762TargetPointer firstNext = next;
768while (next != TargetPointer.Null && next > cardTableInfoSize && maxRegions > 0)
770TargetPointer ctAddr = next - cardTableInfoSize;
808if (_target.TryReadGlobalPointer(Constants.Globals.GlobalFreeHugeRegions, out TargetPointer? globalFreeHugePtr))
814if (_target.TryReadGlobalPointer(Constants.Globals.GlobalRegionsToDecommit, out TargetPointer? globalDecommitPtr))
818TargetPointer listAddr = globalDecommitPtr.Value + (ulong)(i * regionFreeListSize);
826TargetPointer heapTable = _target.ReadPointer(_target.ReadGlobalPointer(Constants.Globals.Heaps));
829TargetPointer heapAddress = _target.ReadPointer(heapTable + (i * (uint)_target.PointerSize));
830if (heapAddress == TargetPointer.Null)
835if (heap.FreeRegions is TargetPointer freeRegionsBase && freeRegionsBase != TargetPointer.Null)
839TargetPointer listAddr = freeRegionsBase + (ulong)(j * regionFreeListSize);
844if (heap.FreeableSohSegment is TargetPointer freeableSoh && freeableSoh != TargetPointer.Null)
847if (heap.FreeableUohSegment is TargetPointer freeableUoh && freeableUoh != TargetPointer.Null)
854if (_target.TryReadGlobalPointer(Constants.Globals.GCHeapFreeRegions, out TargetPointer? freeRegionsPtr))
858TargetPointer listAddr = freeRegionsPtr.Value + (ulong)(i * regionFreeListSize);
863if (_target.TryReadGlobalPointer(Constants.Globals.GCHeapFreeableSohSegment, out TargetPointer? freeableSohPtr))
865TargetPointer segPtr = _target.ReadPointer(freeableSohPtr.Value);
866if (segPtr != TargetPointer.Null)
870if (_target.TryReadGlobalPointer(Constants.Globals.GCHeapFreeableUohSegment, out TargetPointer? freeableUohPtr))
872TargetPointer segPtr = _target.ReadPointer(freeableUohPtr.Value);
873if (segPtr != TargetPointer.Null)
881TargetNUInt IGC.GetHandleExtraInfo(TargetPointer handle)
886TargetPointer segmentBase = handle & segmentMask;
905TargetPointer extraInfoAddress = tableSegment.RgValue + offset * (uint)_target.PointerSize;
910private void AddFreeList(TargetPointer freeListAddr, FreeRegionKind kind, List<GCMemoryRegionData> regions, int heap = 0)
913if (freeList.HeadFreeRegion != TargetPointer.Null)
917private void AddSegmentList(TargetPointer start, FreeRegionKind kind, List<GCMemoryRegionData> regions, int heap = 0)
920TargetPointer curr = start;
921while (curr != TargetPointer.Null)
924if (segment.Mem != TargetPointer.Null)
Contracts\Loader_1.cs (101)
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 appDomainPointer = _target.ReadGlobalPointer(Constants.Globals.AppDomain);
151TargetPointer appDomainPointer = _target.ReadGlobalPointer(Constants.Globals.AppDomain);
153return appDomain.FriendlyName != TargetPointer.Null
158TargetPointer ILoader.GetModule(ModuleHandle handle)
163TargetPointer ILoader.GetAssembly(ModuleHandle handle)
169TargetPointer ILoader.GetPEAssembly(ModuleHandle handle)
180if (module.PEAssembly == TargetPointer.Null)
184if (peAssembly.PEImage == TargetPointer.Null)
191bool ILoader.TryGetLoadedImageContents(ModuleHandle handle, out TargetPointer baseAddress, out uint size, out uint imageFlags)
193baseAddress = TargetPointer.Null;
200if (peImage.LoadedImageLayout == TargetPointer.Null)
225if (peImage.LoadedImageLayout == TargetPointer.Null)
233private TargetPointer FindNTHeaders(Data.PEImageLayout imageLayout)
239private TargetPointer RvaToSection(int rva, Data.PEImageLayout imageLayout)
241TargetPointer ntHeadersPtr = FindNTHeaders(imageLayout);
244TargetPointer section = ntHeadersPtr + (uint)offset + ntHeaders.FileHeader.SizeOfOptionalHeader;
245TargetPointer sectionEnd = section + Data.ImageSectionHeader.Size * ntHeaders.FileHeader.NumberOfSections;
255return TargetPointer.Null;
263TargetPointer section = RvaToSection(rva, imageLayout);
264if (section == TargetPointer.Null)
277TargetPointer headerBase = imageLayout.Base;
286TargetPointer sectionTableBase = headerBase + webcilHeader.Size; // See docs/design/mono/webcil.md
290TargetPointer sectionPtr = sectionTableBase + (uint)(i * (int)16); // See docs/design/mono/webcil.md
307private TargetPointer GetRvaData(TargetPointer peAssemblyPtr, int rva, bool isNullOk)
310return TargetPointer.Null;
312if (assembly.PEImage == TargetPointer.Null)
315if (peImage.LoadedImageLayout == TargetPointer.Null)
326TargetPointer ILoader.GetILAddr(TargetPointer peAssemblyPtr, int rva) => GetRvaData(peAssemblyPtr, rva, false);
328TargetPointer ILoader.GetFieldAddressFromRva(TargetPointer peAssemblyPtr, int rva) => GetRvaData(peAssemblyPtr, rva, true);
330bool ILoader.TryGetSymbolStream(ModuleHandle handle, out TargetPointer buffer, out uint size)
332buffer = TargetPointer.Null;
337if (module.GrowableSymbolStream == TargetPointer.Null)
348IEnumerable<TargetPointer> ILoader.GetAvailableTypeParams(ModuleHandle handle)
352if (module.AvailableTypeParams == TargetPointer.Null)
359IEnumerable<TargetPointer> ILoader.GetInstantiatedMethods(ModuleHandle handle)
363if (module.InstMethodHashTable == TargetPointer.Null)
426TargetPointer configPtr = _target.ReadGlobalPointer(Constants.Globals.EEConfig);
447return module.ReadyToRunInfo != TargetPointer.Null;
453return module.SimpleName != TargetPointer.Null
461return module.Path != TargetPointer.Null
469return module.FileName != TargetPointer.Null
474TargetPointer ILoader.GetLoaderAllocator(ModuleHandle handle)
480TargetPointer ILoader.GetILBase(ModuleHandle handle)
486TargetPointer ILoader.GetAssemblyLoadContext(ModuleHandle handle)
510private IEnumerable<(TargetPointer, uint)> IterateModuleLookupMap(TargetPointer table, uint index, Delegate iterator)
518TargetPointer entryAddress = lookupMap.TableData + (ulong)(index * _target.PointerSize);
519TargetPointer rawValue = _target.ReadPointer(entryAddress);
530} while (table != TargetPointer.Null);
533TargetPointer ILoader.GetModuleLookupMapElement(TargetPointer table, uint token, out TargetNUInt flags)
536if (table == TargetPointer.Null || rid == 0)
539return TargetPointer.Null;
544(TargetPointer rval, uint _) = IterateModuleLookupMap(table, rid, SearchLookupMap).FirstOrDefault();
549IEnumerable<(TargetPointer, uint)> ILoader.EnumerateModuleLookupMap(TargetPointer table)
551if (table == TargetPointer.Null)
557foreach ((TargetPointer targetPointer, uint idx) in IterateModuleLookupMap(table, index, IterateLookupMap))
559TargetPointer rval = targetPointer & ~supportedFlagsMask;
560if (rval != TargetPointer.Null)
586TargetPointer ILoader.GetGlobalLoaderAllocator()
588TargetPointer systemDomainPointer = _target.ReadGlobalPointer(Constants.Globals.SystemDomain);
593TargetPointer ILoader.GetSystemAssembly()
595TargetPointer systemDomainPointer = _target.ReadGlobalPointer(Constants.Globals.SystemDomain);
600TargetPointer ILoader.GetHighFrequencyHeap(TargetPointer loaderAllocatorPointer)
606TargetPointer ILoader.GetLowFrequencyHeap(TargetPointer loaderAllocatorPointer)
612TargetPointer ILoader.GetStubHeap(TargetPointer loaderAllocatorPointer)
618TargetPointer ILoader.GetObjectHandle(TargetPointer loaderAllocatorPointer)
634TargetPointer ILoader.GetILHeader(ModuleHandle handle, uint token)
638TargetPointer headerPtr = loader.GetDynamicIL(handle, token);
639if (headerPtr == TargetPointer.Null)
641TargetPointer peAssembly = loader.GetPEAssembly(handle);
654public DynamicILBlobEntry Null() => new DynamicILBlobEntry(0, TargetPointer.Null);
660static DynamicILBlobTable IData<DynamicILBlobTable>.Create(Target target, TargetPointer address)
663public DynamicILBlobTable(Target target, TargetPointer address)
672TargetPointer ILoader.GetDynamicIL(ModuleHandle handle, uint token)
675if (module.DynamicILBlobTable == TargetPointer.Null)
677return TargetPointer.Null;
684TargetPointer ILoader.GetFirstLoaderHeapBlock(TargetPointer loaderHeap)
689LoaderHeapBlockData ILoader.GetLoaderHeapBlockData(TargetPointer block)
700IReadOnlyDictionary<LoaderAllocatorHeapType, TargetPointer> ILoader.GetLoaderAllocatorHeaps(TargetPointer loaderAllocatorPointer)
705Dictionary<LoaderAllocatorHeapType, TargetPointer> heaps = new()
723if (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 (32)
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 TargetPointer GetArrayData(TargetPointer address, out uint count, out TargetPointer boundsStart, out TargetPointer lowerBounds)
58TargetPointer mt = GetMethodTableAddress(address);
59if (mt == TargetPointer.Null)
95public bool GetBuiltInComData(TargetPointer address, out TargetPointer rcw, out TargetPointer ccw, out TargetPointer ccf)
97rcw = TargetPointer.Null;
98ccw = TargetPointer.Null;
99ccf = TargetPointer.Null;
101TargetPointer syncBlockPtr = GetSyncBlockAddress(address);
102if (syncBlockPtr == TargetPointer.Null)
108int IObject.TryGetHashCode(TargetPointer address)
122TargetPointer syncBlockPtr = GetSyncBlockAddress(address);
123if (syncBlockPtr != TargetPointer.Null)
134public TargetPointer GetSyncBlockAddress(TargetPointer address)
143return TargetPointer.Null;
149public DelegateInfo GetDelegateInfo(TargetPointer address)
166(TargetPointer targetObject, TargetCodePointer targetMethodPtr) = delegateType switch
169DelegateType.Open => (TargetPointer.Null, del.MethodPtrAux),
170_ => (TargetPointer.Null, TargetCodePointer.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 (211)
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;
596&& ContinuationMethodTablePointer != TargetPointer.Null
598&& ContinuationSingletonEEClassPointer != TargetPointer.Null
698public IEnumerable<TargetPointer> GetFieldDescList(TypeHandle typeHandle)
703TargetPointer fieldDescListPtr = GetClassData(typeHandle).FieldDescList;
707TargetPointer parentMT = GetParentMethodTable(typeHandle);
708if (parentMT != TargetPointer.Null)
720private TargetPointer GetDynamicStaticsInfo(TypeHandle typeHandle)
728TargetPointer dynamicStaticsInfoSize = _target.GetTypeInfo(DataType.DynamicStaticsInfo).Size!.Value;
729TargetPointer dynamicStaticsInfoAddr = methodTable.AuxiliaryData - dynamicStaticsInfoSize;
736TargetPointer threadStaticsInfoSize = _target.GetTypeInfo(DataType.ThreadStaticsInfo).Size!.Value;
737TargetPointer threadStaticsInfoAddr = methodTable.AuxiliaryData - threadStaticsInfoSize;
742public TargetPointer GetGCThreadStaticsBasePointer(TypeHandle typeHandle, TargetPointer threadPtr)
745return TargetPointer.Null;
746TargetPointer tlsIndexPtr = GetThreadStaticsInfo(typeHandle).GCTlsIndex;
751public TargetPointer GetNonGCThreadStaticsBasePointer(TypeHandle typeHandle, TargetPointer threadPtr)
754return TargetPointer.Null;
755TargetPointer tlsIndexPtr = GetThreadStaticsInfo(typeHandle).NonGCTlsIndex;
760public TargetPointer GetGCStaticsBasePointer(TypeHandle typeHandle)
762TargetPointer dynamicStaticsInfoAddr = GetDynamicStaticsInfo(typeHandle);
763if (dynamicStaticsInfoAddr == TargetPointer.Null)
764return TargetPointer.Null;
769public TargetPointer GetNonGCStaticsBasePointer(TypeHandle typeHandle)
771TargetPointer dynamicStaticsInfoAddr = GetDynamicStaticsInfo(typeHandle);
772if (dynamicStaticsInfoAddr == TargetPointer.Null)
773return TargetPointer.Null;
810public static TypeInstantiation Create(Target target, TargetPointer address) => new TypeInstantiation(target, address);
813private TypeInstantiation(Target target, TargetPointer typePointer)
819TargetPointer perInstInfo = methodTable.PerInstInfo;
820TargetPointer genericsDictInfoAddr = perInstInfo - (ulong)target.PointerSize;
825TargetPointer dictionaryPointer = target.ReadPointer(perInstInfo + (ulong)target.PointerSize * (ulong)(genericsDictInfo.NumDicts - 1));
965TargetPointer parentMT = GetParentMethodTable(typeHandle);
1079if (typeHandle.Address == TargetPointer.Null)
1094if (typeHandle.Address == TargetPointer.Null && corElementType != CorElementType.FnPtr)
1095return new TypeHandle(TargetPointer.Null);
1099TargetPointer loaderModule;
1107foreach (TargetPointer ptr in loaderContract.GetAvailableTypeParams(moduleHandle))
1132return new TypeHandle(TargetPointer.Null);
1139private TargetPointer FindFnPtrLoaderModule(ImmutableArray<TypeHandle> retAndArgTypes)
1143TargetPointer loaderModulePtr = TargetPointer.Null;
1149if (arg.Address == TargetPointer.Null)
1152TargetPointer argModulePtr = GetLoaderModule(arg);
1153if (argModulePtr == TargetPointer.Null)
1157TargetPointer argLoaderAllocator = loaderContract.GetLoaderAllocator(argModuleHandle);
1158if (argLoaderAllocator == TargetPointer.Null)
1175TargetPointer systemAssembly = loaderContract.GetSystemAssembly();
1185TargetPointer coreLib = _target.ReadGlobalPointer(Constants.Globals.CoreLib);
1187TargetPointer typeHandlePtr = _target.ReadPointer(coreLibData.Classes + (ulong)typeCode * (ulong)_target.PointerSize);
1191public bool IsGenericVariable(TypeHandle typeHandle, out TargetPointer module, out uint token)
1193module = TargetPointer.Null;
1244public TargetPointer GetLoaderModule(TypeHandle typeHandle)
1253else if (IsGenericVariable(typeHandle, out TargetPointer genericParamModule, out _))
1272public static FunctionPointerRetAndArgs Create(Target target, TargetPointer address) => new FunctionPointerRetAndArgs(target, address);
1275private FunctionPointerRetAndArgs(Target target, TargetPointer typePointer)
1280TargetPointer retAndArgs = fnPtrTypeDesc.RetAndArgTypes;
1291public MethodDescHandle GetMethodDescHandle(TargetPointer methodDescPointer)
1294private MethodDescHandle GetMethodDescHandle(TargetPointer methodDescPointer, bool validate)
1302TargetPointer methodDescChunkPointer;
1324public TargetPointer GetMethodTable(MethodDescHandle methodDescHandle) => _methodDescs[methodDescHandle.Address].MethodTable;
1422TargetPointer modulePtr = GetOrCreateMethodTable(methodDesc).Module;
1441TargetPointer asyncDataAddr = methodDesc.GetAddressOfAsyncMethodData();
1574public readonly TargetPointer Address;
1575public VtableIndirections(Target target, TargetPointer address)
1581public TargetPointer GetAddressOfSlot(uint slotNum)
1583TargetPointer indirectionPointer = Address + (ulong)(slotNum >> NumPointersPerIndirectionLog2) * (ulong)_target.PointerSize;
1584TargetPointer slotsStart = _target.ReadPointer(indirectionPointer);
1589private VtableIndirections GetVTableIndirections(TargetPointer methodTableAddress)
1595private TargetPointer GetAddressOfSlot(TypeHandle typeHandle, uint slotNum)
1614TargetPointer auxDataPtr = mt.AuxiliaryData;
1616TargetPointer nonVirtualSlotsArray = auxDataPtr + (ulong)auxData.OffsetToNonVirtualSlots;
1641private TargetPointer GetLoaderModule(MethodDesc md)
1648TargetPointer methodDescChunkPointer = md.ChunkAddress;
1649TargetPointer endOfChunk = methodDescChunkPointer + md.SizeOfChunk;
1650TargetPointer ppLoaderModule = endOfChunk - (ulong)_target.PointerSize;
1655TargetPointer mtAddr = GetMethodTable(new MethodDescHandle(md.Address));
1664TargetPointer loaderModuleAddr = GetLoaderModule(md);
1686TargetPointer IRuntimeTypeSystem.GetMethodDescVersioningState(MethodDescHandle methodDesc)
1689TargetPointer codeDataAddress = md.CodeData;
1690if (codeDataAddress == TargetPointer.Null)
1691return TargetPointer.Null;
1721TargetPointer chunkAddr = eeClass.MethodDescChunk;
1722while (chunkAddr != TargetPointer.Null)
1725TargetPointer methodDescPtr = chunk.FirstMethodDesc;
1741IEnumerable<TargetPointer> IRuntimeTypeSystem.GetIntroducedMethodDescs(TypeHandle typeHandle)
1755TargetPointer IRuntimeTypeSystem.GetMethodDescForSlot(TypeHandle typeHandle, ushort slot)
1759return TargetPointer.Null;
1776return TargetPointer.Null;
1780private TargetPointer GetMethodDescForVtableSlot(TypeHandle typeHandle, ushort slot)
1787TargetPointer cannonMTPTr = GetCanonicalMethodTable(typeHandle);
1792TargetPointer slotPtr = GetAddressOfSlot(canonMT, slot);
1797TargetPointer lookupMTPtr = cannonMTPTr;
1798while (lookupMTPtr != TargetPointer.Null)
1811if (lookupMTPtr != TargetPointer.Null)
1814return TargetPointer.Null;
1820private readonly TargetPointer GetMethodDescForEntrypoint(TargetCodePointer pCode)
1826TargetPointer methodDescPtr = executionManager.GetMethodDesc(cbh);
1832TargetPointer methodDescPtr = _target.Contracts.PrecodeStubs.GetMethodDescFromStubAddress(pCode);
1843TargetPointer slotPtr = GetAddressOfSlot(typeHandle, slot);
1850TargetPointer IRuntimeTypeSystem.GetAddressOfNativeCodeSlot(MethodDescHandle methodDesc)
1865TargetPointer ppCode = md.GetAddressOfNativeCodeSlot();
1894TargetPointer pSlot = md.GetAddressOfNonVtableSlot();
1898TargetPointer methodTablePointer = md.MethodTable;
1901TargetPointer addrOfSlot = GetAddressOfSlot(typeHandle, md.Slot);
1905TargetPointer IRuntimeTypeSystem.GetGCStressCodeCopy(MethodDescHandle methodDesc)
1908if (md.GCCoverageInfo is TargetPointer gcCoverageInfoAddr && gcCoverageInfoAddr != TargetPointer.Null)
1913return TargetPointer.Null;
1933TargetPointer codeDataAddress = methodDesc.CodeData;
1934if (codeDataAddress == TargetPointer.Null)
1973public bool SlotIsVtableSlot(TargetPointer methodTablePointer, uint slot)
1978public TargetPointer GetAddressOfMethodTableSlot(TargetPointer methodTablePointer, uint slot)
1985private TargetPointer GetAddressOfMethodTableSlot(TargetPointer methodTablePointer, uint slot)
1989TargetPointer addrOfSlot = GetAddressOfSlot(typeHandle, slot);
1993private bool SlotIsVtableSlot(TargetPointer methodTablePointer, uint slot)
1998TargetPointer IRuntimeTypeSystem.GetMTOfEnclosingClass(TargetPointer fieldDescPointer)
2004uint IRuntimeTypeSystem.GetFieldDescMemberDef(TargetPointer fieldDescPointer)
2010bool IRuntimeTypeSystem.IsFieldDescThreadStatic(TargetPointer fieldDescPointer)
2016bool IRuntimeTypeSystem.IsFieldDescRVA(TargetPointer fieldDescPointer)
2022bool IRuntimeTypeSystem.IsFieldDescStatic(TargetPointer fieldDescPointer)
2028CorElementType IRuntimeTypeSystem.GetFieldDescType(TargetPointer fieldDescPointer)
2035uint IRuntimeTypeSystem.GetFieldDescOffset(TargetPointer fieldDescPointer, FieldDefinition? fieldDef)
2047TargetPointer IRuntimeTypeSystem.GetFieldDescByName(TypeHandle typeHandle, string fieldName)
2050return TargetPointer.Null;
2052TargetPointer modulePtr = GetModule(typeHandle);
2053if (modulePtr == TargetPointer.Null)
2054return TargetPointer.Null;
2058return TargetPointer.Null;
2062return TargetPointer.Null;
2070return TargetPointer.Null;
2072TargetPointer fieldDefToDescMap = loader.GetLookupTables(moduleHandle).FieldDefToDesc;
2079TargetPointer fieldDescPtr = loader.GetModuleLookupMapElement(fieldDefToDescMap, fieldDefToken, out _);
2084return TargetPointer.Null;
2087private TargetPointer GetStaticAddressHandle(TargetPointer @base, uint offset, bool isRVA, TargetPointer fieldDescPointer, ModuleHandle moduleHandle)
2096TargetPointer peAssembly = loader.GetPEAssembly(moduleHandle);
2102private TargetPointer GetFieldDescStaticOrThreadStaticAddress(TargetPointer fieldDescPointer, TargetPointer? thread = null, bool unboxValueTypes = true)
2104TargetPointer enclosingMT = ((IRuntimeTypeSystem)this).GetMTOfEnclosingClass(fieldDescPointer);
2106TargetPointer modulePtr = GetModule(ctx);
2110TargetPointer @base;
2134if (@base == TargetPointer.Null)
2135return TargetPointer.Null;
2144TargetPointer handleAddr = GetStaticAddressHandle(@base, offset, isRVA, fieldDescPointer, moduleHandle);
2147TargetPointer objRef = _target.ReadPointer(handleAddr);
2154TargetPointer IRuntimeTypeSystem.GetFieldDescStaticAddress(TargetPointer fieldDescPointer, bool unboxValueTypes) => GetFieldDescStaticOrThreadStaticAddress(fieldDescPointer, null, unboxValueTypes);
2156TargetPointer 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;
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\GCInfoDecoding\GCArgTable.cs (7)
18public GCArgTable(Target target, InfoHdr header, TargetPointer argTablePtr)
23TargetPointer offset = argTablePtr;
95private void GetTransitionsFullyInterruptible(ref TargetPointer offset)
198private void GetTransitionsEbpFrame(ref TargetPointer offset)
206TargetPointer argOffset = offset;
348private void SaveCallTransition(ref TargetPointer offset, uint val, uint curOffs, uint callRegMask, bool callPndTab, uint callPndTabCnt, uint callPndMask, uint lastSkip, ref uint imask)
382private void GetTransitionsNoEbp(ref TargetPointer offset)
Contracts\StackWalk\Context\X86\X86Unwinder.cs (34)
59eman.GetGCInfo(cbh, out TargetPointer gcInfoAddress, out uint gcInfoVersion);
61TargetPointer methodStart = eman.GetStartAddress(cbh);
62TargetPointer funcletStart = eman.GetFuncletStartAddress(cbh);
70TargetPointer epilogBase = methodStart + (gcInfo.RelativeOffset - gcInfo.EpilogOffset);
99private void UnwindEpilog(ref X86Context context, GCInfo gcInfo, TargetPointer epilogBase)
117private void UnwindEbpDoubleAlignFrameEpilog(ref X86Context context, GCInfo gcInfo, TargetPointer epilogBase)
215TargetPointer regValueFromStack = _target.ReadPointer(esp);
244private void UnwindEspFrameEpilog(ref X86Context context, GCInfo gcInfo, TargetPointer epilogBase)
290TargetPointer regValueFromStack = _target.ReadPointer(esp);
310private void UnwindEspFrame(ref X86Context context, GCInfo gcInfo, TargetPointer methodStart)
337TargetPointer regValueFromStack = _target.ReadPointer(esp);
350private void UnwindEspFrameProlog(ref X86Context context, GCInfo gcInfo, TargetPointer methodStart)
368TargetPointer savedRegPtr = esp;
430TargetPointer methodStart,
431TargetPointer funcletStart,
442TargetPointer baseSP;
486TargetPointer pSavedRegs = curEbp;
497TargetPointer regValueFromStack = _target.ReadPointer(pSavedRegs);
513private void UnwindEbpDoubleAlignFrameProlog(ref X86Context context, GCInfo gcInfo, TargetPointer methodStart)
560TargetPointer pSavedRegs = curEBP;
582TargetPointer regValueFromStack = _target.ReadPointer(pSavedRegs);
622private uint SKIP_ARITH_REG(int val, TargetPointer baseAddress, uint offset)
639private uint SKIP_POP_REG(TargetPointer baseAddress, uint offset)
647private uint SKIP_PUSH_REG(TargetPointer baseAddress, uint offset)
654private uint SKIP_LEA_ESP_EBP(int val, TargetPointer baseAddress, uint offset)
673private uint SKIP_MOV_REG_REG(TargetPointer baseAddress, uint offset)
686private uint SKIP_ALLOC_FRAME(int size, TargetPointer baseAddress, uint offset)
821private uint SKIP_LEA_EAX_ESP(int val, TargetPointer baseAddress, uint offset)
840private uint SKIP_HELPER_CALL(TargetPointer baseAddress, uint offset)
862private static void SetRegValue(ref X86Context context, RegMask regMask, TargetPointer value)
928private sbyte ReadSByteAt(TargetPointer address)
933private byte ReadByteAt(TargetPointer address)
938private ushort ReadShortAt(TargetPointer address)
943private int ReadIntAt(TargetPointer address)
Contracts\StackWalk\GC\GcScanner.cs (52)
44_eman.GetGCInfo(cbh, out TargetPointer gcInfoAddr, out uint gcVersion);
49TargetPointer? callerSP = null;
78TargetPointer baseAddr = slot.SpBase switch
88TargetPointer addr = new(baseAddr.Value + (ulong)(long)slot.SpOffset);
99public void GcScanRoots(TargetPointer frameAddress, GcScanContext scanContext)
101if (frameAddress == TargetPointer.Null)
114TargetPointer gcRefMap = sdf.Indirection != TargetPointer.Null
116: TargetPointer.Null;
118if (gcRefMap != TargetPointer.Null)
130TargetPointer gcRefMap = emf.Indirection != TargetPointer.Null
132: TargetPointer.Null;
134if (gcRefMap != TargetPointer.Null)
175TargetPointer transitionBlock,
176TargetPointer gcRefMapBlob,
189TargetPointer slotAddress = AddressFromGCRefMapPos(tb, pos);
215TargetPointer transitionBlock,
223TargetPointer argRegStart = tb.ArgumentRegisters;
232TargetPointer argAddr = new(argRegStart.Value + (uint)_target.PointerSize);
242private TargetPointer FindGCRefMap(TargetPointer indirection)
244if (indirection == TargetPointer.Null)
245return TargetPointer.Null;
247TargetPointer zapModule = _eman.FindReadyToRunModule(indirection);
248if (zapModule == TargetPointer.Null)
249return TargetPointer.Null;
252if (module.ReadyToRunInfo == TargetPointer.Null)
253return TargetPointer.Null;
256if (r2rInfo.ImportSections == TargetPointer.Null || r2rInfo.NumImportSections == 0)
257return TargetPointer.Null;
261return TargetPointer.Null;
264return TargetPointer.Null;
273TargetPointer sectionsBase = r2rInfo.ImportSections;
276TargetPointer sectionAddr = new(sectionsBase.Value + i * ImportSectionSize);
284return TargetPointer.Null;
289return TargetPointer.Null;
291TargetPointer gcRefMapBase = new(imageBase + auxDataRva);
298TargetPointer p = new(gcRefMapBase.Value + lookupOffset);
312return TargetPointer.Null;
320TargetPointer frameAddress,
321TargetPointer transitionBlock,
325TargetPointer methodDescPtr = fmf.MethodDescPtr;
326if (methodDescPtr == TargetPointer.Null)
335TargetPointer methodTablePtr = rts.GetMethodTable(mdh);
337TargetPointer modulePtr = rts.GetModule(typeHandle);
407TargetPointer transitionBlock,
435TargetPointer thisAddr = AddressFromGCRefMapPos(tb, thisPos);
443TargetPointer slotAddress = AddressFromGCRefMapPos(tb, pos);
462private TargetPointer AddressFromGCRefMapPos(Data.TransitionBlock tb, int pos)
472private TargetPointer GetCallerSP(IPlatformAgnosticContext context, ref TargetPointer? cached)
Contracts\StressLog.cs (37)
15StressMsgData GetStressMsgData(Data.StressMsg msg, Func<ulong, TargetPointer> getFormatPointerFromOffset);
38public StressLogData GetStressLogData(TargetPointer stressLogPointer)
52public IEnumerable<ThreadStressLogData> GetThreadStressLogs(TargetPointer Logs)
54TargetPointer currentPointer = Logs;
55while (currentPointer != TargetPointer.Null)
59if (threadStressLog.ChunkListHead == TargetPointer.Null)
66if (threadStressLog.CurrentWriteChunk == TargetPointer.Null)
94private TargetPointer GetFormatPointer(ulong formatOffset)
102TargetPointer? moduleTable;
105if (!target.TryReadGlobalPointer(Constants.Globals.StressLog, out TargetPointer? pStressLog))
126return TargetPointer.Null;
135TargetPointer currentReadChunk = threadLog.CurrentWriteChunk;
136TargetPointer readPointer = threadLog.CurrentPointer;
140TargetPointer currentPointer = threadLog.CurrentPointer;
172TargetPointer p = currentChunkData.Buf;
176while (target.ReadPointer(p) == TargetPointer.Null
182if (target.ReadPointer(p) == TargetPointer.Null)
217public bool IsPointerInStressLog(StressLogData stressLog, TargetPointer pointer)
221foreach (TargetPointer chunk in stressLogMemory.Chunks)
232private sealed class StressLogMemory(IReadOnlyList<TargetPointer> chunks) : Data.IData<StressLogMemory>
234public static StressLogMemory Create(Target target, TargetPointer address)
236List<TargetPointer> chunks = [];
238while (address != TargetPointer.Null)
241TargetPointer chunkPtr = threadLog.ChunkListHead;
243if (chunkPtr == TargetPointer.Null)
255} while (chunkPtr != TargetPointer.Null && chunkPtr != threadLog.ChunkListHead);
263public IReadOnlyList<TargetPointer> Chunks { get; } = chunks;
269public StressMsgData GetStressMsgData(Data.StressMsg msg, Func<ulong, TargetPointer> getFormatPointerFromOffset)
283var args = new TargetPointer[numArgs];
299public StressMsgData GetStressMsgData(Data.StressMsg msg, Func<ulong, TargetPointer> getFormatPointerFromOffset)
319var args = new TargetPointer[numArgs];
340public StressLogData GetStressLogData(TargetPointer stressLog) => traversal.GetStressLogData(stressLog);
341public IEnumerable<ThreadStressLogData> GetThreadStressLogs(TargetPointer Logs) => traversal.GetThreadStressLogs(Logs);
343public bool IsPointerInStressLog(StressLogData stressLog, TargetPointer pointer) => traversal.IsPointerInStressLog(stressLog, pointer);
353public StressLogData GetStressLogData(TargetPointer stressLog) => traversal.GetStressLogData(stressLog);
354public IEnumerable<ThreadStressLogData> GetThreadStressLogs(TargetPointer Logs) => traversal.GetThreadStressLogs(Logs);
356public bool IsPointerInStressLog(StressLogData stressLog, TargetPointer pointer) => traversal.IsPointerInStressLog(stressLog, pointer);
Contracts\Thread_1.cs (57)
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,
156void IThread.GetThreadAllocContext(TargetPointer threadPointer, out long allocBytes, out long allocBytesLoh)
164void IThread.GetStackLimitData(TargetPointer threadPointer, out TargetPointer stackBase, out TargetPointer stackLimit, out TargetPointer frameAddress)
174TargetPointer IThread.IdToThread(uint id)
176TargetPointer idDispenserPtr = _target.ReadGlobalPointer(Constants.Globals.ThinlockThreadIdDispenser);
177TargetPointer idDispenser = _target.ReadPointer(idDispenserPtr);
179TargetPointer threadPtr = TargetPointer.Null;
185TargetPointer IThread.GetThreadLocalStaticBase(TargetPointer threadPointer, TargetPointer tlsIndexPtr)
189TargetPointer threadLocalDataPtr = thread.ThreadLocalDataPtr;
190if (threadLocalDataPtr == TargetPointer.Null)
191return TargetPointer.Null;
195return TargetPointer.Null;
197TargetPointer threadLocalStaticBase = default;
208TargetPointer nonCollectibleArray = threadLocalData.NonCollectibleTlsArrayData;
210TargetPointer arrayStartAddress = nonCollectibleArray + _target.ReadGlobalPointer(Constants.Globals.PtrArrayOffsetToDataArray);
218TargetPointer collectibleArray = threadLocalData.CollectibleTlsArrayData;
226if (threadLocalStaticBase == TargetPointer.Null)
228TargetPointer inFlightData = threadLocalData.InFlightData;
229while (inFlightData != TargetPointer.Null)
243private (Data.Thread thread, Data.ExceptionInfo? exceptionInfo, TargetPointer exceptionTrackerAddr) GetThreadExceptionInfo(TargetPointer threadPointer)
246TargetPointer exceptionTrackerPtr = _target.ReadPointer(thread.ExceptionTracker);
247Data.ExceptionInfo? exceptionInfo = (exceptionTrackerPtr == TargetPointer.Null) ? null : _target.ProcessedData.GetOrAdd<Data.ExceptionInfo>(exceptionTrackerPtr);
257private TargetPointer GetActiveExceptionPseudoHandle(Data.ExceptionInfo? exceptionInfo, TargetPointer exceptionTrackerAddr)
259if (exceptionInfo is null || exceptionInfo.ThrownObject == TargetPointer.Null)
260return TargetPointer.Null;
266TargetPointer IThread.GetCurrentExceptionHandle(TargetPointer threadPointer)
272byte[] IThread.GetWatsonBuckets(TargetPointer threadPointer)
274TargetPointer readFrom;
278TargetPointer thrownObject = exceptionInfo.ThrownObject;
279if (thrownObject != TargetPointer.Null)
282if (exception.WatsonBuckets != TargetPointer.Null)
288readFrom = thread.UEWatsonBucketTrackerBuckets ?? TargetPointer.Null;
289if (readFrom == TargetPointer.Null)
291readFrom = exceptionInfo.ExceptionWatsonBucketTrackerBuckets ?? TargetPointer.Null;
301readFrom = thread.UEWatsonBucketTrackerBuckets ?? TargetPointer.Null;
304if (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);