123 instantiations of TargetPointer
Microsoft.Diagnostics.DataContractReader (5)
ContractDescriptorTarget.cs (5)
557return new TargetPointer(allocatedAddress); 591return new TargetPointer(Read<uint>(bytes.Slice(0, sizeof(uint)), _config.IsLittleEndian)); 595return new TargetPointer(Read<ulong>(bytes.Slice(0, sizeof(ulong)), _config.IsLittleEndian)); 722pointer = new TargetPointer(value); 794value = new TargetPointer(innerValue.Value);
Microsoft.Diagnostics.DataContractReader.Abstractions (5)
TargetCodePointer.cs (1)
27public TargetPointer AsTargetPointer => new(Value);
TargetPointer.cs (4)
10public static TargetPointer Null = new(0); 11public static TargetPointer Max32Bit = new(uint.MaxValue); 12public static TargetPointer Max64Bit = new(ulong.MaxValue); 18public static implicit operator TargetPointer(ulong v) => new TargetPointer(v);
Microsoft.Diagnostics.DataContractReader.Contracts (60)
CodePointerUtils.cs (2)
41return new TargetPointer(code.Value & ~Arm32ThumbBit); 48return new TargetPointer(code.Value);
Contracts\BuiltInCOM_1.cs (2)
81ccw = new TargetPointer(interfacePointer & thisMask); 125TargetPointer comMethodTableAddr = new TargetPointer(slotValue - comMethodTableSize);
Contracts\CodeNotifications_1.cs (1)
178=> new(_target, new TargetPointer(EntriesBase + (ulong)(index * EntrySize)));
Contracts\ConditionalWeakTable_1.cs (1)
112value = new TargetPointer(extraInfo.Value);
Contracts\ExecutionManager\ExecutionManagerCore.EEJitManager.cs (1)
171TargetPointer codeHeaderIndirect = new TargetPointer(codeStart - (ulong)codeHeaderOffset);
Contracts\ExecutionManager\ExecutionManagerCore.InterpreterJitManager.cs (1)
148TargetPointer codeHeaderIndirect = new TargetPointer(codeStart - (ulong)codeHeaderOffset);
Contracts\ExecutionManager\ExecutionManagerCore.ReadyToRunJitManager.cs (2)
306startExInfoRVA = new TargetPointer(entry.ExceptionInfoRVA + rangeStart); 307endExInfoRVA = new TargetPointer(nextEntry.ExceptionInfoRVA + rangeStart);
Contracts\ExecutionManager\Helpers\HashMapLookup.cs (1)
58return new TargetPointer((uint)SpecialKeys.InvalidEntry);
Contracts\PrecodeStubs_3.cs (1)
98byte targetBytePattern = target.Read<byte>(new TargetPointer((instrAddress.Value + (ulong)i)));
Contracts\PrecodeStubs_Common.cs (1)
186return new TargetPointer(entryPointAddress);
Contracts\RuntimeTypeSystem_1.cs (1)
2084return new TargetPointer(@base + offset);
Contracts\Signature\RuntimeSignatureDecoder.cs (2)
269return _provider.GetInternalType(new TargetPointer(val)); 277return _provider.GetInternalModifiedType(new TargetPointer(val), unmodifiedType, isRequired);
Contracts\Signature\Signature_1.cs (2)
66return new TargetPointer(vaSigCookieAddr.Value + cookie.SizeOfArgs); 69return new TargetPointer(vaSigCookieAddr.Value + (ulong)_target.PointerSize);
Contracts\StackWalk\Context\AMD64Context.cs (3)
42readonly get => new(Rsp); 47readonly get => new(Rip); 52readonly get => new(Rbp);
Contracts\StackWalk\Context\ARM64Context.cs (3)
49readonly get => new(Sp); 54readonly get => new(Pc); 59readonly get => new(Fp);
Contracts\StackWalk\Context\ARMContext.cs (3)
40readonly get => new(Sp); 46readonly get => new(Pc); 52readonly get => new(R11);
Contracts\StackWalk\Context\LoongArch64Context.cs (3)
47readonly get => new(Sp); 52readonly get => new(Pc); 57readonly get => new(Fp);
Contracts\StackWalk\Context\RISCV64Context.cs (3)
47readonly get => new(Sp); 52readonly get => new(Pc); 57readonly get => new(Fp);
Contracts\StackWalk\Context\X86Context.cs (3)
49readonly get => new(Esp); 54readonly get => new(Eip); 59readonly get => new(Ebp);
Contracts\StackWalk\FrameHandling\FrameHelpers.cs (3)
397context.InstructionPointer = new TargetPointer((ulong)topContextFrame.Ip); 446context.InstructionPointer = new TargetPointer((ulong)parentFrame.Ip); 467return new TargetPointer(value.Value);
Contracts\StackWalk\FrameHandling\FrameIterator.cs (1)
29terminator = new TargetPointer(target.PointerSize == 8 ? ulong.MaxValue : uint.MaxValue);
Contracts\StackWalk\GC\GCRefMapDecoder.cs (1)
60_currentByte = new TargetPointer(_currentByte.Value + 1);
Contracts\StackWalk\GC\GcScanner.cs (11)
66scanContext.GCEnumCallback(new TargetPointer(regValue.Value), scanFlags, loc); 82? new TargetPointer(val.Value) 88TargetPointer addr = new(baseAddr.Value + (ulong)(long)slot.SpOffset); 232TargetPointer argAddr = new(argRegStart.Value + (uint)_target.PointerSize); 276TargetPointer sectionAddr = new(sectionsBase.Value + i * ImportSectionSize); 291TargetPointer gcRefMapBase = new(imageBase + auxDataRva); 297uint lookupOffset = _target.Read<uint>(new TargetPointer(gcRefMapBase.Value + lookupIndex * 4)); 298TargetPointer p = new(gcRefMapBase.Value + lookupOffset); 303p = new(p.Value + 1); 304p = new(p.Value + 1); 464return new TargetPointer(tb.FirstGCRefMapSlot.Value + (ulong)(pos * _target.PointerSize));
Contracts\StressLog.cs (5)
99return new TargetPointer(stressLog.ModuleOffset.Value + formatOffset); 121return new TargetPointer((ulong)module.BaseAddress + relativeOffset); 145currentPointer = new TargetPointer((ulong)currentPointer - target.ReadGlobal<ulong>(Constants.Globals.StressLogMaxMessageSize)); 179p = new TargetPointer((ulong)p + pointerSize); 213readPointer = new TargetPointer((ulong)readPointer + stressMsgHeaderSize + pointerSize * (uint)parsedMessage.Args.Count);
Data\RangeSectionMap.cs (1)
14TopLevelData = new TargetPointer(address + (ulong)type.Fields[nameof(TopLevelData)].Offset);
Data\StressLogChunk.cs (1)
17Buf = new TargetPointer(address + (ulong)type.Fields[nameof(Buf)].Offset);
RuntimeTypeSystemHelpers\MethodValidation.cs (1)
102return new TargetPointer(chunkAddress);
Microsoft.Diagnostics.DataContractReader.Legacy (53)
ClrDataMethodInstance.cs (2)
320maps[outputMapIndex].startAddress = new TargetPointer(codeStart + entry.NativeOffset).ToClrDataAddress(_target); 321maps[outputMapIndex].endAddress = new TargetPointer(codeStart + nativeEndOffset).ToClrDataAddress(_target);
ConversionExtensions.cs (4)
53return new TargetPointer(address); 62return new TargetPointer((uint)address); 95return new TargetPointer(code.Value & ~Arm32ThumbBit); 102return new TargetPointer(code.Value);
Dbi\DacDbiImpl.cs (42)
152Contracts.ModuleHandle handle = loader.GetModuleHandleFromModulePtr(new TargetPointer(vmModule)); 184Contracts.ModuleHandle handle = loader.GetModuleHandleFromAssemblyPtr(new TargetPointer(vmAssembly)); 223Contracts.ModuleHandle handle = loader.GetModuleHandleFromModulePtr(new TargetPointer(vmModule)); 270Contracts.ModuleHandle handle = loader.GetModuleHandleFromModulePtr(new TargetPointer(vmModule)); 315Contracts.ModuleHandle handle = loader.GetModuleHandleFromAssemblyPtr(new TargetPointer(vmAssembly)); 347Contracts.ModuleHandle handle = loader.GetModuleHandleFromAssemblyPtr(new TargetPointer(vmAssembly)); 383Contracts.ModuleHandle handle = loader.GetModuleHandleFromAssemblyPtr(new TargetPointer(vmAssembly)); 444new TargetPointer(vmAppDomain), 660Contracts.ThreadData threadData = _target.Contracts.Thread.GetThreadData(new TargetPointer(vmThread)); 689Contracts.ThreadData threadData = _target.Contracts.Thread.GetThreadData(new TargetPointer(vmThread)); 720TargetPointer threadPtr = new TargetPointer(vmThread); 755Contracts.ThreadData threadData = _target.Contracts.Thread.GetThreadData(new TargetPointer(vmThread)); 784TargetPointer threadPtr = new TargetPointer(vmThread); 863Contracts.ThreadData threadData = _target.Contracts.Thread.GetThreadData(new TargetPointer(vmThread)); 892Contracts.ThreadData threadData = _target.Contracts.Thread.GetThreadData(new TargetPointer(vmThread)); 918TargetPointer threadPtr = new TargetPointer(vmThread); 952TargetPointer ccwAddress = new(ccwPtr); 1000Contracts.ThreadData threadData = _target.Contracts.Thread.GetThreadData(new TargetPointer(vmThread)); 1053Contracts.ModuleHandle scopeModule = loader.GetModuleHandleFromAssemblyPtr(new TargetPointer(vmScope)); 1126byte[] leafContext = _target.Contracts.Thread.GetContext(new TargetPointer(vmThread), ThreadContextSource.None, allFlags); 1160byte[] context = _target.Contracts.Thread.GetContext(new TargetPointer(vmThread), ThreadContextSource.Debugger, allFlags); 1203Contracts.MethodDescHandle md = rts.GetMethodDescHandle(new TargetPointer(vmMethodDesc)); 1238TargetPointer argBase = signature.GetVarArgArgsBase(new TargetPointer(VASigCookieAddr)); 1239signature.GetVarArgSignature(new TargetPointer(VASigCookieAddr), out TargetPointer sigAddr, out uint sigLen); 1277Contracts.TypeHandle th = rts.GetTypeHandle(new TargetPointer(thExact)); 1322*pRetVal = _target.Contracts.Object.GetMethodTableAddress(new TargetPointer(rawToken)).Value; 1370Contracts.TypeHandle th = rts.GetTypeHandle(new TargetPointer(vmTypeHandle)); 1397TypeHandle typeHandle = rts.GetTypeHandle(new TargetPointer(vmTypeHandle)); 1439TargetPointer module = new TargetPointer(vmModule); 1489TargetPointer fd = new TargetPointer(vmField); 1496*pRetVal = rts.GetFieldDescThreadStaticAddress(fd, new TargetPointer(vmRuntimeThread)).Value; 1522TargetPointer fd = new TargetPointer(vmField); 1606_ = obj.GetBuiltInComData(new TargetPointer(vmObject), out TargetPointer rcw, out _, out _); 1672*pRetVal = _target.ReadPointer(new TargetPointer(ptr)).Value; 1732TargetPointer obj = _target.ReadPointer(new TargetPointer(vmHandle)); 1961TargetPointer mt = _target.Contracts.Object.GetMethodTableAddress(new TargetPointer(obj)); 2033TypeHandle typeHandle = rts.GetTypeHandle(new TargetPointer((ulong)id)); 2086TypeHandle arrayOrStringTypeHandle = rts.GetTypeHandle(new TargetPointer(id)); 2270Contracts.ModuleHandle module = loader.GetModuleHandleFromModulePtr(new TargetPointer(vmModule)); 2358NativeCodeVersionHandle nativeCodeVersion = NativeCodeVersionHandle.CreateExplicit(new TargetPointer(vmNativeCodeVersionNode)); 2433Contracts.ModuleHandle handle = loader.GetModuleHandleFromModulePtr(new TargetPointer(pModule)); 2503Contracts.MethodDescHandle md = rts.GetMethodDescHandle(new TargetPointer(vmMethod));
SOSDacImpl.cs (4)
1210string name = stackWalk.GetFrameName(new(vtable)); 2303requestedNativeCodeVersion = nativeCodeContract.GetActiveNativeCodeVersion(new TargetPointer(methodDesc)); 2352activeNativeCodeVersion = nativeCodeContract.GetActiveNativeCodeVersion(new TargetPointer(methodDesc)); 4675ehInfo.mtCatch = clause.TypeHandle is TargetNUInt th ? new TargetPointer(th.Value).ToClrDataAddress(_target) : 0;
SOSDacImpl.IXCLRDataProcess.cs (1)
622exInfo[i] = new TargetPointer(record->ExceptionInformation[i]);
3158 references to TargetPointer
Microsoft.Diagnostics.DataContractReader (29)
ContractDescriptorTarget.cs (29)
48private readonly List<TargetPointer> _pendingSubDescriptors = []; 114TargetPointer[] globalPointerValues, 156foreach (TargetPointer pSubDescriptor in GetSubDescriptors(descriptor)) 158if (pSubDescriptor == TargetPointer.Null) 177TargetPointer pendingSubDescriptor = _pendingSubDescriptors[i]; 178if (TryReadPointer(pendingSubDescriptor, out TargetPointer subDescriptorAddress) 179&& subDescriptorAddress != TargetPointer.Null) 306public TargetPointer[] PointerData { get; init; } 309private static IEnumerable<TargetPointer> GetSubDescriptors(Descriptor descriptor) 361if (!TryReadPointer(address, config, dataTargetDelegates, out TargetPointer descriptorAddr)) 376if (!TryReadPointer(address, config, dataTargetDelegates, out TargetPointer pointerDataAddr)) 391TargetPointer[] pointerData = new TargetPointer[pointerDataCount]; 486public override void WritePointer(ulong address, TargetPointer value) 549public override TargetPointer AllocateMemory(uint size) 576public override TargetPointer ReadPointer(ulong address) 578if (!TryReadPointer(address, _config, _dataTargetDelegates, out TargetPointer pointer)) 584public override bool TryReadPointer(ulong address, out TargetPointer value) 587public override TargetPointer ReadPointerFromSpan(ReadOnlySpan<byte> bytes) 636public void ReadPointers(ulong address, Span<TargetPointer> buffer) 716private static bool TryReadPointer(ulong address, Configuration config, DataTargetDelegates dataTargetDelegates, out TargetPointer pointer) 718pointer = TargetPointer.Null; 752public override bool IsAlignedToPointerSize(TargetPointer pointer) 785public override bool TryReadGlobalPointer(string name, [NotNullWhen(true)] out TargetPointer? value) 788public bool TryReadGlobalPointer(string name, [NotNullWhen(true)] out TargetPointer? value, out string? type) 798public override TargetPointer ReadGlobalPointer(string name) 801public TargetPointer ReadGlobalPointer(string name, out string? type) 803if (!TryReadGlobalPointer(name, out TargetPointer? value, out type)) 866public T GetOrAdd<T>(TargetPointer address) where T : IData<T>
Microsoft.Diagnostics.DataContractReader.Abstractions (386)
Contracts\Extensions\ICodeVersionsExtensions.cs (3)
8public static NativeCodeVersionHandle GetActiveNativeCodeVersion(this ICodeVersions cv, TargetPointer methodDesc) 14public static TargetCodePointer GetNativeCodeAnyVersion(this ICodeVersions cv, TargetPointer methodDesc) 29public static bool HasNativeCodeAnyVersion(this ICodeVersions cv, TargetPointer methodDesc)
Contracts\Extensions\IReJITExtensions.cs (1)
10public static IEnumerable<TargetNUInt> GetRejitIds(this IReJIT rejit, Target target, TargetPointer methodDesc)
Contracts\IAuxiliarySymbols.cs (1)
12bool TryGetAuxiliarySymbolName(TargetPointer ip, [NotNullWhen(true)] out string? symbolName) => throw new NotImplementedException();
Contracts\IBuiltInCOM.cs (27)
11public TargetPointer InterfacePointerAddress { get; init; } 12public TargetPointer MethodTable { get; init; } 23public TargetPointer OuterIUnknown { get; init; } 28TargetPointer RCW, 29TargetPointer Context, 30TargetPointer STAThread, 34TargetPointer IdentityPointer, 35TargetPointer UnknownPointer, 36TargetPointer ManagedObject, 37TargetPointer VTablePtr, 38TargetPointer CreatorThread, 39TargetPointer CtxCookie, 52TargetPointer GetCCWFromInterfacePointer(TargetPointer interfacePointer) => throw new NotImplementedException(); 55IEnumerable<COMInterfacePointerData> GetCCWInterfaces(TargetPointer ccw) => throw new NotImplementedException(); 57TargetPointer GetObjectHandle(TargetPointer ccw) => throw new NotImplementedException(); 59SimpleComCallWrapperData GetSimpleComCallWrapperData(TargetPointer ccw) => throw new NotImplementedException(); 62TargetPointer GetStartWrapper(TargetPointer ccw) => throw new NotImplementedException(); 63IEnumerable<RCWCleanupInfo> GetRCWCleanupList(TargetPointer cleanupListPtr) => throw new NotImplementedException(); 64IEnumerable<(TargetPointer MethodTable, TargetPointer Unknown)> GetRCWInterfaces(TargetPointer rcw) => throw new NotImplementedException(); 65TargetPointer GetRCWContext(TargetPointer rcw) => throw new NotImplementedException(); 66RCWData GetRCWData(TargetPointer rcw) => throw new NotImplementedException();
Contracts\ICodeNotifications.cs (3)
36void SetCodeNotification(TargetPointer module, uint methodToken, CodeNotificationKind flags) => throw new NotImplementedException(); 41CodeNotificationKind GetCodeNotification(TargetPointer module, uint methodToken) => throw new NotImplementedException(); 46void SetAllCodeNotifications(TargetPointer module, CodeNotificationKind flags) => throw new NotImplementedException();
Contracts\ICodeVersions.cs (39)
13public virtual ILCodeVersionHandle GetActiveILCodeVersion(TargetPointer methodDesc) => throw new NotImplementedException(); 17public virtual IEnumerable<ILCodeVersionHandle> GetILCodeVersions(TargetPointer methodDesc) => throw new NotImplementedException(); 19public virtual IEnumerable<NativeCodeVersionHandle> GetNativeCodeVersions(TargetPointer methodDesc, ILCodeVersionHandle ilCodeVersionHandle) => throw new NotImplementedException(); 23public virtual NativeCodeVersionHandle GetActiveNativeCodeVersionForILCodeVersion(TargetPointer methodDesc, ILCodeVersionHandle ilCodeVersionHandle) => throw new NotImplementedException(); 27public virtual TargetPointer GetGCStressCodeCopy(NativeCodeVersionHandle codeVersionHandle) => throw new NotImplementedException(); 29public virtual bool CodeVersionManagerSupportsMethod(TargetPointer methodDesc) => throw new NotImplementedException(); 31public virtual TargetPointer GetIL(ILCodeVersionHandle ilCodeVersionHandle) => throw new NotImplementedException(); 39public readonly TargetPointer Module; 41public readonly TargetPointer ILCodeVersionNode; 42private ILCodeVersionHandle(TargetPointer module, uint methodDef, TargetPointer ilCodeVersionNodeAddress) 44if (module != TargetPointer.Null && ilCodeVersionNodeAddress != TargetPointer.Null) 47if (module != TargetPointer.Null && methodDef == 0) 50if (module == TargetPointer.Null && methodDef != 0) 59public static ILCodeVersionHandle CreateExplicit(TargetPointer ilCodeVersionNodeAddress) => 60new ILCodeVersionHandle(TargetPointer.Null, 0, ilCodeVersionNodeAddress); 61public static ILCodeVersionHandle CreateSynthetic(TargetPointer module, uint methodDef) => 62new ILCodeVersionHandle(module, methodDef, TargetPointer.Null); 64public static ILCodeVersionHandle Invalid { get; } = new(TargetPointer.Null, 0, TargetPointer.Null); 66public bool IsValid => Module != TargetPointer.Null || ILCodeVersionNode != TargetPointer.Null; 68public bool IsExplicit => ILCodeVersionNode != TargetPointer.Null; 75public readonly TargetPointer MethodDescAddress; 76public readonly TargetPointer CodeVersionNodeAddress; 77private NativeCodeVersionHandle(TargetPointer methodDescAddress, TargetPointer codeVersionNodeAddress) 79if (methodDescAddress != TargetPointer.Null && codeVersionNodeAddress != TargetPointer.Null) 88public static NativeCodeVersionHandle CreateExplicit(TargetPointer codeVersionNodeAddress) => 89new NativeCodeVersionHandle(TargetPointer.Null, codeVersionNodeAddress); 90public static NativeCodeVersionHandle CreateSynthetic(TargetPointer methodDescAddress) => 91new NativeCodeVersionHandle(methodDescAddress, TargetPointer.Null); 93public static NativeCodeVersionHandle Invalid { get; } = new(TargetPointer.Null, TargetPointer.Null); 95public bool Valid => MethodDescAddress != TargetPointer.Null || CodeVersionNodeAddress != TargetPointer.Null; 97public bool IsExplicit => CodeVersionNodeAddress != TargetPointer.Null;
Contracts\IComWrappers.cs (14)
12TargetPointer GetComWrappersIdentity(TargetPointer address) => throw new NotImplementedException(); 13TargetPointer GetManagedObjectWrapperFromCCW(TargetPointer ccw) => throw new NotImplementedException(); 14TargetPointer GetComWrappersObjectFromMOW(TargetPointer mow) => throw new NotImplementedException(); 15long GetMOWReferenceCount(TargetPointer mow) => throw new NotImplementedException(); 16TargetPointer GetIdentityForMOW(TargetPointer mow) => throw new NotImplementedException(); 17List<TargetPointer> GetMOWs(TargetPointer obj, out bool hasMOWTable) => throw new NotImplementedException(); 18bool IsComWrappersRCW(TargetPointer rcw) => throw new NotImplementedException(); 19TargetPointer GetComWrappersRCWForObject(TargetPointer obj) => throw new NotImplementedException();
Contracts\IConditionalWeakTable.cs (3)
11bool TryGetValue(TargetPointer conditionalWeakTable, TargetPointer key, out TargetPointer value) => throw new NotImplementedException();
Contracts\IDacStreams.cs (1)
11string? StringFromEEAddress(TargetPointer address) => throw new NotImplementedException();
Contracts\IDebugger.cs (1)
21TargetPointer GetDebuggerControlBlockAddress() => throw new NotImplementedException();
Contracts\IException.cs (11)
9TargetPointer Message, 10TargetPointer InnerException, 11TargetPointer StackTrace, 12TargetPointer WatsonBuckets, 13TargetPointer StackTraceString, 14TargetPointer RemoteStackTraceString, 22TargetPointer GetNestedExceptionInfo(TargetPointer exception, out TargetPointer nextNestedException, out TargetPointer thrownObjectHandle) => throw new NotImplementedException(); 23ExceptionData GetExceptionData(TargetPointer managedException) => throw new NotImplementedException();
Contracts\IExecutionManager.cs (26)
12public readonly TargetPointer Address; 13public CodeBlockHandle(TargetPointer address) => Address = address; 35public TargetPointer? ModuleAddr; 40public TargetPointer ManagerAddress; 42public TargetPointer HeapListAddress; 69public TargetPointer HeapAddress { get; } 70public TargetPointer LoaderHeapAddress { get; } 72public LoaderCodeHeapInfo(TargetPointer heapAddress, TargetPointer loaderHeapAddress) 81public TargetPointer HeapAddress { get; } 82public TargetPointer BaseAddress { get; } 83public TargetPointer CurrentAddress { get; } 85public HostCodeHeapInfo(TargetPointer heapAddress, TargetPointer baseAddress, TargetPointer currentAddress) 99TargetPointer GetMethodDesc(CodeBlockHandle codeInfoHandle) => throw new NotImplementedException(); 100TargetPointer GetStartAddress(CodeBlockHandle codeInfoHandle) => throw new NotImplementedException(); 101TargetPointer GetFuncletStartAddress(CodeBlockHandle codeInfoHandle) => throw new NotImplementedException(); 102void GetMethodRegionInfo(CodeBlockHandle codeInfoHandle, out uint hotSize, out TargetPointer coldStart, out uint coldSize) => throw new NotImplementedException(); 103TargetPointer NonVirtualEntry2MethodDesc(TargetCodePointer entrypoint) => throw new NotImplementedException(); 106TargetPointer GetUnwindInfo(CodeBlockHandle codeInfoHandle) => throw new NotImplementedException(); 107TargetPointer GetUnwindInfoBaseAddress(CodeBlockHandle codeInfoHandle) => throw new NotImplementedException(); 108TargetPointer GetDebugInfo(CodeBlockHandle codeInfoHandle, out bool hasFlagByte) => throw new NotImplementedException(); 109void GetGCInfo(CodeBlockHandle codeInfoHandle, out TargetPointer gcInfo, out uint gcVersion) => throw new NotImplementedException(); 117TargetPointer FindReadyToRunModule(TargetPointer address) => throw new NotImplementedException();
Contracts\IGC.cs (39)
35TargetPointer Handle, 36TargetPointer Secondary, 45public TargetPointer MarkArray { get; init; } 46public TargetPointer NextSweepObject { get; init; } 47public TargetPointer BackGroundSavedMinAddress { get; init; } 48public TargetPointer BackGroundSavedMaxAddress { get; init; } 49public TargetPointer AllocAllocated { get; init; } 50public TargetPointer EphemeralHeapSegment { get; init; } 51public TargetPointer CardTable { get; init; } 53public IReadOnlyList<TargetPointer> FillPointers { get; init; } 54public TargetPointer SavedSweepEphemeralSegment { get; init; } /* Only valid in segment GC builds */ 55public TargetPointer SavedSweepEphemeralStart { get; init; } /* Only valid in segment GC builds */ 57public TargetPointer InternalRootArray { get; init; } 69public TargetPointer StartSegment { get; init; } 70public TargetPointer AllocationStart { get; init; } 71public TargetPointer AllocationContextPointer { get; init; } 72public TargetPointer AllocationContextLimit { get; init; } 77public TargetPointer Allocated { get; init; } 78public TargetPointer Committed { get; init; } 79public TargetPointer Reserved { get; init; } 80public TargetPointer Used { get; init; } 81public TargetPointer Mem { get; init; } 83public TargetPointer Next { get; init; } 84public TargetPointer BackgroundAllocated { get; init; } 85public TargetPointer Heap { get; init; } 92public TargetPointer Reserved { get; init; } 93public TargetPointer Allocated { get; init; } 113public TargetPointer Start { get; init; } 132TargetPointer Start, 133TargetPointer End, 145void GetGCBounds(out TargetPointer minAddr, out TargetPointer maxAddr) => throw new NotImplementedException(); 148GCHeapSegmentData GetHeapSegmentData(TargetPointer segmentAddress) => throw new NotImplementedException(); 150IEnumerable<TargetPointer> GetGCHeaps() => throw new NotImplementedException(); 155GCHeapData GetHeapData(TargetPointer heapAddress) => throw new NotImplementedException(); 160GCOomData GetOomData(TargetPointer heapAddress) => throw new NotImplementedException(); 164TargetNUInt GetHandleExtraInfo(TargetPointer handle) => throw new NotImplementedException(); 166void GetGlobalAllocationContext(out TargetPointer allocPtr, out TargetPointer allocLimit) => throw new NotImplementedException();
Contracts\IGCInfo.cs (2)
49IGCInfoHandle DecodePlatformSpecificGCInfo(TargetPointer gcInfoAddress, uint gcVersion) => throw new NotImplementedException(); 50IGCInfoHandle DecodeInterpreterGCInfo(TargetPointer gcInfoAddress, uint gcVersion) => throw new NotImplementedException();
Contracts\ILoader.cs (50)
11public ModuleHandle(TargetPointer address) 16public TargetPointer Address { get; } 84TargetPointer FieldDefToDesc, 85TargetPointer ManifestModuleReferences, 86TargetPointer MemberRefToDesc, 87TargetPointer MethodDefToDesc, 88TargetPointer TypeDefToMethodTable, 89TargetPointer TypeRefToMethodTable, 90TargetPointer MethodDefToILCodeVersioningState); 94public TargetPointer Address { get; init; } 96public TargetPointer NextBlock { get; init; } 103ModuleHandle GetModuleHandleFromModulePtr(TargetPointer modulePointer) => throw new NotImplementedException(); 104ModuleHandle GetModuleHandleFromAssemblyPtr(TargetPointer assemblyPointer) => throw new NotImplementedException(); 105IEnumerable<ModuleHandle> GetModuleHandles(TargetPointer appDomain, AssemblyIterationFlags iterationFlags) => throw new NotImplementedException(); 106TargetPointer GetRootAssembly() => throw new NotImplementedException(); 108TargetPointer GetModule(ModuleHandle handle) => throw new NotImplementedException(); 109TargetPointer GetAssembly(ModuleHandle handle) => throw new NotImplementedException(); 110TargetPointer GetPEAssembly(ModuleHandle handle) => throw new NotImplementedException(); 111bool TryGetLoadedImageContents(ModuleHandle handle, out TargetPointer baseAddress, out uint size, out uint imageFlags) => throw new NotImplementedException(); 112TargetPointer GetILAddr(TargetPointer peAssemblyPtr, int rva) => throw new NotImplementedException(); 113TargetPointer GetFieldAddressFromRva(TargetPointer peAssemblyPtr, int rva) => throw new NotImplementedException(); 114bool TryGetSymbolStream(ModuleHandle handle, out TargetPointer buffer, out uint size) => throw new NotImplementedException(); 115IEnumerable<TargetPointer> GetAvailableTypeParams(ModuleHandle handle) => throw new NotImplementedException(); 116IEnumerable<TargetPointer> GetInstantiatedMethods(ModuleHandle handle) => throw new NotImplementedException(); 124TargetPointer GetLoaderAllocator(ModuleHandle handle) => throw new NotImplementedException(); 125TargetPointer GetILBase(ModuleHandle handle) => throw new NotImplementedException(); 126TargetPointer GetAssemblyLoadContext(ModuleHandle handle) => throw new NotImplementedException(); 128TargetPointer GetModuleLookupMapElement(TargetPointer table, uint token, out TargetNUInt flags) => throw new NotImplementedException(); 129IEnumerable<(TargetPointer, uint)> EnumerateModuleLookupMap(TargetPointer table) => throw new NotImplementedException(); 135TargetPointer GetGlobalLoaderAllocator() => throw new NotImplementedException(); 136TargetPointer GetSystemAssembly() => throw new NotImplementedException(); 137TargetPointer GetHighFrequencyHeap(TargetPointer loaderAllocatorPointer) => throw new NotImplementedException(); 138TargetPointer GetLowFrequencyHeap(TargetPointer loaderAllocatorPointer) => throw new NotImplementedException(); 139TargetPointer GetStubHeap(TargetPointer loaderAllocatorPointer) => throw new NotImplementedException(); 140TargetPointer GetILHeader(ModuleHandle handle, uint token) => throw new NotImplementedException(); 141TargetPointer GetObjectHandle(TargetPointer loaderAllocatorPointer) => throw new NotImplementedException(); 142TargetPointer GetDynamicIL(ModuleHandle handle, uint token) => throw new NotImplementedException(); 145TargetPointer GetFirstLoaderHeapBlock(TargetPointer loaderHeap) => throw new NotImplementedException(); 147LoaderHeapBlockData GetLoaderHeapBlockData(TargetPointer block) => throw new NotImplementedException(); 148IReadOnlyDictionary<LoaderAllocatorHeapType, TargetPointer> GetLoaderAllocatorHeaps(TargetPointer loaderAllocatorPointer) => throw new NotImplementedException();
Contracts\INotifications.cs (7)
41public record ModuleLoadNotificationData(TargetPointer ModuleAddress) 44public record ModuleUnloadNotificationData(TargetPointer ModuleAddress) 47public record JitNotificationData(TargetPointer MethodDescAddress, TargetPointer NativeCodeAddress) 50public record ExceptionNotificationData(TargetPointer ThreadAddress) 56public record ExceptionCatcherEnterNotificationData(TargetPointer MethodDescAddress, uint NativeOffset) 65bool TryParseNotification(ReadOnlySpan<TargetPointer> exceptionInformation, [NotNullWhen(true)] out NotificationData? notification) => throw new NotImplementedException();
Contracts\IObject.cs (14)
11TargetPointer GetMethodTableAddress(TargetPointer address) => throw new NotImplementedException(); 12string GetStringValue(TargetPointer address) => throw new NotImplementedException(); 13TargetPointer GetArrayData(TargetPointer address, out uint count, out TargetPointer boundsStart, out TargetPointer lowerBounds) => throw new NotImplementedException(); 14bool GetBuiltInComData(TargetPointer address, out TargetPointer rcw, out TargetPointer ccw, out TargetPointer ccf) => throw new NotImplementedException(); 15int TryGetHashCode(TargetPointer address) => throw new NotImplementedException(); 17TargetPointer GetSyncBlockAddress(TargetPointer address) => throw new NotImplementedException();
Contracts\IObjectiveCMarshal.cs (2)
11TargetPointer GetTaggedMemory(TargetPointer address, out TargetNUInt size) => throw new NotImplementedException();
Contracts\IPlatformMetadata.cs (1)
17TargetPointer GetPrecodeMachineDescriptor() => throw new NotImplementedException();
Contracts\IPrecodeStubs.cs (2)
11TargetPointer GetMethodDescFromStubAddress(TargetCodePointer entryPoint) => throw new NotImplementedException(); 15TargetPointer GetPrecodeEntryPointFromInteriorAddress(TargetCodePointer interiorAddress, bool isFixupPrecode) => throw new NotImplementedException();
Contracts\IRuntimeTypeSystem.cs (38)
15public TypeHandle(TargetPointer address) 20public TargetPointer Address { get; } 65public MethodDescHandle(TargetPointer address) 70public TargetPointer Address { get; } 105TypeHandle GetTypeHandle(TargetPointer address) => throw new NotImplementedException(); 106TargetPointer GetModule(TypeHandle typeHandle) => throw new NotImplementedException(); 107TargetPointer GetLoaderModule(TypeHandle typeHandle) => throw new NotImplementedException(); 111TargetPointer GetCanonicalMethodTable(TypeHandle typeHandle) => throw new NotImplementedException(); 112TargetPointer GetParentMethodTable(TypeHandle typeHandle) => throw new NotImplementedException(); 114TargetPointer GetMethodDescForSlot(TypeHandle methodTable, ushort slot) => throw new NotImplementedException(); 115IEnumerable<TargetPointer> GetIntroducedMethodDescs(TypeHandle methodTable) => throw new NotImplementedException(); 151TargetPointer GetFieldDescList(TypeHandle typeHandle) => throw new NotImplementedException(); 154TargetPointer GetGCStaticsBasePointer(TypeHandle typeHandle) => throw new NotImplementedException(); 155TargetPointer GetNonGCStaticsBasePointer(TypeHandle typeHandle) => throw new NotImplementedException(); 156TargetPointer GetGCThreadStaticsBasePointer(TypeHandle typeHandle, TargetPointer threadPtr) => throw new NotImplementedException(); 157TargetPointer GetNonGCThreadStaticsBasePointer(TypeHandle typeHandle, TargetPointer threadPtr) => throw new NotImplementedException(); 189bool IsGenericVariable(TypeHandle typeHandle, out TargetPointer module, out uint token) => throw new NotImplementedException(); 196MethodDescHandle GetMethodDescHandle(TargetPointer targetPointer) => throw new NotImplementedException(); 197TargetPointer GetMethodTable(MethodDescHandle methodDesc) => throw new NotImplementedException(); 241TargetPointer GetMethodDescVersioningState(MethodDescHandle methodDesc) => throw new NotImplementedException(); 250TargetPointer GetAddressOfNativeCodeSlot(MethodDescHandle methodDesc) => throw new NotImplementedException(); 252TargetPointer GetGCStressCodeCopy(MethodDescHandle methodDesc) => throw new NotImplementedException(); 262TargetPointer GetMTOfEnclosingClass(TargetPointer fieldDescPointer) => throw new NotImplementedException(); 263uint GetFieldDescMemberDef(TargetPointer fieldDescPointer) => throw new NotImplementedException(); 264bool IsFieldDescThreadStatic(TargetPointer fieldDescPointer) => throw new NotImplementedException(); 265bool IsFieldDescStatic(TargetPointer fieldDescPointer) => throw new NotImplementedException(); 266CorElementType GetFieldDescType(TargetPointer fieldDescPointer) => throw new NotImplementedException(); 267uint GetFieldDescOffset(TargetPointer fieldDescPointer, FieldDefinition fieldDef) => throw new NotImplementedException(); 268TargetPointer GetFieldDescByName(TypeHandle typeHandle, string fieldName) => throw new NotImplementedException(); 269TargetPointer GetFieldDescStaticAddress(TargetPointer fieldDescPointer, bool unboxValueTypes = true) => throw new NotImplementedException(); 270TargetPointer GetFieldDescThreadStaticAddress(TargetPointer fieldDescPointer, TargetPointer thread, bool unboxValueTypes = true) => throw new NotImplementedException(); 273void GetCoreLibFieldDescAndDef(string typeNamespace, string typeName, string fieldName, out TargetPointer fieldDescAddr, out FieldDefinition fieldDef) => throw new NotImplementedException();
Contracts\ISHash.cs (1)
28public ISHash<TKey, TEntry> CreateSHash<TKey, TEntry>(Target target, TargetPointer address, Target.TypeInfo type, ITraits<TKey, TEntry> traits) where TEntry : IData<TEntry> => throw new NotImplementedException();
Contracts\ISignature.cs (4)
13TargetPointer GetVarArgArgsBase(TargetPointer vaSigCookieAddr) => throw new NotImplementedException(); 14void GetVarArgSignature(TargetPointer vaSigCookieAddr, out TargetPointer signatureAddress, out uint signatureLength) => throw new NotImplementedException();
Contracts\IStackWalk.cs (10)
16public TargetPointer Address { get; init; } 17public TargetPointer Object { get; init; } 20public TargetPointer Source { get; init; } 21public TargetPointer StackPointer { get; init; } 31TargetPointer GetFrameAddress(IStackDataFrameHandle stackDataFrameHandle) => throw new NotImplementedException(); 32string GetFrameName(TargetPointer frameIdentifier) => throw new NotImplementedException(); 33TargetPointer GetMethodDescPtr(TargetPointer framePtr) => throw new NotImplementedException(); 34TargetPointer GetMethodDescPtr(IStackDataFrameHandle stackDataFrameHandle) => throw new NotImplementedException(); 35TargetPointer GetInstructionPointer(IStackDataFrameHandle stackDataFrameHandle) => throw new NotImplementedException();
Contracts\IStressLog.cs (11)
17TargetPointer Logs); 20TargetPointer NextPointer, 23TargetPointer CurrentPointer, 24TargetPointer ChunkListHead, 25TargetPointer ChunkListTail, 26TargetPointer CurrentWriteChunk); 30TargetPointer FormatString, 32IReadOnlyList<TargetPointer> Args); 39StressLogData GetStressLogData(TargetPointer stressLog) => throw new NotImplementedException(); 40IEnumerable<ThreadStressLogData> GetThreadStressLogs(TargetPointer Logs) => throw new NotImplementedException(); 42bool IsPointerInStressLog(StressLogData stressLog, TargetPointer pointer) => throw new NotImplementedException();
Contracts\ISyncBlock.cs (11)
10TargetPointer GetSyncBlock(uint index) => throw new NotImplementedException(); 11TargetPointer GetSyncBlockObject(uint index) => throw new NotImplementedException(); 14bool TryGetLockInfo(TargetPointer syncBlock, out uint owningThreadId, out uint recursion) => throw new NotImplementedException(); 15uint GetAdditionalThreadCount(TargetPointer syncBlock) => throw new NotImplementedException(); 16TargetPointer GetSyncBlockFromCleanupList() => throw new NotImplementedException(); 17TargetPointer GetNextSyncBlock(TargetPointer syncBlock) => throw new NotImplementedException(); 18bool GetBuiltInComData(TargetPointer syncBlock, out TargetPointer rcw, out TargetPointer ccw, out TargetPointer ccf) => throw new NotImplementedException();
Contracts\IThread.cs (28)
17TargetPointer FirstThread, 18TargetPointer FinalizerThread, 19TargetPointer GCThread); 48TargetPointer ThreadAddress, 53TargetPointer AllocContextPointer, 54TargetPointer AllocContextLimit, 55TargetPointer Frame, 56TargetPointer FirstNestedException, 57TargetPointer ExposedObjectHandle, 58TargetPointer LastThrownObjectHandle, 59TargetPointer CurrentCustomDebuggerNotificationHandle, 62TargetPointer NextThread); 68void SetDebuggerControlledThreadState(TargetPointer thread, DebuggerControlledThreadState state) => throw new NotImplementedException(); 69void ResetDebuggerControlledThreadState(TargetPointer thread, DebuggerControlledThreadState state) => throw new NotImplementedException(); 72ThreadData GetThreadData(TargetPointer thread) => throw new NotImplementedException(); 73void GetThreadAllocContext(TargetPointer thread, out long allocBytes, out long allocBytesLoh) => throw new NotImplementedException(); 74void GetStackLimitData(TargetPointer threadPointer, out TargetPointer stackBase, 75out TargetPointer stackLimit, out TargetPointer frameAddress) => throw new NotImplementedException(); 76TargetPointer IdToThread(uint id) => throw new NotImplementedException(); 77TargetPointer GetThreadLocalStaticBase(TargetPointer threadPointer, TargetPointer tlsIndexPtr) => throw new NotImplementedException(); 78TargetPointer GetCurrentExceptionHandle(TargetPointer threadPointer) => throw new NotImplementedException(); 79byte[] GetWatsonBuckets(TargetPointer threadPointer) => throw new NotImplementedException(); 80byte[] GetContext(TargetPointer threadPointer, ThreadContextSource contextSource, uint contextFlags) => throw new NotImplementedException();
Data\IData.cs (1)
8static abstract TSelf Create(Target target, TargetPointer address);
Target.cs (9)
44public abstract TargetPointer ReadGlobalPointer(string global); 52public abstract bool TryReadGlobalPointer(string name, [NotNullWhen(true)] out TargetPointer? value); 60public abstract TargetPointer ReadPointer(ulong address); 68public abstract bool TryReadPointer(ulong address, out TargetPointer value); 112public virtual TargetPointer AllocateMemory(uint size) 210public abstract void WritePointer(ulong address, TargetPointer value); 224public abstract TargetPointer ReadPointerFromSpan(ReadOnlySpan<byte> bytes); 232public abstract bool IsAlignedToPointerSize(TargetPointer pointer); 257T GetOrAdd<T>(TargetPointer address) where T : Data.IData<T>;
TargetCodePointer.cs (1)
27public TargetPointer AsTargetPointer => new(Value);
TargetFieldExtensions.cs (10)
47public static TargetPointer ReadPointerField(this Target target, ulong address, Target.TypeInfo typeInfo, string fieldName) 57/// Returns <see cref="TargetPointer.Null"/> if the field is not present in the descriptor. 59public static TargetPointer ReadPointerFieldOrNull(this Target target, ulong address, Target.TypeInfo typeInfo, string fieldName) 62return TargetPointer.Null; 121TargetPointer pointer = target.ReadPointer(address + (ulong)field.Offset); 122if (pointer == TargetPointer.Null) 140TargetPointer pointer = target.ReadPointer(address + (ulong)field.Offset); 141if (pointer == TargetPointer.Null) 180public static TargetPointer WritePointerField(this Target target, ulong address, Target.TypeInfo typeInfo, string fieldName, TargetPointer value)
TargetPointer.cs (13)
8public readonly struct TargetPointer : IEquatable<TargetPointer> 10public static TargetPointer Null = new(0); 11public static TargetPointer Max32Bit = new(uint.MaxValue); 12public static TargetPointer Max64Bit = new(ulong.MaxValue); 17public static implicit operator ulong(TargetPointer p) => p.Value; 18public static implicit operator TargetPointer(ulong v) => new TargetPointer(v); 20public static bool operator ==(TargetPointer left, TargetPointer right) => left.Value == right.Value; 21public static bool operator !=(TargetPointer left, TargetPointer right) => left.Value != right.Value; 23public static TargetPointer PlatformMaxValue(Target target) => target.PointerSize == 4 ? Max32Bit : Max64Bit; 25public override bool Equals(object? obj) => obj is TargetPointer pointer && Equals(pointer); 26public bool Equals(TargetPointer other) => Value == other.Value;
TargetSpan.cs (2)
10public TargetSpan(TargetPointer address, ulong size) 16public TargetPointer Address { get; }
Microsoft.Diagnostics.DataContractReader.Contracts (2404)
CodePointerUtils.cs (3)
14internal static TargetCodePointer CodePointerFromAddress(TargetPointer address, Target target) 16if (address == TargetPointer.Null) 35internal static TargetPointer AddressFromCodePointer(TargetCodePointer code, Target target)
Contracts\AuxiliarySymbols_1.cs (4)
17bool IAuxiliarySymbols.TryGetAuxiliarySymbolName(TargetPointer ip, [NotNullWhen(true)] out string? symbolName) 23TargetPointer helperArrayPtr = _target.ReadGlobalPointer(Constants.Globals.AuxiliarySymbols); 31TargetPointer entryAddr = helperArrayPtr + (ulong)(i * entrySize); 36if (entry.Name != TargetPointer.Null)
Contracts\BuiltInCOM_1.cs (60)
60public TargetPointer GetCCWFromInterfacePointer(TargetPointer interfacePointer) 66if (!_target.TryReadPointer(interfacePointer, out TargetPointer vtable) || vtable == TargetPointer.Null 69return TargetPointer.Null; 72TargetPointer tearOffAddRef = _target.ReadPointer(_target.ReadGlobalPointer(Constants.Globals.TearOffAddRef)); 73TargetPointer tearOffSimple = _target.ReadPointer(_target.ReadGlobalPointer(Constants.Globals.TearOffAddRefSimple)); 74TargetPointer tearOffSimpleInner = _target.ReadPointer(_target.ReadGlobalPointer(Constants.Globals.TearOffAddRefSimpleInner)); 76TargetPointer ccw; 87TargetPointer descBase = vtable - (ulong)pointerSize; 92TargetPointer sccwAddr = interfacePointer - (ulong)(interfaceKind * pointerSize) - vtablePtrOffset; 99return TargetPointer.Null; 104public IEnumerable<COMInterfacePointerData> GetCCWInterfaces(TargetPointer ccw) 111TargetPointer linkedWrapperTerminator = pointerSize == 8 ? TargetPointer.Max64Bit : TargetPointer.Max32Bit; 113TargetPointer current = ccw; 114while (current != TargetPointer.Null) 120TargetPointer slotValue = wrapper.IPtrs[i]; 121if (slotValue == TargetPointer.Null) 125TargetPointer comMethodTableAddr = new TargetPointer(slotValue - comMethodTableSize); 133TargetPointer slotAddr = wrapper.IPtr + (ulong)(i * pointerSize); 136TargetPointer methodTable = (isFirst && i == (int)ComWrapperFlags.Slot_Basic) 137? TargetPointer.Null 151current = wrapper.Next == linkedWrapperTerminator ? TargetPointer.Null : wrapper.Next; 155public TargetPointer GetObjectHandle(TargetPointer ccw) 162private TargetPointer GetSimpleComCallWrapper(TargetPointer ccw) 168public SimpleComCallWrapperData GetSimpleComCallWrapperData(TargetPointer ccw) 170TargetPointer sccw = GetSimpleComCallWrapper(ccw); 186public TargetPointer GetStartWrapper(TargetPointer ccw) 189if (wrapper.Next != TargetPointer.Null) 197public IEnumerable<RCWCleanupInfo> GetRCWCleanupList(TargetPointer cleanupListPtr) 199TargetPointer listAddress; 200if (cleanupListPtr != TargetPointer.Null) 206TargetPointer globalPtr = _target.ReadGlobalPointer(Constants.Globals.RCWCleanupList); 210if (listAddress == TargetPointer.Null) 214TargetPointer bucketPtr = list.FirstBucket; 215while (bucketPtr != TargetPointer.Null) 219TargetPointer ctxCookie = bucket.CtxCookie; 220TargetPointer staThread = GetSTAThread(bucket); 222TargetPointer rcwPtr = bucketPtr; 223while (rcwPtr != TargetPointer.Null) 234private TargetPointer GetSTAThread(Data.RCW rcw) 236TargetPointer ctxEntryPtr = rcw.CtxEntry & ~(ulong)1; 237if (ctxEntryPtr == TargetPointer.Null) 238return TargetPointer.Null; 244public IEnumerable<(TargetPointer MethodTable, TargetPointer Unknown)> GetRCWInterfaces(TargetPointer rcw) 249if (entry.Unknown != TargetPointer.Null) 256public TargetPointer GetRCWContext(TargetPointer rcw) 263public RCWData GetRCWData(TargetPointer rcw) 267TargetPointer managedObject = TargetPointer.Null; 294TargetPointer ctxEntryPtr = rcw.CtxEntry & ~(ulong)1; 295if (ctxEntryPtr == TargetPointer.Null)
Contracts\CodeNotifications_1.cs (12)
18void ICodeNotifications.SetCodeNotification(TargetPointer module, uint methodToken, CodeNotificationKind flags) 82CodeNotificationKind ICodeNotifications.GetCodeNotification(TargetPointer module, uint methodToken) 97void ICodeNotifications.SetAllCodeNotifications(TargetPointer module, CodeNotificationKind flags) 113if (module != TargetPointer.Null && entry.ClrModule.Value != module.Value) 161public TableView(Target target, TargetPointer basePointer, uint entrySize) 180public bool TryFindEntry(TargetPointer module, uint methodToken, out uint index) 214TargetPointer globalAddr = _target.ReadGlobalPointer(Constants.Globals.JITNotificationTable); 215TargetPointer tablePointer = _target.ReadPointer(globalAddr); 217if (tablePointer == TargetPointer.Null) 232private TargetPointer AllocateTable(uint entrySize, TargetPointer globalAddr) 237TargetPointer tablePointer = _target.AllocateMemory(tableByteSize);
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 (48)
26private TargetPointer? _mowTableAddr = null; 27private TargetPointer? _nativeObjectWrapperCWTAddr = null; 37public TargetPointer GetComWrappersIdentity(TargetPointer address) 43private bool GetComWrappersCCWVTableQIAddress(TargetPointer ccw, out TargetPointer vtable, out TargetPointer qiAddress) 45qiAddress = TargetPointer.Null; 54private bool IsComWrappersCCW(TargetPointer ccw) 56if (!GetComWrappersCCWVTableQIAddress(ccw, out _, out TargetPointer qiAddress)) 59if (!_target.TryReadGlobalPointer(Constants.Globals.ComWrappersVtablePtrs, out TargetPointer? comWrappersVtablePtrs)) 65public TargetPointer GetManagedObjectWrapperFromCCW(TargetPointer ccw) 68return TargetPointer.Null; 69if (!_target.TryReadPointer(ccw & _target.ReadGlobalPointer(Constants.Globals.DispatchThisPtrMask), out TargetPointer MOWWrapper)) 70return TargetPointer.Null; 74public TargetPointer GetComWrappersObjectFromMOW(TargetPointer mow) 81public long GetMOWReferenceCount(TargetPointer mow) 87private TargetPointer IndexIntoDispatchSection(int index, TargetPointer dispatches) 93TargetPointer dispatchAddress = dispatches + (ulong)((uint)(index / (int)entriesPerThisPtr) * dispatchSize); 99public TargetPointer GetIdentityForMOW(TargetPointer mow) 113TargetPointer entryAddress = layout.UserDefined + (ulong)((uint)i * entrySize); 121return TargetPointer.Null; 124public List<TargetPointer> GetMOWs(TargetPointer obj, out bool hasMOWTable) 130rts.GetCoreLibFieldDescAndDef(ComWrappersNamespace, ComWrappersName, AllManagedObjectWrapperTableFieldName, out TargetPointer fieldDescAddr, out _); 134List<TargetPointer> mows = new List<TargetPointer>(); 136if (_mowTableAddr.Value == TargetPointer.Null) 139if (cwt.TryGetValue(_mowTableAddr.Value, obj, out TargetPointer mowListObj)) 145rts.GetCoreLibFieldDescAndDef(ListNamespace, ListName, ListItemsFieldName, out TargetPointer itemsFieldDescAddr, out FieldDefinition itemsFieldDef); 148TargetPointer listItemsPtr = _target.ReadPointer(listObj.Data + _listItemsOffset.Value); 152rts.GetCoreLibFieldDescAndDef(ListNamespace, ListName, ListSizeFieldName, out TargetPointer sizeFieldDescAddr, out FieldDefinition sizeFieldDef); 157if (size > 0 && listItemsPtr != TargetPointer.Null) 162TargetPointer mow = _target.ReadPointer(listItemsArray.DataPointer + (ulong)(i * _target.PointerSize)); 171public bool IsComWrappersRCW(TargetPointer rcw) 173TargetPointer mt = _target.Contracts.Object.GetMethodTableAddress(rcw); 177TargetPointer systemAssembly = loader.GetSystemAssembly(); 182TargetPointer typeHandlePtr = rts.GetTypeByNameAndModule(NativeObjectWrapperName, NativeObjectWrapperNamespace, moduleHandle).Address; 186public TargetPointer GetComWrappersRCWForObject(TargetPointer obj) 191rts.GetCoreLibFieldDescAndDef(ComWrappersNamespace, ComWrappersName, NativeObjectWrapperCWTFieldName, out TargetPointer fieldDescAddr, out _); 194if (_nativeObjectWrapperCWTAddr.Value == TargetPointer.Null) 195return TargetPointer.Null; 197_ = cwt.TryGetValue(_nativeObjectWrapperCWTAddr.Value, obj, out TargetPointer rcw);
Contracts\ConditionalWeakTable_1.cs (15)
35bool IConditionalWeakTable.TryGetValue(TargetPointer conditionalWeakTable, TargetPointer key, out TargetPointer value) 37value = TargetPointer.Null; 43rts.GetCoreLibFieldDescAndDef(CWTNamespace, CWTTypeName, ContainerFieldName, out TargetPointer containerFieldDescAddr, out FieldDefinition containerFieldDef); 47TargetPointer container = _target.ReadPointer(cwtObj.Data + _containerFieldOffset.Value); 52rts.GetCoreLibFieldDescAndDef(CWTNamespace, ContainerTypeName, BucketsFieldName, out TargetPointer bucketsFieldDescAddr, out FieldDefinition bucketsFieldDef); 57rts.GetCoreLibFieldDescAndDef(CWTNamespace, ContainerTypeName, EntriesFieldName, out TargetPointer entriesFieldDescAddr, out FieldDefinition entriesFieldDef); 62TargetPointer bucketsPtr = _target.ReadPointer(containerObj.Data + _bucketsFieldOffset.Value); 63TargetPointer entriesPtr = _target.ReadPointer(containerObj.Data + _entriesFieldOffset.Value); 81rts.GetCoreLibFieldDescAndDef(CWTNamespace, EntryTypeName, HashCodeFieldName, out TargetPointer hashCodeFieldDescAddr, out FieldDefinition hashCodeFieldDef); 86rts.GetCoreLibFieldDescAndDef(CWTNamespace, EntryTypeName, NextFieldName, out TargetPointer nextFieldDescAddr, out FieldDefinition nextFieldDef); 91rts.GetCoreLibFieldDescAndDef(CWTNamespace, EntryTypeName, DepHndFieldName, out TargetPointer depHndFieldDescAddr, out FieldDefinition depHndFieldDef); 97TargetPointer entriesMT = _target.Contracts.Object.GetMethodTableAddress(entriesPtr); 103TargetPointer entryAddress = entriesArray.DataPointer + (ulong)((uint)entriesIndex * entrySize);
Contracts\DacStreams_1.cs (7)
32public string? StringFromEEAddress(TargetPointer address) 49static DacStreams_1_Data IData<DacStreams_1_Data>.Create(Target target, TargetPointer address) => new DacStreams_1_Data(target); 56public readonly Dictionary<TargetPointer, string> EEObjectToString; 58internal static Dictionary<TargetPointer, string> GetEEAddressToStringMap(Target target) 60TargetPointer miniMetaDataBuffAddress = target.ReadPointer(target.ReadGlobalPointer(Constants.Globals.MiniMetaDataBuffAddress)); 64Dictionary<TargetPointer, string> stringToAddress = new(); 109TargetPointer eeObjectPointer = target.ReadPointer(currentAddress);
Contracts\Debugger_1.cs (19)
21private bool TryGetDebuggerAddress(out TargetPointer debuggerAddress) 23debuggerAddress = TargetPointer.Null; 25TargetPointer debuggerPtrPtr = _target.ReadGlobalPointer(Constants.Globals.Debugger); 26if (debuggerPtrPtr == TargetPointer.Null) 30return debuggerAddress != TargetPointer.Null; 36if (!TryGetDebuggerAddress(out TargetPointer debuggerAddress)) 46TargetPointer addr = _target.ReadGlobalPointer(Constants.Globals.CLRJitAttachState); 52TargetPointer addr = _target.ReadGlobalPointer(Constants.Globals.CORDebuggerControlFlags); 59TargetPointer addr = _target.ReadGlobalPointer(Constants.Globals.CORDebuggerControlFlags); 73if (_target.TryReadGlobalPointer(Constants.Globals.MetadataUpdatesApplied, out TargetPointer? addr)) 82if (!TryGetDebuggerAddress(out TargetPointer debuggerAddress)) 91if (!TryGetDebuggerAddress(out TargetPointer debuggerAddress)) 98TargetPointer IDebugger.GetDebuggerControlBlockAddress() 100if (!TryGetDebuggerAddress(out TargetPointer debuggerAddress)) 101return TargetPointer.Null; 104TargetPointer rcThread = debugger.RCThread; 105if (rcThread == TargetPointer.Null) 106return TargetPointer.Null; 114if (!TryGetDebuggerAddress(out TargetPointer debuggerAddress))
Contracts\DebugInfo\DebugInfo_1.cs (6)
32return _eman.GetDebugInfo(cbh, out _) != TargetPointer.Null; 40TargetPointer debugInfo = _eman.GetDebugInfo(cbh, out bool hasFlagByte); 42TargetPointer nativeCodeStart = _eman.GetStartAddress(cbh); 45if (debugInfo == TargetPointer.Null) 51private IEnumerable<OffsetMapping> RestoreBoundaries(TargetPointer debugInfo, bool hasFlagByte, bool preferUninstrumented) 93TargetPointer addrBounds = debugInfo + (uint)nibbleReader.GetNextByteOffset();
Contracts\DebugInfo\DebugInfo_2.cs (16)
16public TargetPointer BoundsStart; 18public TargetPointer VarsStart; 20public TargetPointer UninstrumentedBoundsStart; 22public TargetPointer PatchpointInfoStart; 24public TargetPointer RichDebugInfoStart; 26public TargetPointer AsyncInfoStart; 28public TargetPointer DebugInfoEnd; 39return _eman.GetDebugInfo(cbh, out _) != TargetPointer.Null; 47TargetPointer debugInfo = _eman.GetDebugInfo(cbh, out bool _); 49TargetPointer nativeCodeStart = _eman.GetStartAddress(cbh); 52if (debugInfo == TargetPointer.Null) 58private DebugInfoChunks DecodeChunks(TargetPointer debugInfo) 97private IEnumerable<OffsetMapping> RestoreBoundaries(TargetPointer debugInfo, bool preferUninstrumented) 101TargetPointer addrBounds = chunks.BoundsStart; 124TargetPointer debugInfo = _eman.GetDebugInfo(cbh, out bool _); 138if (debugInfo == TargetPointer.Null)
Contracts\EcmaMetadata_1.cs (2)
27if (!loader.TryGetLoadedImageContents(handle, out TargetPointer baseAddress, out uint size, out uint imageFlags)) 308if (module.DynamicMetadata != TargetPointer.Null)
Contracts\Exception_1.cs (5)
17TargetPointer IException.GetNestedExceptionInfo(TargetPointer exceptionInfoAddr, out TargetPointer nextNestedExceptionInfo, out TargetPointer thrownObjectHandle) 31ExceptionData IException.GetExceptionData(TargetPointer exceptionAddr)
Contracts\ExecutionManager\ExecutionManager_1.cs (12)
15TargetPointer addr = target.ReadGlobalPointer(Constants.Globals.ExecutionManagerCodeRangeMapAddress); 21public TargetPointer GetMethodDesc(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetMethodDesc(codeInfoHandle); 22public TargetPointer GetStartAddress(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetStartAddress(codeInfoHandle); 23public TargetPointer GetFuncletStartAddress(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetFuncletStartAddress(codeInfoHandle); 24public void GetMethodRegionInfo(CodeBlockHandle codeInfoHandle, out uint hotSize, out TargetPointer coldStart, out uint coldSize) => _executionManagerCore.GetMethodRegionInfo(codeInfoHandle, out hotSize, out coldStart, out coldSize); 25public TargetPointer NonVirtualEntry2MethodDesc(TargetCodePointer entrypoint) => _executionManagerCore.NonVirtualEntry2MethodDesc(entrypoint); 28public TargetPointer GetUnwindInfo(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetUnwindInfo(codeInfoHandle); 29public TargetPointer GetUnwindInfoBaseAddress(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetUnwindInfoBaseAddress(codeInfoHandle); 30public TargetPointer GetDebugInfo(CodeBlockHandle codeInfoHandle, out bool hasFlagByte) => _executionManagerCore.GetDebugInfo(codeInfoHandle, out hasFlagByte); 31public 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); 21public TargetPointer GetMethodDesc(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetMethodDesc(codeInfoHandle); 22public TargetPointer GetStartAddress(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetStartAddress(codeInfoHandle); 23public TargetPointer GetFuncletStartAddress(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetFuncletStartAddress(codeInfoHandle); 24public void GetMethodRegionInfo(CodeBlockHandle codeInfoHandle, out uint hotSize, out TargetPointer coldStart, out uint coldSize) => _executionManagerCore.GetMethodRegionInfo(codeInfoHandle, out hotSize, out coldStart, out coldSize); 25public TargetPointer NonVirtualEntry2MethodDesc(TargetCodePointer entrypoint) => _executionManagerCore.NonVirtualEntry2MethodDesc(entrypoint); 28public TargetPointer GetUnwindInfo(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetUnwindInfo(codeInfoHandle); 29public TargetPointer GetUnwindInfoBaseAddress(CodeBlockHandle codeInfoHandle) => _executionManagerCore.GetUnwindInfoBaseAddress(codeInfoHandle); 30public TargetPointer GetDebugInfo(CodeBlockHandle codeInfoHandle, out bool hasFlagByte) => _executionManagerCore.GetDebugInfo(codeInfoHandle, out hasFlagByte); 31public 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 (67)
19private readonly Dictionary<TargetPointer, CodeBlock> _codeInfos = new(); 45public TargetPointer StartAddress { get; } 46public TargetPointer MethodDescAddress { get; } 47public TargetPointer JitManagerAddress { get; } 49public CodeBlock(TargetPointer startAddress, TargetPointer methodDesc, TargetNUInt relativeOffset, TargetPointer jitManagerAddress) 57public bool Valid => JitManagerAddress != TargetPointer.Null; 114out TargetPointer coldStart, 116public abstract TargetPointer GetUnwindInfo(RangeSection rangeSection, TargetCodePointer jittedCodeAddress); 117public abstract TargetPointer GetDebugInfo(RangeSection rangeSection, TargetCodePointer jittedCodeAddress, out bool hasFlagByte); 118public abstract void GetGCInfo(RangeSection rangeSection, TargetCodePointer jittedCodeAddress, out TargetPointer gcInfo, out uint gcVersion); 119public abstract void GetExceptionClauses(RangeSection rangeSection, CodeBlockHandle codeInfoHandle, out TargetPointer startAddr, out TargetPointer endAddr); 141internal bool HasR2RModule => Data!.R2RModule != TargetPointer.Null; 143internal static bool IsStubCodeBlock(Target target, TargetPointer codeHeaderIndirect) 151TargetPointer rangeSectionFragmentPtr = rangeSectionLookup.FindFragment(target, topRangeSectionMap, jittedCodeAddress); 154while (rangeSectionFragmentPtr != TargetPointer.Null) 163if (rangeSectionFragmentPtr == TargetPointer.Null) 169if (rangeSection.NextForDelete != TargetPointer.Null) 183else if (rangeSection.Data!.R2RModule != TargetPointer.Null) 216TargetPointer key = ip.AsTargetPointer; // FIXME: thumb bit. It's harmless (we potentialy have 2 cache entries per IP), but we should fix it 230TargetPointer IExecutionManager.GetMethodDesc(CodeBlockHandle codeInfoHandle) 238TargetPointer IExecutionManager.GetStartAddress(CodeBlockHandle codeInfoHandle) 246TargetPointer IExecutionManager.GetFuncletStartAddress(CodeBlockHandle codeInfoHandle) 253TargetPointer runtimeFunctionPtr = jitManager?.GetUnwindInfo(range, codeInfoHandle.Address.Value) ?? TargetPointer.Null; 255if (runtimeFunctionPtr == TargetPointer.Null) 266void IExecutionManager.GetMethodRegionInfo(CodeBlockHandle codeInfoHandle, out uint hotSize, out TargetPointer coldStart, out uint coldSize) 269coldStart = TargetPointer.Null; 281TargetPointer IExecutionManager.NonVirtualEntry2MethodDesc(TargetCodePointer entrypoint) 290return TargetPointer.Null; 305return TargetPointer.Null; 316return TargetPointer.Null; 322TargetPointer startAddress = ((IExecutionManager)this).GetStartAddress(codeInfoHandle); 339TargetPointer funcletStartAddress = eman.GetFuncletStartAddress(codeInfoHandle); 352TargetPointer IExecutionManager.GetUnwindInfo(CodeBlockHandle codeInfoHandle) 356return TargetPointer.Null; 360return jitManager?.GetUnwindInfo(range, codeInfoHandle.Address.Value) ?? TargetPointer.Null; 363TargetPointer IExecutionManager.GetUnwindInfoBaseAddress(CodeBlockHandle codeInfoHandle) 372TargetPointer IExecutionManager.GetDebugInfo(CodeBlockHandle codeInfoHandle, out bool hasFlagByte) 377return TargetPointer.Null; 380return jitManager?.GetDebugInfo(range, codeInfoHandle.Address.Value, out hasFlagByte) ?? TargetPointer.Null; 383void IExecutionManager.GetGCInfo(CodeBlockHandle codeInfoHandle, out TargetPointer gcInfo, out uint gcVersion) 385gcInfo = TargetPointer.Null; 405TargetPointer IExecutionManager.FindReadyToRunModule(TargetPointer address) 413return TargetPointer.Null; 420TargetPointer eeJitManagerPtr = _target.ReadGlobalPointer(Constants.Globals.EEJitManagerAddress); 421TargetPointer eeJitManagerAddr = _target.ReadPointer(eeJitManagerPtr); 433private ICodeHeapInfo GetCodeHeapInfo(TargetPointer codeHeapAddress) 449TargetPointer heapListAddress = ((IExecutionManager)this).GetEEJitManagerInfo().HeapListAddress; 450TargetPointer nodeAddr = heapListAddress; 451while (nodeAddr != TargetPointer.Null) 480private bool IsObjectType(TargetPointer moduleAddr, uint classToken) 486TargetPointer resolvedMethodTable = (EcmaMetadataUtils.TokenType)(classToken & EcmaMetadataUtils.TokenTypeMask) switch 490_ => TargetPointer.Null, 493if (resolvedMethodTable == TargetPointer.Null) 496TargetPointer objectMethodTable = _target.ReadPointer( 511jitManager.GetExceptionClauses(range, codeInfoHandle, out TargetPointer startAddr, out TargetPointer endAddr); 515TargetPointer methodDescPtr = ((IExecutionManager)this).GetMethodDesc(codeInfoHandle); 518TargetPointer mtPtr = rts.GetMethodTable(mdHandle); 520TargetPointer handleModuleAddr = rts.GetModule(th); 523for (TargetPointer addr = startAddr; addr < endAddr; addr += clauseSize) 533TargetPointer? moduleAddr = null; 541TargetPointer 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; 201Debug.Assert(rangeSection.Data.R2RModule != TargetPointer.Null); 204Debug.Assert(r2rModule.ReadyToRunInfo != TargetPointer.Null); 212out TargetPointer imageBase, 215imageBase = TargetPointer.Null; 226TargetPointer addr = CodePointerUtils.AddressFromCodePointer(jittedCodeAddress, Target); 228TargetPointer relativeAddr = addr - imageBase; 241private uint AdjustRuntimeFunctionToMethodStart(Data.ReadyToRunInfo r2rInfo, TargetPointer imageBase, uint index, out TargetPointer methodDesc) 244while (methodDesc == TargetPointer.Null) 253Debug.Assert(methodDesc != TargetPointer.Null); 259if (r2rInfo.DelayLoadMethodCallThunks == TargetPointer.Null) 268private TargetPointer GetMethodDescForRuntimeFunction(Data.ReadyToRunInfo r2rInfo, TargetPointer imageBase, uint runtimeFunctionIndex) 274TargetPointer entryPoint = CodePointerUtils.AddressFromCodePointer(startAddress, Target); 276TargetPointer methodDesc = _hashMap.GetValue(r2rInfo.EntryPointToMethodDescMap, entryPoint); 278return TargetPointer.Null; 284private void GetExceptionClauses(TargetPointer exceptionLookupTableAddr, uint count, TargetPointer rangeStart, uint methodRVA, out TargetPointer startExInfoRVA, out TargetPointer endExInfoRVA) 286startExInfoRVA = TargetPointer.Null; 287endExInfoRVA = TargetPointer.Null; 310public override void GetExceptionClauses(RangeSection range, CodeBlockHandle cbh, out TargetPointer startAddr, out TargetPointer endAddr) 316startAddr = TargetPointer.Null; 317endAddr = TargetPointer.Null; 324GetMethodRVAAndRangeStart(cbh, out TargetPointer methodStart, out TargetPointer rangeStart); 341private void GetMethodRVAAndRangeStart(CodeBlockHandle cbh, out TargetPointer methodStart, out TargetPointer rangeStart)
Contracts\ExecutionManager\Helpers\HashMapLookup.cs (9)
29public TargetPointer GetValue(TargetPointer mapAddress, TargetPointer key) 39TargetPointer buckets = map.Buckets + bucketSize; 61internal static void HashFunction(TargetPointer key, uint size, out uint seed, out uint increment) 86public TargetPointer GetValue(TargetPointer mapAddress, TargetPointer key) 91TargetPointer value = _lookup.GetValue(mapAddress, key);
Contracts\ExecutionManager\Helpers\HotColdLookup.cs (5)
22TargetPointer hotColdMap, 43public uint GetHotFunctionIndex(uint numHotColdMap, TargetPointer hotColdMap, uint runtimeFunctionIndex) 57public bool TryGetColdFunctionIndex(uint numHotColdMap, TargetPointer hotColdMap, uint runtimeFunctionIndex, out uint functionIndex) 70private bool IsColdCode(uint numHotColdMap, TargetPointer hotColdMap, uint runtimeFunctionIndex) 86TargetPointer hotColdMap,
Contracts\ExecutionManager\Helpers\INibbleMap.cs (1)
14public TargetPointer FindMethodCode(Data.CodeHeapListNode heapListNode, TargetCodePointer jittedCodeAddress);
Contracts\ExecutionManager\Helpers\NibbleMapConstantLookup.cs (9)
46internal static TargetPointer DecodePointer(TargetPointer baseAddress, MapUnit mapUnit) 59internal TargetPointer FindMethodCode(TargetPointer mapBase, TargetPointer mapStart, TargetCodePointer currentPC) 102return TargetPointer.Null; 116return TargetPointer.Null; 140public TargetPointer FindMethodCode(Data.CodeHeapListNode heapListNode, TargetCodePointer jittedCodeAddress) 144return TargetPointer.Null;
Contracts\ExecutionManager\Helpers\NibbleMapHelpers.cs (7)
122internal MapUnit ReadMapUnit(Target target, TargetPointer mapStart) 125TargetPointer mapUnitAdderss = mapStart + ContainingMapUnitByteOffset; 133internal static TargetPointer RoundTripAddress(TargetPointer mapBase, TargetPointer currentPC) 142internal static TargetPointer GetAbsoluteAddress(TargetPointer baseAddress, MapKey mapIdx, Nibble nibble)
Contracts\ExecutionManager\Helpers\NibbleMapLinearLookup.cs (8)
67internal TargetPointer FindMethodCode(TargetPointer mapBase, TargetPointer mapStart, TargetCodePointer currentPC) 104return TargetPointer.Null; 122return TargetPointer.Null; 138return TargetPointer.Null; 149public TargetPointer FindMethodCode(Data.CodeHeapListNode heapListNode, TargetCodePointer jittedCodeAddress) 153return TargetPointer.Null;
Contracts\ExecutionManager\Helpers\RangeSectionMap.cs (12)
55public readonly TargetPointer RawValue; 57public TargetPointer Address => RawValue & ~1ul; 59public bool IsNull => Address == TargetPointer.Null; 61public InteriorMapValue(TargetPointer value) 75public TargetPointer LevelMap { get; } 79public Cursor(TargetPointer levelMap, int level, int index) 91public TargetPointer GetSlot(Target target) => LevelMap + (ulong)(Index * target.PointerSize); 100internal Cursor GetTopCursor(TargetPointer topMap, TargetCodePointer jittedCodeAddress) 110TargetPointer nextMap = cursor.LoadValue(target).Address; 152public TargetPointer /*PTR_RangeSectionFragment*/ FindFragment(Target target, Data.RangeSectionMap topRangeSectionMap, TargetCodePointer jittedCodeAddress) 154return FindFragmentInternal(target, topRangeSectionMap.TopLevelData, jittedCodeAddress)?.LoadValue(target).Address ?? TargetPointer.Null; 157internal Cursor? FindFragmentInternal(Target target, TargetPointer topMap, TargetCodePointer jittedCodeAddress)
Contracts\ExecutionManager\Helpers\RuntimeFunctionLookup.cs (7)
22public uint GetFunctionLength(TargetPointer imageBase, Data.RuntimeFunction function) 39public bool TryGetRuntimeFunctionIndexForAddress(TargetPointer runtimeFunctions, uint numRuntimeFunctions, TargetPointer relativeAddress, out uint index) 70public TargetPointer GetRuntimeFunctionAddress(TargetPointer runtimeFunctions, uint index) 75public Data.RuntimeFunction GetRuntimeFunction(TargetPointer runtimeFunctions, uint index) 77TargetPointer addr = GetRuntimeFunctionAddress(runtimeFunctions, index);
Contracts\ExecutionManager\Helpers\UnwindDataSize.cs (3)
12public static uint GetUnwindDataSize(Target target, TargetPointer unwindInfo, RuntimeInfoArchitecture arch) 33TargetPointer xdata = unwindInfo; 69TargetPointer xdata = unwindInfo;
Contracts\GC\GC_1.cs (107)
43private readonly TargetPointer _debugDestroyedHandleValue; 71TargetPointer pNumHeaps = _target.ReadGlobalPointer(Constants.Globals.NumHeaps); 80TargetPointer pInvalidCount = _target.ReadGlobalPointer(Constants.Globals.StructureInvalidCount); 87TargetPointer pMaxGeneration = _target.ReadGlobalPointer(Constants.Globals.MaxGeneration); 91void IGC.GetGCBounds(out TargetPointer minAddr, out TargetPointer maxAddr) 113GCHeapSegmentData IGC.GetHeapSegmentData(TargetPointer segmentAddress) 126Heap = heapSegment.Heap ?? TargetPointer.Null, 132if (!_target.TryReadGlobalPointer(Constants.Globals.GCGlobalMechanisms, out TargetPointer? globalMechanismsArrayStart)) 138IEnumerable<TargetPointer> IGC.GetGCHeaps() 144TargetPointer heapTable = _target.ReadPointer(_target.ReadGlobalPointer(Constants.Globals.Heaps)); 159GCHeapData IGC.GetHeapData(TargetPointer heapAddress) 174MarkArray = heap.MarkArray ?? TargetPointer.Null, 175NextSweepObject = heap.NextSweepObj ?? TargetPointer.Null, 176BackGroundSavedMinAddress = heap.BackgroundMinSavedAddr ?? TargetPointer.Null, 177BackGroundSavedMaxAddress = heap.BackgroundMaxSavedAddr ?? TargetPointer.Null, 183SavedSweepEphemeralSegment = heap.SavedSweepEphemeralSeg ?? TargetPointer.Null, 184SavedSweepEphemeralStart = heap.SavedSweepEphemeralStart ?? TargetPointer.Null, 209private List<GCGenerationData> GetGenerationData(TargetPointer generationTableArrayStart) 216TargetPointer generationAddress = generationTableArrayStart + i * generationSize; 230private List<TargetPointer> GetFillPointers(Data.CFinalize cFinalize) 233TargetPointer fillPointersArrayStart = cFinalize.FillPointers; 234List<TargetPointer> fillPointers = []; 240private List<TargetNUInt> ReadGCHeapDataArray(TargetPointer arrayStart, uint length) 253TargetPointer oomHistory = _target.ReadGlobalPointer(Constants.Globals.GCHeapOomData); 258GCOomData IGC.GetOomData(TargetPointer heapAddress) 281void IGC.GetGlobalAllocationContext(out TargetPointer allocPtr, out TargetPointer allocLimit) 283TargetPointer globalAllocContextAddress = _target.ReadGlobalPointer(Constants.Globals.GlobalAllocContext); 323TargetPointer handleTableMap = _target.ReadGlobalPointer(Constants.Globals.HandleTableMap); 331while (handleTableMap != TargetPointer.Null) 334foreach (TargetPointer bucketPtr in handleTableData.BucketsPtr) 336if (bucketPtr == TargetPointer.Null) 342TargetPointer handleTablePtr = _target.ReadPointer(bucket.Table + (ulong)(j * _target.PointerSize)); 343if (handleTablePtr == TargetPointer.Null) 347if (handleTable.SegmentList == TargetPointer.Null) 351TargetPointer segmentPtr = handleTable.SegmentList; 357} while (segmentPtr != TargetPointer.Null); 375TargetPointer ephemeralSegment = heapData.EphemeralHeapSegment; 376TargetPointer allocAllocated = heapData.AllocAllocated; 382foreach ((Data.HeapSegment seg, TargetPointer _) in WalkSegmentList(gens[2].StartSegment)) 389foreach ((Data.HeapSegment seg, TargetPointer _) in WalkSegmentList(gens[1].StartSegment)) 393foreach ((Data.HeapSegment seg, TargetPointer segAddr) in WalkSegmentList(gens[0].StartSegment)) 396TargetPointer end = segAddr == ephemeralSegment ? allocAllocated : seg.Allocated; 403foreach ((Data.HeapSegment seg, TargetPointer segAddr) in WalkSegmentList(gens[2].StartSegment)) 413TargetPointer end = segAddr == ephemeralSegment ? allocAllocated : seg.Allocated; 419foreach ((Data.HeapSegment seg, TargetPointer _) in WalkSegmentList(gens[3].StartSegment)) 425foreach ((Data.HeapSegment seg, TargetPointer _) in WalkSegmentList(gens[4].StartSegment)) 431private IEnumerable<(Data.HeapSegment Segment, TargetPointer Address)> WalkSegmentList(TargetPointer startSegment) 434TargetPointer current = startSegment; 435while (current != TargetPointer.Null) 533TargetPointer handleAddress = tableSegment.RgValue + offset * (uint)_target.PointerSize; 534TargetPointer handle = _target.ReadPointer(handleAddress); 535if (handle == TargetPointer.Null || handle == _debugDestroyedHandleValue) 545private HandleData CreateHandleData(TargetPointer handleAddress, byte uBlock, uint intraBlockIndex, Data.TableSegment tableSegment, HandleType type) 572TargetPointer handle = _target.ReadPointer(handleAddress); 573obj.GetBuiltInComData(handle, out _, out TargetPointer ccw, out _); 574if (ccw != TargetPointer.Null) 598TargetPointer handleTableMap = _target.ReadGlobalPointer(Constants.Globals.HandleTableMap); 599while (handleTableMap != TargetPointer.Null && maxRegions > 0) 602foreach (TargetPointer bucketPtr in map.BucketsPtr) 604if (bucketPtr == TargetPointer.Null) 610TargetPointer handleTablePtr = _target.ReadPointer(bucket.Table + (ulong)(j * _target.PointerSize)); 611if (handleTablePtr == TargetPointer.Null) 615if (handleTable.SegmentList == TargetPointer.Null) 618TargetPointer segmentPtr = handleTable.SegmentList; 619TargetPointer firstSegment = segmentPtr; 631} while (segmentPtr != TargetPointer.Null && segmentPtr != firstSegment && --segmentIterations > 0); 645TargetPointer bookkeepingStartGlobal = _target.ReadGlobalPointer(Constants.Globals.BookkeepingStart); 646if (bookkeepingStartGlobal == TargetPointer.Null) 649TargetPointer bookkeepingStart = _target.ReadPointer(bookkeepingStartGlobal); 650if (bookkeepingStart == TargetPointer.Null) 665TargetPointer next = cardTableInfo.NextCardTable; 666TargetPointer firstNext = next; 672while (next != TargetPointer.Null && next > cardTableInfoSize && maxRegions > 0) 674TargetPointer ctAddr = next - cardTableInfoSize; 712if (_target.TryReadGlobalPointer(Constants.Globals.GlobalFreeHugeRegions, out TargetPointer? globalFreeHugePtr)) 718if (_target.TryReadGlobalPointer(Constants.Globals.GlobalRegionsToDecommit, out TargetPointer? globalDecommitPtr)) 722TargetPointer listAddr = globalDecommitPtr.Value + (ulong)(i * regionFreeListSize); 730TargetPointer heapTable = _target.ReadPointer(_target.ReadGlobalPointer(Constants.Globals.Heaps)); 733TargetPointer heapAddress = _target.ReadPointer(heapTable + (i * (uint)_target.PointerSize)); 734if (heapAddress == TargetPointer.Null) 739if (heap.FreeRegions is TargetPointer freeRegionsBase && freeRegionsBase != TargetPointer.Null) 743TargetPointer listAddr = freeRegionsBase + (ulong)(j * regionFreeListSize); 748if (heap.FreeableSohSegment is TargetPointer freeableSoh && freeableSoh != TargetPointer.Null) 751if (heap.FreeableUohSegment is TargetPointer freeableUoh && freeableUoh != TargetPointer.Null) 758if (_target.TryReadGlobalPointer(Constants.Globals.GCHeapFreeRegions, out TargetPointer? freeRegionsPtr)) 762TargetPointer listAddr = freeRegionsPtr.Value + (ulong)(i * regionFreeListSize); 767if (_target.TryReadGlobalPointer(Constants.Globals.GCHeapFreeableSohSegment, out TargetPointer? freeableSohPtr)) 769TargetPointer segPtr = _target.ReadPointer(freeableSohPtr.Value); 770if (segPtr != TargetPointer.Null) 774if (_target.TryReadGlobalPointer(Constants.Globals.GCHeapFreeableUohSegment, out TargetPointer? freeableUohPtr)) 776TargetPointer segPtr = _target.ReadPointer(freeableUohPtr.Value); 777if (segPtr != TargetPointer.Null) 785TargetNUInt IGC.GetHandleExtraInfo(TargetPointer handle) 790TargetPointer segmentBase = handle & segmentMask; 809TargetPointer extraInfoAddress = tableSegment.RgValue + offset * (uint)_target.PointerSize; 814private void AddFreeList(TargetPointer freeListAddr, FreeRegionKind kind, List<GCMemoryRegionData> regions, int heap = 0) 817if (freeList.HeadFreeRegion != TargetPointer.Null) 821private void AddSegmentList(TargetPointer start, FreeRegionKind kind, List<GCMemoryRegionData> regions, int heap = 0) 824TargetPointer curr = start; 825while (curr != TargetPointer.Null) 828if (segment.Mem != TargetPointer.Null)
Contracts\GC\GCHeapWKS.cs (28)
10if (target.TryReadGlobalPointer(Constants.Globals.GCHeapMarkArray, out TargetPointer? markArrayPtr)) 12if (target.TryReadGlobalPointer(Constants.Globals.GCHeapNextSweepObj, out TargetPointer? nextSweepObjPtr)) 14if (target.TryReadGlobalPointer(Constants.Globals.GCHeapBackgroundMinSavedAddr, out TargetPointer? bgMinPtr)) 16if (target.TryReadGlobalPointer(Constants.Globals.GCHeapBackgroundMaxSavedAddr, out TargetPointer? bgMaxPtr)) 24if (target.TryReadGlobalPointer(Constants.Globals.GCHeapSavedSweepEphemeralSeg, out TargetPointer? savedSweepEphemeralSegPtr)) 26if (target.TryReadGlobalPointer(Constants.Globals.GCHeapSavedSweepEphemeralStart, out TargetPointer? savedSweepEphemeralStartPtr)) 40if (target.TryReadGlobalPointer(Constants.Globals.GCHeapFreeableSohSegment, out TargetPointer? freeableSohSegPtr)) 42if (target.TryReadGlobalPointer(Constants.Globals.GCHeapFreeableUohSegment, out TargetPointer? freeableUohSegPtr)) 44if (target.TryReadGlobalPointer(Constants.Globals.GCHeapFreeRegions, out TargetPointer? freeRegionsPtr)) 48public TargetPointer? MarkArray { get; } 49public TargetPointer? NextSweepObj { get; } 50public TargetPointer? BackgroundMinSavedAddr { get; } 51public TargetPointer? BackgroundMaxSavedAddr { get; } 52public TargetPointer AllocAllocated { get; } 53public TargetPointer EphemeralHeapSegment { get; } 54public TargetPointer CardTable { get; } 55public TargetPointer FinalizeQueue { get; } 56public TargetPointer GenerationTable { get; } 58public TargetPointer? SavedSweepEphemeralSeg { get; } 59public TargetPointer? SavedSweepEphemeralStart { get; } 63public TargetPointer InternalRootArray { get; } 67public TargetPointer InterestingData { get; } 68public TargetPointer CompactReasons { get; } 69public TargetPointer ExpandMechanisms { get; } 70public TargetPointer InterestingMechanismBits { get; } 72public TargetPointer? FreeableSohSegment { get; } 73public TargetPointer? FreeableUohSegment { get; } 74public TargetPointer? FreeRegions { get; }
Contracts\GC\IGCHeap.cs (19)
8TargetPointer? MarkArray { get; } 9TargetPointer? NextSweepObj { get; } 10TargetPointer? BackgroundMinSavedAddr { get; } 11TargetPointer? BackgroundMaxSavedAddr { get; } 12TargetPointer AllocAllocated { get; } 13TargetPointer EphemeralHeapSegment { get; } 14TargetPointer CardTable { get; } 15TargetPointer FinalizeQueue { get; } 16TargetPointer GenerationTable { get; } 18TargetPointer? SavedSweepEphemeralSeg { get; } 19TargetPointer? SavedSweepEphemeralStart { get; } 23TargetPointer InternalRootArray { get; } 27TargetPointer InterestingData { get; } 28TargetPointer CompactReasons { get; } 29TargetPointer ExpandMechanisms { get; } 30TargetPointer InterestingMechanismBits { get; } 32TargetPointer? FreeableSohSegment { get; } 33TargetPointer? FreeableUohSegment { get; } 34TargetPointer? FreeRegions { get; }
Contracts\GCInfo\GCInfo_1.cs (2)
19IGCInfoHandle IGCInfo.DecodePlatformSpecificGCInfo(TargetPointer gcInfoAddress, uint gcVersion) 22IGCInfoHandle IGCInfo.DecodeInterpreterGCInfo(TargetPointer gcInfoAddress, uint gcVersion)
Contracts\GCInfo\GCInfoDecoder.cs (2)
101private readonly TargetPointer _pGcInfo; 141public GcInfoDecoder(Target target, TargetPointer gcInfoAddress, uint gcVersion)
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\Notifications_1.cs (3)
30TargetPointer pGcNotificationFlags = _target.ReadGlobalPointer(Constants.Globals.GcNotificationFlags); 40bool INotifications.TryParseNotification(ReadOnlySpan<TargetPointer> exceptionInformation, [NotNullWhen(true)] out NotificationData? notification) 61private static GcNotificationData ParseGcNotification(ReadOnlySpan<TargetPointer> exceptionInformation)
Contracts\Object_1.cs (28)
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;
Contracts\ObjectiveCMarshal_1.cs (8)
15public TargetPointer GetTaggedMemory(TargetPointer address, out TargetNUInt size) 19TargetPointer syncBlock = _target.Contracts.Object.GetSyncBlockAddress(address); 20if (syncBlock == TargetPointer.Null) 21return TargetPointer.Null; 24TargetPointer taggedMemory = sb.InteropInfo?.TaggedMemory ?? TargetPointer.Null; 25if (taggedMemory != TargetPointer.Null)
Contracts\PlatformMetadata_1.cs (2)
16TargetPointer cdacMetadataAddress = target.ReadGlobalPointer(Constants.Globals.PlatformMetadata); 20TargetPointer IPlatformMetadata.GetPrecodeMachineDescriptor()
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\ReJIT_1.cs (3)
36TargetPointer profControlBlockAddress = target.ReadGlobalPointer(Constants.Globals.ProfilerControlBlock); 64if (ilCodeVersionHandle.ILCodeVersionNode == TargetPointer.Null) 75if (ilCodeVersionHandle.ILCodeVersionNode == TargetPointer.Null)
Contracts\RuntimeTypeSystem_1.cs (202)
20private readonly TargetPointer _freeObjectMethodTablePointer; 21private readonly TargetPointer _continuationMethodTablePointer; 28private readonly Dictionary<TargetPointer, MethodTable> _methodTables = new(); 29private readonly Dictionary<TargetPointer, MethodDesc> _methodDescs = new(); 46internal TargetPointer ParentMethodTable { get; } 47internal TargetPointer Module { get; } 48internal TargetPointer EEClassOrCanonMT { get; } 49internal TargetPointer PerInstInfo { get; } 50internal TargetPointer AuxiliaryData { get; } 113public TypeKeyByName(string name, string namespaceName, TargetPointer module) 121public TargetPointer Module { get; } 211internal TargetPointer Address { get; init; } 213internal TargetPointer ChunkAddress { get; init; } 215internal MethodDesc(Target target, TargetPointer methodDescPointer, Data.MethodDesc desc, TargetPointer methodDescChunkAddress, Data.MethodDescChunk chunk) 227public TargetPointer MethodTable => _chunk.MethodTable; 306public TargetPointer CodeData => _desc.CodeData; 308public TargetPointer? GCCoverageInfo => _desc.GCCoverageInfo; 320internal TargetPointer GetAddressOfNonVtableSlot() => MethodDescOptionalSlots.GetAddressOfNonVtableSlot(Address, Classification, _desc.Flags, _target); 321internal TargetPointer GetAddressOfNativeCodeSlot() => MethodDescOptionalSlots.GetAddressOfNativeCodeSlot(Address, Classification, _desc.Flags, _target); 322internal TargetPointer GetAddressOfAsyncMethodData() => MethodDescOptionalSlots.GetAddressOfAsyncMethodData(Address, Classification, _desc.Flags, _target); 352public static InstantiatedMethodDesc Create(Target target, TargetPointer address) => new InstantiatedMethodDesc(target, address); 354private readonly TargetPointer _address; 357private InstantiatedMethodDesc(Target target, TargetPointer methodDescPointer) 364TargetPointer perInstInfo = _desc.PerInstInfo; 365if ((perInstInfo == TargetPointer.Null) || (numGenericArgs == 0)) 382internal bool HasPerInstInfo => _desc.PerInstInfo != TargetPointer.Null; 389public static DynamicMethodDesc Create(Target target, TargetPointer address) => new DynamicMethodDesc(target, address); 391private readonly TargetPointer _address; 395private DynamicMethodDesc(Target target, TargetPointer methodDescPointer) 400MethodName = _desc.MethodName != TargetPointer.Null 420public static StoredSigMethodDesc Create(Target target, TargetPointer address) => new StoredSigMethodDesc(target, address); 423private StoredSigMethodDesc(Target target, TargetPointer methodDescPointer) 444internal TargetPointer FreeObjectMethodTablePointer => _freeObjectMethodTablePointer; 445internal TargetPointer ContinuationMethodTablePointer => _continuationMethodTablePointer; 449public TypeHandle GetTypeHandle(TargetPointer typeHandlePointer) 471TargetPointer methodTablePointer = typeHandlePointer; 502public TargetPointer GetModule(TypeHandle typeHandle) 514else if (IsGenericVariable(typeHandle, out TargetPointer genericParamModule, out _)) 521return TargetPointer.Null; 526return TargetPointer.Null; 529public TargetPointer GetCanonicalMethodTable(TypeHandle typeHandle) => !typeHandle.IsMethodTable() ? TargetPointer.Null : GetClassData(typeHandle).MethodTable; 530public TargetPointer GetParentMethodTable(TypeHandle typeHandle) => !typeHandle.IsMethodTable() ? TargetPointer.Null : _methodTables[typeHandle.Address].ParentMethodTable; 536private TargetPointer GetClassPointer(TypeHandle typeHandle) 544TargetPointer canonMTPtr = MethodTableFlags_1.UntagEEClassOrCanonMT(methodTable.EEClassOrCanonMT); 556TargetPointer clsPtr = GetClassPointer(typeHandle); 573&& _continuationMethodTablePointer != TargetPointer.Null 673public TargetPointer GetFieldDescList(TypeHandle typeHandle) => !typeHandle.IsMethodTable() ? TargetPointer.Null : GetClassData(typeHandle).FieldDescList; 675private TargetPointer GetDynamicStaticsInfo(TypeHandle typeHandle) 683TargetPointer dynamicStaticsInfoSize = _target.GetTypeInfo(DataType.DynamicStaticsInfo).Size!.Value; 684TargetPointer dynamicStaticsInfoAddr = methodTable.AuxiliaryData - dynamicStaticsInfoSize; 691TargetPointer threadStaticsInfoSize = _target.GetTypeInfo(DataType.ThreadStaticsInfo).Size!.Value; 692TargetPointer threadStaticsInfoAddr = methodTable.AuxiliaryData - threadStaticsInfoSize; 697public TargetPointer GetGCThreadStaticsBasePointer(TypeHandle typeHandle, TargetPointer threadPtr) 700return TargetPointer.Null; 701TargetPointer tlsIndexPtr = GetThreadStaticsInfo(typeHandle).GCTlsIndex; 706public TargetPointer GetNonGCThreadStaticsBasePointer(TypeHandle typeHandle, TargetPointer threadPtr) 709return TargetPointer.Null; 710TargetPointer tlsIndexPtr = GetThreadStaticsInfo(typeHandle).NonGCTlsIndex; 715public TargetPointer GetGCStaticsBasePointer(TypeHandle typeHandle) 717TargetPointer dynamicStaticsInfoAddr = GetDynamicStaticsInfo(typeHandle); 718if (dynamicStaticsInfoAddr == TargetPointer.Null) 719return TargetPointer.Null; 724public TargetPointer GetNonGCStaticsBasePointer(TypeHandle typeHandle) 726TargetPointer dynamicStaticsInfoAddr = GetDynamicStaticsInfo(typeHandle); 727if (dynamicStaticsInfoAddr == TargetPointer.Null) 728return TargetPointer.Null; 765public static TypeInstantiation Create(Target target, TargetPointer address) => new TypeInstantiation(target, address); 768private TypeInstantiation(Target target, TargetPointer typePointer) 774TargetPointer perInstInfo = methodTable.PerInstInfo; 775TargetPointer genericsDictInfoAddr = perInstInfo - (ulong)target.PointerSize; 780TargetPointer dictionaryPointer = target.ReadPointer(perInstInfo + (ulong)target.PointerSize * (ulong)(genericsDictInfo.NumDicts - 1)); 1013if (typeHandle.Address == TargetPointer.Null) 1028if (typeHandle.Address == TargetPointer.Null) 1029return new TypeHandle(TargetPointer.Null); 1033TargetPointer loaderModule = GetLoaderModule(typeHandle); 1036foreach (TargetPointer ptr in loaderContract.GetAvailableTypeParams(moduleHandle)) 1053return new TypeHandle(TargetPointer.Null); 1058TargetPointer coreLib = _target.ReadGlobalPointer(Constants.Globals.CoreLib); 1060TargetPointer typeHandlePtr = _target.ReadPointer(coreLibData.Classes + (ulong)typeCode * (ulong)_target.PointerSize); 1082TargetPointer appDomainPointer = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 1083TargetPointer appDomain = _target.ReadPointer(appDomainPointer); 1101TargetPointer modulePtr = loader.GetModule(moduleHandle); 1146return new TypeHandle(TargetPointer.Null); 1164return new TypeHandle(TargetPointer.Null); 1169TargetPointer typeDefToMethodTable = loader.GetLookupTables(moduleHandle).TypeDefToMethodTable; 1170TargetPointer typeHandlePtr = loader.GetModuleLookupMapElement(typeDefToMethodTable, (uint)token, out _); 1172if (typeHandlePtr == TargetPointer.Null) 1173return new TypeHandle(TargetPointer.Null); 1179public bool IsGenericVariable(TypeHandle typeHandle, out TargetPointer module, out uint token) 1181module = TargetPointer.Null; 1230public TargetPointer GetLoaderModule(TypeHandle typeHandle) 1239else if (IsGenericVariable(typeHandle, out TargetPointer genericParamModule, out _)) 1258public static FunctionPointerRetAndArgs Create(Target target, TargetPointer address) => new FunctionPointerRetAndArgs(target, address); 1261private FunctionPointerRetAndArgs(Target target, TargetPointer typePointer) 1266TargetPointer retAndArgs = fnPtrTypeDesc.RetAndArgTypes; 1277public MethodDescHandle GetMethodDescHandle(TargetPointer methodDescPointer) 1280private MethodDescHandle GetMethodDescHandle(TargetPointer methodDescPointer, bool validate) 1288TargetPointer methodDescChunkPointer; 1310public TargetPointer GetMethodTable(MethodDescHandle methodDescHandle) => _methodDescs[methodDescHandle.Address].MethodTable; 1409TargetPointer modulePtr = _methodTables[methodDesc.MethodTable].Module; 1428TargetPointer asyncDataAddr = methodDesc.GetAddressOfAsyncMethodData(); 1561public readonly TargetPointer Address; 1562public VtableIndirections(Target target, TargetPointer address) 1568public TargetPointer GetAddressOfSlot(uint slotNum) 1570TargetPointer indirectionPointer = Address + (ulong)(slotNum >> NumPointersPerIndirectionLog2) * (ulong)_target.PointerSize; 1571TargetPointer slotsStart = _target.ReadPointer(indirectionPointer); 1576private VtableIndirections GetVTableIndirections(TargetPointer methodTableAddress) 1582private TargetPointer GetAddressOfSlot(TypeHandle typeHandle, uint slotNum) 1601TargetPointer auxDataPtr = mt.AuxiliaryData; 1603TargetPointer nonVirtualSlotsArray = auxDataPtr + (ulong)auxData.OffsetToNonVirtualSlots; 1628private TargetPointer GetLoaderModule(MethodDesc md) 1635TargetPointer methodDescChunkPointer = md.ChunkAddress; 1636TargetPointer endOfChunk = methodDescChunkPointer + md.SizeOfChunk; 1637TargetPointer ppLoaderModule = endOfChunk - (ulong)_target.PointerSize; 1642TargetPointer mtAddr = GetMethodTable(new MethodDescHandle(md.Address)); 1651TargetPointer loaderModuleAddr = GetLoaderModule(md); 1673TargetPointer IRuntimeTypeSystem.GetMethodDescVersioningState(MethodDescHandle methodDesc) 1676TargetPointer codeDataAddress = md.CodeData; 1677if (codeDataAddress == TargetPointer.Null) 1678return TargetPointer.Null; 1708TargetPointer chunkAddr = eeClass.MethodDescChunk; 1709while (chunkAddr != TargetPointer.Null) 1712TargetPointer methodDescPtr = chunk.FirstMethodDesc; 1728IEnumerable<TargetPointer> IRuntimeTypeSystem.GetIntroducedMethodDescs(TypeHandle typeHandle) 1742TargetPointer IRuntimeTypeSystem.GetMethodDescForSlot(TypeHandle typeHandle, ushort slot) 1746return TargetPointer.Null; 1763return TargetPointer.Null; 1767private TargetPointer GetMethodDescForVtableSlot(TypeHandle typeHandle, ushort slot) 1774TargetPointer cannonMTPTr = GetCanonicalMethodTable(typeHandle); 1779TargetPointer slotPtr = GetAddressOfSlot(canonMT, slot); 1784TargetPointer lookupMTPtr = cannonMTPTr; 1785while (lookupMTPtr != TargetPointer.Null) 1798if (lookupMTPtr != TargetPointer.Null) 1801return TargetPointer.Null; 1807private readonly TargetPointer GetMethodDescForEntrypoint(TargetCodePointer pCode) 1813TargetPointer methodDescPtr = executionManager.GetMethodDesc(cbh); 1819TargetPointer methodDescPtr = _target.Contracts.PrecodeStubs.GetMethodDescFromStubAddress(pCode); 1830TargetPointer slotPtr = GetAddressOfSlot(typeHandle, slot); 1837TargetPointer IRuntimeTypeSystem.GetAddressOfNativeCodeSlot(MethodDescHandle methodDesc) 1852TargetPointer ppCode = md.GetAddressOfNativeCodeSlot(); 1881TargetPointer pSlot = md.GetAddressOfNonVtableSlot(); 1885TargetPointer methodTablePointer = md.MethodTable; 1888TargetPointer addrOfSlot = GetAddressOfSlot(typeHandle, md.Slot); 1892TargetPointer IRuntimeTypeSystem.GetGCStressCodeCopy(MethodDescHandle methodDesc) 1895if (md.GCCoverageInfo is TargetPointer gcCoverageInfoAddr && gcCoverageInfoAddr != TargetPointer.Null) 1900return TargetPointer.Null; 1920TargetPointer codeDataAddress = methodDesc.CodeData; 1921if (codeDataAddress == TargetPointer.Null) 1960public bool SlotIsVtableSlot(TargetPointer methodTablePointer, uint slot) 1965public TargetPointer GetAddressOfMethodTableSlot(TargetPointer methodTablePointer, uint slot) 1972private TargetPointer GetAddressOfMethodTableSlot(TargetPointer methodTablePointer, uint slot) 1976TargetPointer addrOfSlot = GetAddressOfSlot(typeHandle, slot); 1980private bool SlotIsVtableSlot(TargetPointer methodTablePointer, uint slot) 1985TargetPointer IRuntimeTypeSystem.GetMTOfEnclosingClass(TargetPointer fieldDescPointer) 1991uint IRuntimeTypeSystem.GetFieldDescMemberDef(TargetPointer fieldDescPointer) 1997bool IRuntimeTypeSystem.IsFieldDescThreadStatic(TargetPointer fieldDescPointer) 2003private bool IsFieldDescRVA(TargetPointer fieldDescPointer) 2009bool IRuntimeTypeSystem.IsFieldDescStatic(TargetPointer fieldDescPointer) 2015CorElementType IRuntimeTypeSystem.GetFieldDescType(TargetPointer fieldDescPointer) 2022uint IRuntimeTypeSystem.GetFieldDescOffset(TargetPointer fieldDescPointer, FieldDefinition fieldDef) 2032TargetPointer IRuntimeTypeSystem.GetFieldDescByName(TypeHandle typeHandle, string fieldName) 2035return TargetPointer.Null; 2037TargetPointer modulePtr = GetModule(typeHandle); 2038if (modulePtr == TargetPointer.Null) 2039return TargetPointer.Null; 2043return TargetPointer.Null; 2047return TargetPointer.Null; 2055return TargetPointer.Null; 2057TargetPointer fieldDefToDescMap = loader.GetLookupTables(moduleHandle).FieldDefToDesc; 2064TargetPointer fieldDescPtr = loader.GetModuleLookupMapElement(fieldDefToDescMap, fieldDefToken, out _); 2069return TargetPointer.Null; 2072private TargetPointer GetStaticAddressHandle(TargetPointer @base, uint offset, bool isRVA, TargetPointer fieldDescPointer, ModuleHandle moduleHandle) 2081TargetPointer peAssembly = loader.GetPEAssembly(moduleHandle); 2087private TargetPointer GetFieldDescStaticOrThreadStaticAddress(TargetPointer fieldDescPointer, TargetPointer? thread = null, bool unboxValueTypes = true) 2089TargetPointer enclosingMT = ((IRuntimeTypeSystem)this).GetMTOfEnclosingClass(fieldDescPointer); 2091TargetPointer modulePtr = GetModule(ctx); 2095TargetPointer @base; 2119if (@base == TargetPointer.Null) 2120return TargetPointer.Null; 2129TargetPointer handleAddr = GetStaticAddressHandle(@base, offset, isRVA, fieldDescPointer, moduleHandle); 2132TargetPointer objRef = _target.ReadPointer(handleAddr); 2139TargetPointer IRuntimeTypeSystem.GetFieldDescStaticAddress(TargetPointer fieldDescPointer, bool unboxValueTypes) => GetFieldDescStaticOrThreadStaticAddress(fieldDescPointer, null, unboxValueTypes); 2141TargetPointer IRuntimeTypeSystem.GetFieldDescThreadStaticAddress(TargetPointer fieldDescPointer, TargetPointer thread, bool unboxValueTypes) => GetFieldDescStaticOrThreadStaticAddress(fieldDescPointer, thread, unboxValueTypes); 2143void IRuntimeTypeSystem.GetCoreLibFieldDescAndDef(string @namespace, string typeName, string fieldName, out TargetPointer fieldDescAddr, out FieldDefinition fieldDef) 2146TargetPointer systemAssembly = loader.GetSystemAssembly();
Contracts\SHash_1.cs (4)
20public TargetPointer Table { get; set; } 27ISHash<TKey, TEntry> ISHash.CreateSHash<TKey, TEntry>(Target target, TargetPointer address, Target.TypeInfo type, ITraits<TKey, TEntry> traits) 29TargetPointer table = target.ReadPointer(address + (ulong)type.Fields[nameof(SHash<TKey, TEntry>.Table)].Offset); 35TargetPointer entryAddress = table + (ulong)(i * entrySize);
Contracts\Signature\IRuntimeSignatureTypeProvider.cs (2)
26TType GetInternalType(TargetPointer typeHandlePointer); 32TType GetInternalModifiedType(TargetPointer typeHandlePointer, TType unmodifiedType, bool isRequired);
Contracts\Signature\Signature_1.cs (7)
55TargetPointer ISignature.GetVarArgArgsBase(TargetPointer vaSigCookieAddr) 72void ISignature.GetVarArgSignature(TargetPointer vaSigCookieAddr, out TargetPointer signatureAddress, out uint signatureLength) 78Debug.Assert(signatureAddress != TargetPointer.Null || signatureLength == 0, 81private Data.VASigCookie GetCookie(TargetPointer vaSigCookieAddr) 83TargetPointer vaSigCookie = _target.ReadPointer(vaSigCookieAddr);
Contracts\Signature\SignatureTypeProvider.cs (12)
77TargetPointer typeDefToMethodTable = _loader.GetLookupTables(_moduleHandle).TypeDefToMethodTable; 78TargetPointer typeHandlePtr = _loader.GetModuleLookupMapElement(typeDefToMethodTable, (uint)token, out _); 79return typeHandlePtr == TargetPointer.Null ? new TypeHandle(TargetPointer.Null) : _runtimeTypeSystem.GetTypeHandle(typeHandlePtr); 85TargetPointer typeRefToMethodTable = _loader.GetLookupTables(_moduleHandle).TypeRefToMethodTable; 86TargetPointer typeHandlePtr = _loader.GetModuleLookupMapElement(typeRefToMethodTable, (uint)token, out _); 87return typeHandlePtr == TargetPointer.Null ? new TypeHandle(TargetPointer.Null) : _runtimeTypeSystem.GetTypeHandle(typeHandlePtr); 93public TypeHandle GetInternalType(TargetPointer typeHandlePointer) 94=> typeHandlePointer == TargetPointer.Null 95? new TypeHandle(TargetPointer.Null) 98public TypeHandle GetInternalModifiedType(TargetPointer typeHandlePointer, TypeHandle unmodifiedType, bool isRequired)
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\AMD64Context.cs (3)
40public TargetPointer StackPointer 45public TargetPointer InstructionPointer 50public TargetPointer FramePointer
Contracts\StackWalk\Context\ARM\ARMUnwinder.cs (15)
30TargetPointer imageBase = _eman.GetUnwindInfoBaseAddress(cbh); 31TargetPointer unwindInfoAddr = _eman.GetUnwindInfo(cbh); 33if (unwindInfoAddr == TargetPointer.Null) 62TargetPointer imageBase, 78TargetPointer unwindDataPtr = imageBase + functionEntry.UnwindData; 121TargetPointer unwindCodePtr = unwindDataPtr + 4 * epilogScopeCount; 122TargetPointer unwindCodesEndPtr = unwindCodePtr + 4 * unwindWords; 549TargetPointer sourceAddress = context.Sp + offsets.RegOffset[regIndex]; 558TargetPointer sourceAddress = context.Sp + offsets.FpRegOffset[fpRegIndex]; 566TargetPointer sourceAddress = context.Sp + offsets.LrOffset; 571TargetPointer sourceAddress = context.Sp + offsets.PcOffset; 584TargetPointer sourceAddress = context.Sp + offsets.SpOffset; 597TargetPointer imageBase, 839TargetPointer unwindCodePtr, 840TargetPointer unwindCodesEndPtr,
Contracts\StackWalk\Context\ARM64\ARM64Unwinder.cs (16)
57TargetPointer imageBase = _eman.GetUnwindInfoBaseAddress(cbh); 58TargetPointer unwindInfoAddr = _eman.GetUnwindInfo(cbh); 60if (unwindInfoAddr == TargetPointer.Null) 92private bool VirtualUnwind(ref ARM64Context context, TargetPointer imageBase, Data.RuntimeFunction functionEntry) 149TargetPointer imageBase, 170TargetPointer unwindDataPtr = imageBase + functionEntry.UnwindData; 218TargetPointer unwindCodePtr = unwindDataPtr + 4 * epilogScopeCount; 219TargetPointer unwindCodesEndPtr = unwindCodePtr + 4 * unwindWords; 842TargetPointer sourceAddress = startingSp + /*offsetof(ARM64_KTRAP_FRAME, X)*/ 0x0A0; 850TargetPointer vfpStateAddress = _target.Read<ulong>(sourceAddress); 919TargetPointer sourceAddress = startingSp + (uint)Marshal.OffsetOf<ARM64Context>(nameof(ARM64Context.X0)); 989TargetPointer unwindCodePtr, 990TargetPointer unwindCodesEndPtr, 1067TargetPointer curAddress = context.Sp; 1116TargetPointer curAddress = context.Sp; 1166TargetPointer curAddress = context.Sp;
Contracts\StackWalk\Context\ARM64Context.cs (3)
47public TargetPointer StackPointer 52public TargetPointer InstructionPointer 57public TargetPointer FramePointer
Contracts\StackWalk\Context\ARMContext.cs (3)
38public TargetPointer StackPointer 44public TargetPointer InstructionPointer 50public TargetPointer FramePointer
Contracts\StackWalk\Context\ContextHolder.cs (4)
20public TargetPointer StackPointer { get => Context.StackPointer; set => Context.StackPointer = value; } 21public TargetPointer InstructionPointer { get => Context.InstructionPointer; set => Context.InstructionPointer = value; } 22public TargetPointer FramePointer { get => Context.FramePointer; set => Context.FramePointer = value; } 26public unsafe void ReadFromAddress(Target target, TargetPointer address)
Contracts\StackWalk\Context\IPlatformAgnosticContext.cs (4)
16public TargetPointer StackPointer { get; set; } 17public TargetPointer InstructionPointer { get; set; } 18public TargetPointer FramePointer { get; set; } 23public abstract void ReadFromAddress(Target target, TargetPointer address);
Contracts\StackWalk\Context\IPlatformContext.cs (3)
14TargetPointer StackPointer { get; set; } 15TargetPointer InstructionPointer { get; set; } 16TargetPointer FramePointer { get; set; }
Contracts\StackWalk\Context\LoongArch64\LoongArch64Unwinder.cs (11)
42TargetPointer imageBase = _eman.GetUnwindInfoBaseAddress(cbh); 72private bool VirtualUnwind(ref LoongArch64Context context, TargetPointer imageBase, Data.RuntimeFunction functionEntry) 85TargetPointer imageBase, 106TargetPointer unwindDataPtr = imageBase + functionEntry.UnwindData; 154TargetPointer unwindCodePtr = unwindDataPtr + 4 * epilogScopeCount; 155TargetPointer unwindCodesEndPtr = unwindCodePtr + 4 * unwindWords; 307private uint ComputeScopeSize(TargetPointer unwindCodePtr, TargetPointer unwindCodesEndPtr) 335private bool ProcessUnwindCode(ref LoongArch64Context context, byte curCode, ref TargetPointer unwindCodePtr, TargetPointer unwindCodesEndPtr, ref uint accumulatedSaveNexts, ref bool finalPcFromRa) 591TargetPointer sourceAddress = startingSp + (uint)Marshal.OffsetOf<LoongArch64Context>(nameof(LoongArch64Context.R0));
Contracts\StackWalk\Context\LoongArch64Context.cs (3)
45public TargetPointer StackPointer 50public TargetPointer InstructionPointer 55public TargetPointer FramePointer
Contracts\StackWalk\Context\RISCV64\RISCV64Unwinder.cs (11)
50TargetPointer imageBase = _eman.GetUnwindInfoBaseAddress(cbh); 80private bool VirtualUnwind(ref RISCV64Context context, TargetPointer imageBase, Data.RuntimeFunction functionEntry) 99TargetPointer imageBase, 120TargetPointer unwindDataPtr = imageBase + functionEntry.UnwindData; 168TargetPointer unwindCodePtr = unwindDataPtr + 4 * epilogScopeCount; 169TargetPointer unwindCodesEndPtr = unwindCodePtr + 4 * unwindWords; 321private uint ComputeScopeSize(TargetPointer unwindCodePtr, TargetPointer unwindCodesEndPtr) 349private bool ProcessUnwindCode(ref RISCV64Context context, byte curCode, ref TargetPointer unwindCodePtr, TargetPointer unwindCodesEndPtr, ref uint accumulatedSaveNexts, ref bool finalPcFromRa) 605TargetPointer sourceAddress = startingSp + (uint)Marshal.OffsetOf<RISCV64Context>(nameof(RISCV64Context.Ra));
Contracts\StackWalk\Context\RISCV64Context.cs (3)
45public TargetPointer StackPointer 50public TargetPointer InstructionPointer 55public TargetPointer FramePointer
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\GCInfoDecoding\GCInfo.cs (4)
37private readonly TargetPointer _gcInfoAddress; 72public GCInfo(Target target, TargetPointer gcInfoAddress, uint gcInfoVersion, uint relativeOffset) 86TargetPointer offset = gcInfoAddress; 158TargetPointer argTabPtr;
Contracts\StackWalk\Context\X86\GCInfoDecoding\GCInfoTargetExtensions.cs (5)
13public static uint GCDecodeUnsigned(this Target target, ref TargetPointer src) 15TargetPointer begin = src; 36public static int GCDecodeSigned(this Target target, ref TargetPointer src) 38TargetPointer begin = src; 65public static uint GCDecodeUDelta(this Target target, ref TargetPointer src, uint lastValue)
Contracts\StackWalk\Context\X86\GCInfoDecoding\InfoHdr.cs (1)
145public static InfoHdr DecodeHeader(Target target, ref TargetPointer offset, uint codeLength)
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\Context\X86Context.cs (3)
47public TargetPointer StackPointer 52public TargetPointer InstructionPointer 57public TargetPointer FramePointer
Contracts\StackWalk\FrameHandling\AMD64FrameHandler.cs (1)
37if (args.Rsp is TargetPointer rsp)
Contracts\StackWalk\FrameHandling\ARMFrameHandler.cs (1)
40if (inlinedCallFrame.SPAfterProlog is not TargetPointer spAfterProlog)
Contracts\StackWalk\FrameHandling\BaseFrameHandler.cs (2)
112protected Data.Frame? GetNextFrame(TargetPointer currentFrameAddress) 115if (current.Next == TargetPointer.Null)
Contracts\StackWalk\FrameHandling\FrameHelpers.cs (43)
64public string GetFrameName(TargetPointer frameIdentifier) 74public FrameType GetFrameType(TargetPointer frameIdentifier) 78if (_target.TryReadGlobalPointer(frameType.ToString() + "Identifier", out TargetPointer? id)) 90public TargetPointer GetMethodDescPtr(TargetPointer framePtr) 107return TargetPointer.Null; 109return TargetPointer.Null; 112if (stubDispatchFrame.MethodDescPtr != TargetPointer.Null) 116else if (stubDispatchFrame.RepresentativeMTPtr != TargetPointer.Null) 124return TargetPointer.Null; 131return TargetPointer.Null; 133return TargetPointer.Null; 217public TargetPointer GetReturnAddress(Data.Frame frame) 225return InlinedCallFrameHasActiveCall(icf) ? icf.CallerReturnAddress : TargetPointer.Null; 278return TargetPointer.Null; 285return TargetPointer.Null; 305return frame.CallerReturnAddress != TargetPointer.Null; 312return frame.Datum != TargetPointer.Null && (frame.Datum.Value & 0x1) == 0; 327public TargetPointer ResolveTopInterpMethodContextFrame(Data.InterpreterFrame interpreterFrame) 329TargetPointer hintPtr = interpreterFrame.TopInterpMethodContextFrame; 330if (hintPtr == TargetPointer.Null) 331return TargetPointer.Null; 334TargetPointer currentPtr = hintPtr; 336if (frame.Ip != TargetPointer.Null) 339while (frame.NextPtr != TargetPointer.Null) 342if (next.Ip == TargetPointer.Null) 351while (frame.ParentPtr != TargetPointer.Null && frame.Ip == TargetPointer.Null) 368public IEnumerable<TargetPointer> WalkInterpreterFrameChain(TargetPointer frameAddress) 371TargetPointer interpMethodFramePtr = ResolveTopInterpMethodContextFrame(interpFrame); 372while (interpMethodFramePtr != TargetPointer.Null) 375if (contextFrame.Ip != TargetPointer.Null) 392TargetPointer topContextFramePtr = ResolveTopInterpMethodContextFrame(interpreterFrame); 393if (topContextFramePtr == TargetPointer.Null) 427TargetPointer interpreterFrame = GetFirstArgRegister(context); 428if (interpreterFrame != TargetPointer.Null) 436TargetPointer currentFramePtr = context.StackPointer; 439if (currentFrame.ParentPtr == TargetPointer.Null) 443if (parentFrame.Ip == TargetPointer.Null) 453private void ApplyInterpreterFrameTransition(IPlatformAgnosticContext context, TargetPointer interpreterFrameAddress) 459private TargetPointer GetFirstArgRegister(IPlatformAgnosticContext context) 470private void SetFirstArgRegister(IPlatformAgnosticContext context, TargetPointer value)
Contracts\StackWalk\FrameHandling\FrameIterator.cs (4)
18private readonly TargetPointer terminator; 20private TargetPointer currentFramePointer; 24public TargetPointer CurrentFrameAddress => currentFramePointer; 57public TargetPointer GetCurrentReturnAddress()
Contracts\StackWalk\GC\GCRefMapDecoder.cs (2)
38private TargetPointer _currentByte; 42public GCRefMapDecoder(Target target, TargetPointer blob)
Contracts\StackWalk\GC\GcScanContext.cs (13)
15public TargetPointer StackPointer { get; private set; } 16public TargetPointer InstructionPointer { get; private set; } 17public TargetPointer Frame { get; private set; } 25public void UpdateScanContext(TargetPointer sp, TargetPointer ip, TargetPointer frame) 32public void GCEnumCallback(TargetPointer pObject, GcScanFlags flags, GcScanSlotLocation loc) 34TargetPointer addr; 35TargetPointer obj; 66if (Frame != TargetPointer.Null) 80public void GCReportCallback(TargetPointer ppObj, GcScanFlags flags) 91TargetPointer obj = _target.ReadPointer(ppObj); 104if (Frame != TargetPointer.Null)
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\StackWalk\GC\GcSignatureTypeProvider.cs (7)
133public GcTypeKind GetInternalModifiedType(TargetPointer typeHandlePointer, GcTypeKind unmodifiedType, bool isRequired) => unmodifiedType; 136public GcTypeKind GetInternalType(TargetPointer typeHandlePointer) 138if (typeHandlePointer == TargetPointer.Null) 156private GcTypeKind ClassifyTokenLookup(TargetPointer lookupTable, int token, byte rawTypeKind) 160TargetPointer typeHandlePtr = _target.Contracts.Loader.GetModuleLookupMapElement(lookupTable, (uint)token, out _); 161if (typeHandlePtr == TargetPointer.Null) 180if (typeHandle.Address == TargetPointer.Null)
Contracts\StackWalk\GC\StackRefData.cs (4)
17public TargetPointer Address { get; set; } 18public TargetPointer Object { get; set; } 21public TargetPointer Source { get; set; } 22public TargetPointer StackPointer { get; set; }
Contracts\StackWalk\StackWalk_1.cs (51)
49TargetPointer FrameAddress, 228TargetPointer pFrame = ((IStackWalk)this).GetFrameAddress(gcFrame.Frame); 257_eman.GetGCInfo(cbh.Value, out TargetPointer gcInfoAddr, out uint gcVersion); 344TargetPointer parentStackFrame = TargetPointer.Null; 345TargetPointer funcletParentStackFrame = TargetPointer.Null; 346TargetPointer intermediaryFuncletParentStackFrame = TargetPointer.Null; 366TargetPointer pExInfo = GetCurrentExceptionTracker(handle); 379if (parentStackFrame != TargetPointer.Null) 391if (funcletParentStackFrame != TargetPointer.Null) 401funcletParentStackFrame = TargetPointer.Null; 403intermediaryFuncletParentStackFrame = TargetPointer.Null; 417Debug.Assert(intermediaryFuncletParentStackFrame != TargetPointer.Null); 429Debug.Assert(funcletParentStackFrame == TargetPointer.Null); 439if (funcletParentStackFrame == TargetPointer.Null) 445Debug.Assert(funcletParentStackFrame != TargetPointer.Null); 503if (parentStackFrame != TargetPointer.Null) 507if (parentStackFrame == TargetPointer.PlatformMaxValue(_target) || 524funcletParentStackFrame = TargetPointer.Null; 527intermediaryFuncletParentStackFrame = TargetPointer.Null; 531parentStackFrame = TargetPointer.Null; 554if (parentStackFrame != TargetPointer.Null) 558if (parentStackFrame == TargetPointer.PlatformMaxValue(_target) || 567Debug.Assert(pExInfo != TargetPointer.Null); 590funcletParentStackFrame = TargetPointer.Null; 593intermediaryFuncletParentStackFrame = TargetPointer.Null; 597parentStackFrame = TargetPointer.Null; 601if (parentStackFrame == TargetPointer.Null && IsFunclet(handle)) 609if (parentStackFrame != TargetPointer.Null) 662private bool IsUnwoundToTargetParentFrame(StackDataFrameHandle handle, TargetPointer targetParentFrame) 720TargetPointer returnAddress = handle.FrameIter.GetCurrentReturnAddress(); 722&& returnAddress != TargetPointer.Null; 732if (returnAddress != TargetPointer.Null 819TargetPointer IStackWalk.GetFrameAddress(IStackDataFrameHandle stackDataFrameHandle) 826return TargetPointer.Null; 829TargetPointer IStackWalk.GetInstructionPointer(IStackDataFrameHandle stackDataFrameHandle) 835string IStackWalk.GetFrameName(TargetPointer frameIdentifier) 838TargetPointer IStackWalk.GetMethodDescPtr(TargetPointer framePtr) 841TargetPointer IStackWalk.GetMethodDescPtr(IStackDataFrameHandle stackDataFrameHandle) 846TargetPointer framePtr = ((IStackWalk)this).GetFrameAddress(handle); 847if (framePtr != TargetPointer.Null) 865TargetPointer returnAddress = icf.CallerReturnAddress; 866if (returnAddress != TargetPointer.Null && _eman.GetCodeBlockHandle(returnAddress.Value) is CodeBlockHandle cbh) 879TargetPointer methodDescPtr = framePtr + _target.GetTypeInfo(DataType.InlinedCallFrame).Size 892return TargetPointer.Null; 897private bool IsManaged(TargetPointer ip, [NotNullWhen(true)] out CodeBlockHandle? codeBlockHandle) 900if (_eman.GetCodeBlockHandle(codePointer) is CodeBlockHandle cbh && cbh.Address != TargetPointer.Null) 939private bool IsInterpreterCode(TargetPointer ip)
Contracts\StackWalk\StackWalk_1.ExceptionHandling.cs (18)
33private TargetPointer FindParentStackFrameForStackWalk(StackDataFrameHandle handle, bool forGCReporting = false) 37return TargetPointer.Null; 45private TargetPointer FindParentStackFrameHelper( 51TargetPointer callerStackFrame = callerContext.StackPointer; 58TargetPointer callerIp = callerContext.InstructionPointer; 68return TargetPointer.PlatformMaxValue(_target); 80TargetPointer pExInfo = GetCurrentExceptionTracker(handle); 81while (pExInfo != TargetPointer.Null) 87if (exInfo.StackLowBound == TargetPointer.PlatformMaxValue(_target) && 88exInfo.StackHighBound == TargetPointer.Null) 100return TargetPointer.Null; 130private TargetPointer GetCurrentExceptionTracker(StackDataFrameHandle handle) 142TargetPointer callerStackPointer; 154TargetPointer pExInfo = GetCurrentExceptionTracker(handle); 155while (pExInfo != TargetPointer.Null) 166private bool IsInStackRegionUnwoundBySpecifiedException(TargetPointer callerStackPointer, Data.ExceptionInfo exceptionInfo) 173if (exceptionInfo.StackLowBound == TargetPointer.PlatformMaxValue(_target) 174&& exceptionInfo.StackHighBound == TargetPointer.Null)
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\SyncBlock_1.cs (34)
17private readonly TargetPointer _syncTableEntries; 25public TargetPointer GetSyncBlock(uint index) 28return ste.SyncBlock?.Address ?? TargetPointer.Null; 31public TargetPointer GetSyncBlockObject(uint index) 34return ste.Object?.Address ?? TargetPointer.Null; 45TargetPointer syncBlockCache = _target.ReadPointer(_target.ReadGlobalPointer(Constants.Globals.SyncBlockCache)); 50public bool TryGetLockInfo(TargetPointer syncBlock, out uint owningThreadId, out uint recursion) 59TargetPointer systemAssembly = loader.GetSystemAssembly(); 66TargetPointer lockObjPtr = sb.Lock.Object; 68TargetPointer dataAddr = lockObj.Data; 96public uint GetAdditionalThreadCount(TargetPointer syncBlock) 102public TargetPointer GetSyncBlockFromCleanupList() 104TargetPointer syncBlockCache = _target.ReadPointer(_target.ReadGlobalPointer(Constants.Globals.SyncBlockCache)); 106TargetPointer cleanupBlockList = cache.CleanupBlockList; 107if (cleanupBlockList == TargetPointer.Null) 108return TargetPointer.Null; 112public TargetPointer GetNextSyncBlock(TargetPointer syncBlock) 115if (sb.LinkNext == TargetPointer.Null) 116return TargetPointer.Null; 120public bool GetBuiltInComData(TargetPointer syncBlock, out TargetPointer rcw, out TargetPointer ccw, out TargetPointer ccf) 122rcw = TargetPointer.Null; 123ccw = TargetPointer.Null; 124ccf = TargetPointer.Null; 132ccw = interopInfo.CCW == 1 ? TargetPointer.Null : interopInfo.CCW; 133ccf = interopInfo.CCF == 1 ? TargetPointer.Null : interopInfo.CCF; 134return rcw != TargetPointer.Null || ccw != TargetPointer.Null || ccf != TargetPointer.Null; 137private uint ReadUintField(TypeHandle enclosingType, string fieldName, IRuntimeTypeSystem rts, MetadataReader mdReader, TargetPointer dataAddr) 139TargetPointer field = rts.GetFieldDescByName(enclosingType, fieldName);
Contracts\Thread_1.cs (58)
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, 153void IThread.GetThreadAllocContext(TargetPointer threadPointer, out long allocBytes, out long allocBytesLoh) 161void IThread.GetStackLimitData(TargetPointer threadPointer, out TargetPointer stackBase, out TargetPointer stackLimit, out TargetPointer frameAddress) 171TargetPointer IThread.IdToThread(uint id) 173TargetPointer idDispenserPtr = _target.ReadGlobalPointer(Constants.Globals.ThinlockThreadIdDispenser); 174TargetPointer idDispenser = _target.ReadPointer(idDispenserPtr); 176TargetPointer threadPtr = TargetPointer.Null; 182TargetPointer IThread.GetThreadLocalStaticBase(TargetPointer threadPointer, TargetPointer tlsIndexPtr) 186TargetPointer threadLocalDataPtr = thread.ThreadLocalDataPtr; 187if (threadLocalDataPtr == TargetPointer.Null) 188return TargetPointer.Null; 192return TargetPointer.Null; 194TargetPointer threadLocalStaticBase = default; 205TargetPointer nonCollectibleArray = threadLocalData.NonCollectibleTlsArrayData; 207TargetPointer arrayStartAddress = nonCollectibleArray + _target.ReadGlobalPointer(Constants.Globals.PtrArrayOffsetToDataArray); 215TargetPointer collectibleArray = threadLocalData.CollectibleTlsArrayData; 223if (threadLocalStaticBase == TargetPointer.Null) 225TargetPointer inFlightData = threadLocalData.InFlightData; 226while (inFlightData != TargetPointer.Null) 240private (Data.Thread thread, Data.ExceptionInfo? exceptionInfo, TargetPointer exceptionTrackerAddr) GetThreadExceptionInfo(TargetPointer threadPointer) 243TargetPointer exceptionTrackerPtr = _target.ReadPointer(thread.ExceptionTracker); 244Data.ExceptionInfo? exceptionInfo = (exceptionTrackerPtr == TargetPointer.Null) ? null : _target.ProcessedData.GetOrAdd<Data.ExceptionInfo>(exceptionTrackerPtr); 254private TargetPointer GetActiveExceptionPseudoHandle(Data.ExceptionInfo? exceptionInfo, TargetPointer exceptionTrackerAddr) 256if (exceptionInfo is null || exceptionInfo.ThrownObject == TargetPointer.Null) 257return TargetPointer.Null; 263TargetPointer IThread.GetCurrentExceptionHandle(TargetPointer threadPointer) 269byte[] IThread.GetWatsonBuckets(TargetPointer threadPointer) 271TargetPointer readFrom; 275TargetPointer thrownObject = exceptionInfo.ThrownObject; 276if (thrownObject != TargetPointer.Null) 279if (exception.WatsonBuckets != TargetPointer.Null) 286if (readFrom == TargetPointer.Null) 301if (readFrom == TargetPointer.Null) 309byte[] IThread.GetContext(TargetPointer threadPointer, ThreadContextSource contextSource, uint contextFlags) 317TargetPointer filterContext = TargetPointer.Null; 322if (filterContext != TargetPointer.Null)
Data\AppDomain.cs (5)
10static AppDomain IData<AppDomain>.Create(Target target, TargetPointer address) => new AppDomain(target, address); 11public AppDomain(Target target, TargetPointer address) 20public TargetPointer RootAssembly { get; init; } 21public TargetPointer AssemblyList { get; init; } 22public TargetPointer FriendlyName { get; init; }
Data\Array.cs (3)
8static Array IData<Array>.Create(Target target, TargetPointer address) 11public Array(Target target, TargetPointer address) 20public TargetPointer DataPointer { get; init; }
Data\ArrayListBase.cs (12)
14static ArrayListBase IData<ArrayListBase>.Create(Target target, TargetPointer address) => new ArrayListBase(target, address); 15public ArrayListBase(Target target, TargetPointer address) 22TargetPointer next = FirstBlock; 23while (next != TargetPointer.Null) 33foreach (TargetPointer element in block.Elements) 47public TargetPointer FirstBlock { get; init; } 50public List<TargetPointer> Elements { get; init; } = []; 54static ArrayListBlock IData<ArrayListBlock>.Create(Target target, TargetPointer address) => new ArrayListBlock(target, address); 55public ArrayListBlock(Target target, TargetPointer address) 69public TargetPointer Next { get; init; } 71public TargetPointer ArrayStart { get; init; } 73public List<TargetPointer> Elements { get; init; } = [];
Data\Assembly.cs (5)
10static Assembly IData<Assembly>.Create(Target target, TargetPointer address) => new Assembly(target, address); 11public Assembly(Target target, TargetPointer address) 23public TargetPointer Module { get; init; } 26public TargetPointer Error { get; init; } 30public bool IsError => Error != TargetPointer.Null;
Data\AssemblyBinder.cs (2)
10static AssemblyBinder IData<AssemblyBinder>.Create(Target target, TargetPointer address) => new AssemblyBinder(target, address); 11public AssemblyBinder(Target target, TargetPointer address)
Data\AsyncMethodData.cs (2)
8static AsyncMethodData IData<AsyncMethodData>.Create(Target target, TargetPointer address) => new AsyncMethodData(target, address); 9public AsyncMethodData(Target target, TargetPointer address)
Data\AuxiliarySymbolInfo.cs (3)
8static AuxiliarySymbolInfo IData<AuxiliarySymbolInfo>.Create(Target target, TargetPointer address) 11public AuxiliarySymbolInfo(Target target, TargetPointer address) 20public TargetPointer Name { get; init; }
Data\Bucket.cs (6)
8static Bucket IData<Bucket>.Create(Target target, TargetPointer address) 11public Bucket(Target target, TargetPointer address) 18Keys = new TargetPointer[numSlots]; 19Values = new TargetPointer[numSlots]; 27public TargetPointer[] Keys { get; } 28public TargetPointer[] Values { get; }
Data\CardTableInfo.cs (3)
8static CardTableInfo IData<CardTableInfo>.Create(Target target, TargetPointer address) 11public CardTableInfo(Target target, TargetPointer address) 21public TargetPointer NextCardTable { get; init; }
Data\CGrowableSymbolStream.cs (3)
8static CGrowableSymbolStream IData<CGrowableSymbolStream>.Create(Target target, TargetPointer address) => new CGrowableSymbolStream(target, address); 9public CGrowableSymbolStream(Target target, TargetPointer address) 17public TargetPointer Buffer { get; init; }
Data\CodeHeap.cs (2)
8static CodeHeap IData<CodeHeap>.Create(Target target, TargetPointer address) 11public CodeHeap(Target target, TargetPointer address)
Data\CodeHeapListNode.cs (8)
8static CodeHeapListNode IData<CodeHeapListNode>.Create(Target target, TargetPointer address) 11public CodeHeapListNode(Target target, TargetPointer address) 22public TargetPointer Next { get; init; } 23public TargetPointer StartAddress { get; init; } 24public TargetPointer EndAddress { get; init; } 26public TargetPointer MapBase { get; init; } 28public TargetPointer HeaderMap { get; init; } 30public TargetPointer Heap { get; init; }
Data\CodeRangeMapRangeList.cs (2)
8static CodeRangeMapRangeList IData<CodeRangeMapRangeList>.Create(Target target, TargetPointer address) 11public CodeRangeMapRangeList(Target target, TargetPointer address)
Data\ComCallWrapper.cs (8)
9static ComCallWrapper IData<ComCallWrapper>.Create(Target target, TargetPointer address) => new ComCallWrapper(target, address); 10public ComCallWrapper(Target target, TargetPointer address) 20IPtrs = new TargetPointer[numInterfaces]; 27public TargetPointer Handle { get; init; } 28public TargetPointer SimpleWrapper { get; init; } 29public TargetPointer IPtr { get; init; } 30public TargetPointer[] IPtrs { get; } 31public TargetPointer Next { get; init; }
Data\ComInterfaceEntry.cs (2)
10static ComInterfaceEntry IData<ComInterfaceEntry>.Create(Target target, TargetPointer address) 13public ComInterfaceEntry(Target target, TargetPointer address)
Data\ComMethodTable.cs (3)
8static ComMethodTable IData<ComMethodTable>.Create(Target target, TargetPointer address) => new ComMethodTable(target, address); 9public ComMethodTable(Target target, TargetPointer address) 18public TargetPointer MethodTable { get; init; }
Data\ComWrappersVtablePtrs.cs (2)
11static ComWrappersVtablePtrs IData<ComWrappersVtablePtrs>.Create(Target target, TargetPointer address) => new ComWrappersVtablePtrs(target, address); 12public ComWrappersVtablePtrs(Target target, TargetPointer address)
Data\CoreLibBinder.cs (3)
10static CoreLibBinder IData<CoreLibBinder>.Create(Target target, TargetPointer address) => new CoreLibBinder(target, address); 11public CoreLibBinder(Target target, TargetPointer address) 18public TargetPointer Classes { get; init; }
Data\CtxEntry.cs (4)
8static CtxEntry IData<CtxEntry>.Create(Target target, TargetPointer address) => new CtxEntry(target, address); 9public CtxEntry(Target target, TargetPointer address) 17public TargetPointer STAThread { get; init; } 18public TargetPointer CtxCookie { get; init; }
Data\DacEnumerableHash.cs (14)
26public DacEnumerableHash(Target target, TargetPointer address, Target.TypeInfo type) 38List<TargetPointer> entries = []; 43TargetPointer chainElement = _target.ReadPointer(Buckets + (ulong)(bucketOffset * _target.PointerSize)); 44List<TargetPointer> elements = ReadChain(chainElement); 53public TargetPointer Buckets { get; init; } 56public IReadOnlyList<TargetPointer> Entries { get; init; } 60public VolatileEntry(Target target, TargetPointer address, Target.TypeInfo type) 67public TargetPointer VolatileEntryValue { get; init; } 68public TargetPointer VolatileEntryNextEntry { get; init; } 74TargetPointer length = _target.ReadPointer(Buckets + (ulong)(SLOT_LENGTH * _target.PointerSize)); 79private static bool IsEndSentinel(TargetPointer value) 84private List<TargetPointer> ReadChain(TargetPointer chainElement) 86List<TargetPointer> elements = [];
Data\Debugger.cs (4)
9static Debugger IData<Debugger>.Create(Target target, TargetPointer address) 12private readonly TargetPointer _address; 14public Debugger(Target target, TargetPointer address) 31public TargetPointer RCThread { get; init; }
Data\DebuggerRCThread.cs (3)
8static DebuggerRCThread IData<DebuggerRCThread>.Create(Target target, TargetPointer address) 11public DebuggerRCThread(Target target, TargetPointer address) 17public TargetPointer DCB { get; init; }
Data\DynamicILBlobEntry.cs (4)
8static DynamicILBlobEntry IData<DynamicILBlobEntry>.Create(Target target, TargetPointer address) 11public DynamicILBlobEntry(Target target, TargetPointer address) 18public DynamicILBlobEntry(uint entryMethodToken, TargetPointer entryIL) 25public TargetPointer EntryIL { get; }
Data\DynamicMetadata.cs (3)
8static DynamicMetadata IData<DynamicMetadata>.Create(Target target, TargetPointer address) => new DynamicMetadata(target, address); 9public DynamicMetadata(Target target, TargetPointer address) 18public TargetPointer Data { get; init; }
Data\DynamicStaticsInfo.cs (5)
10static DynamicStaticsInfo IData<DynamicStaticsInfo>.Create(Target target, TargetPointer address) => new DynamicStaticsInfo(target, address); 11public DynamicStaticsInfo(Target target, TargetPointer address) 14TargetPointer mask = target.ReadGlobalPointer(Constants.Globals.StaticsPointerMask); 18public TargetPointer GCStatics { get; init; } 19public TargetPointer NonGCStatics { get; init; }
Data\EEAllocContext.cs (2)
8static EEAllocContext IData<EEAllocContext>.Create(Target target, TargetPointer address) 11public EEAllocContext(Target target, TargetPointer address)
Data\EEClass.cs (5)
8static EEClass IData<EEClass>.Create(Target target, TargetPointer address) => new EEClass(target, address); 9public EEClass(Target target, TargetPointer address) 25public TargetPointer MethodTable { get; init; } 26public TargetPointer MethodDescChunk { get; init; } 41public TargetPointer FieldDescList { get; init; }
Data\EEConfig.cs (2)
8static EEConfig IData<EEConfig>.Create(Target target, TargetPointer address) 11public EEConfig(Target target, TargetPointer address)
Data\EEILException.cs (4)
8static EEILException IData<EEILException>.Create(Target target, TargetPointer address) => new EEILException(target, address); 9public EEILException(Target target, TargetPointer address) 16public TargetPointer Address { get; init; } 17public TargetPointer Clauses { get; init; }
Data\EEJitManager.cs (3)
8static EEJitManager IData<EEJitManager>.Create(Target target, TargetPointer address) => new EEJitManager(target, address); 9public EEJitManager(Target target, TargetPointer address) 18public TargetPointer AllCodeHeaps { get; init; }
Data\EETypeHashTable.cs (6)
13static EETypeHashTable IData<EETypeHashTable>.Create(Target target, TargetPointer address) => new EETypeHashTable(target, address); 14public EETypeHashTable(Target target, TargetPointer address) 21foreach (TargetPointer entry in baseHashTable.Entries) 23TargetPointer typeHandle = target.ReadPointer(entry); 31public readonly struct Entry(TargetPointer value) 33public TargetPointer TypeHandle { get; } = value & ~FLAG_MASK;
Data\Exception.cs (8)
8static Exception IData<Exception>.Create(Target target, TargetPointer address) 11public Exception(Target target, TargetPointer address) 25public TargetPointer Message { get; init; } 26public TargetPointer InnerException { get; init; } 27public TargetPointer StackTrace { get; init; } 28public TargetPointer WatsonBuckets { get; init; } 29public TargetPointer StackTraceString { get; init; } 30public TargetPointer RemoteStackTraceString { get; init; }
Data\ExceptionClause.cs (4)
19static EEExceptionClause IData<EEExceptionClause>.Create(Target target, TargetPointer address) => new EEExceptionClause(target, address); 20public EEExceptionClause(Target target, TargetPointer address) 46static R2RExceptionClause IData<R2RExceptionClause>.Create(Target target, TargetPointer address) => new R2RExceptionClause(target, address); 47public R2RExceptionClause(Target target, TargetPointer address)
Data\ExceptionInfo.cs (10)
8static ExceptionInfo IData<ExceptionInfo>.Create(Target target, TargetPointer address) 11public ExceptionInfo(Target target, TargetPointer address) 30public TargetPointer PreviousNestedInfo { get; } 31public TargetPointer ThrownObject { get; } 33public TargetPointer StackLowBound { get; } 34public TargetPointer StackHighBound { get; } 35public TargetPointer ExceptionWatsonBucketTrackerBuckets { get; } 37public TargetPointer CSFEHClause { get; } 38public TargetPointer CSFEnclosingClause { get; } 39public TargetPointer CallerOfActualHandlerFrame { get; }
Data\ExceptionLookupTableEntry.cs (2)
8static ExceptionLookupTableEntry IData<ExceptionLookupTableEntry>.Create(Target target, TargetPointer address) => new ExceptionLookupTableEntry(target, address); 9public ExceptionLookupTableEntry(Target target, TargetPointer address)
Data\FieldDesc.cs (3)
8static FieldDesc IData<FieldDesc>.Create(Target target, TargetPointer address) => new FieldDesc(target, address); 9public FieldDesc(Target target, TargetPointer address) 19public TargetPointer MTOfEnclosingClass { get; init; }
Data\FixupPrecodeData.cs (3)
8static FixupPrecodeData IData<FixupPrecodeData>.Create(Target target, TargetPointer address) 11public FixupPrecodeData(Target target, TargetPointer address) 17public TargetPointer MethodDesc { get; init; }
Data\Frames\ArgumentRegisters.cs (2)
10static ArgumentRegisters IData<ArgumentRegisters>.Create(Target target, TargetPointer address) 13public ArgumentRegisters(Target target, TargetPointer address)
Data\Frames\CalleeSavedRegisters.cs (2)
10static CalleeSavedRegisters IData<CalleeSavedRegisters>.Create(Target target, TargetPointer address) 13public CalleeSavedRegisters(Target target, TargetPointer address)
Data\Frames\DebuggerEval.cs (4)
8static DebuggerEval IData<DebuggerEval>.Create(Target target, TargetPointer address) 11public DebuggerEval(Target target, TargetPointer address) 19public TargetPointer Address { get; } 20public TargetPointer TargetContext { get; }
Data\Frames\DynamicHelperFrame.cs (2)
8static DynamicHelperFrame IData<DynamicHelperFrame>.Create(Target target, TargetPointer address) 11public DynamicHelperFrame(Target target, TargetPointer address)
Data\Frames\ExternalMethodFrame.cs (3)
8static ExternalMethodFrame IData<ExternalMethodFrame>.Create(Target target, TargetPointer address) 11public ExternalMethodFrame(Target target, TargetPointer address) 17public TargetPointer Indirection { get; }
Data\Frames\FaultingExceptionFrame.cs (4)
8static FaultingExceptionFrame IData<FaultingExceptionFrame>.Create(Target target, TargetPointer address) 11public FaultingExceptionFrame(Target target, TargetPointer address) 18public TargetPointer Address { get; } 19public TargetPointer TargetContext { get; }
Data\Frames\Frame.cs (5)
8static Frame IData<Frame>.Create(Target target, TargetPointer address) 11public Frame(Target target, TargetPointer address) 19public TargetPointer Address { get; init; } 20public TargetPointer Identifier { get; init; } 21public TargetPointer Next { get; init; }
Data\Frames\FramedMethodFrame.cs (5)
8static FramedMethodFrame IData<FramedMethodFrame>.Create(Target target, TargetPointer address) 11public FramedMethodFrame(Target target, TargetPointer address) 19public TargetPointer Address { get; } 20public TargetPointer TransitionBlockPtr { get; } 21public TargetPointer MethodDescPtr { get; }
Data\Frames\FuncEvalFrame.cs (4)
11static FuncEvalFrame IData<FuncEvalFrame>.Create(Target target, TargetPointer address) 14public FuncEvalFrame(Target target, TargetPointer address) 21public TargetPointer Address { get; } 22public TargetPointer DebuggerEvalPtr { get; }
Data\Frames\HijackArgs.cs (2)
10static HijackArgs IData<HijackArgs>.Create(Target target, TargetPointer address) 13public HijackArgs(Target target, TargetPointer address)
Data\Frames\HijackArgsAMD64.cs (4)
8static HijackArgsAMD64 IData<HijackArgsAMD64>.Create(Target target, TargetPointer address) 11public HijackArgsAMD64(Target target, TargetPointer address) 23public TargetPointer CalleeSavedRegisters { get; } 24public TargetPointer? Rsp { get; }
Data\Frames\HijackFrame.cs (5)
8static HijackFrame IData<HijackFrame>.Create(Target target, TargetPointer address) 11public HijackFrame(Target target, TargetPointer address) 19public TargetPointer Address { get; } 20public TargetPointer ReturnAddress { get; } 21public TargetPointer HijackArgsPtr { get; }
Data\Frames\InlinedCallFrame.cs (8)
8static InlinedCallFrame IData<InlinedCallFrame>.Create(Target target, TargetPointer address) 11public InlinedCallFrame(Target target, TargetPointer address) 23public TargetPointer Address { get; } 24public TargetPointer CallSiteSP { get; } 25public TargetPointer CallerReturnAddress { get; } 26public TargetPointer CalleeSavedFP { get; } 27public TargetPointer? SPAfterProlog { get; } 28public TargetPointer Datum { get; }
Data\Frames\ResumableFrame.cs (4)
8static ResumableFrame IData<ResumableFrame>.Create(Target target, TargetPointer address) 11public ResumableFrame(Target target, TargetPointer address) 18public TargetPointer Address { get; } 19public TargetPointer TargetContextPtr { get; }
Data\Frames\SoftwareExceptionFrame.cs (5)
8static SoftwareExceptionFrame IData<SoftwareExceptionFrame>.Create(Target target, TargetPointer address) 11public SoftwareExceptionFrame(Target target, TargetPointer address) 19public TargetPointer Address { get; } 20public TargetPointer TargetContext { get; } 21public TargetPointer ReturnAddress { get; }
Data\Frames\StubDispatchFrame.cs (6)
8static StubDispatchFrame IData<StubDispatchFrame>.Create(Target target, TargetPointer address) 11public StubDispatchFrame(Target target, TargetPointer address) 21public TargetPointer Address { get; } 22public TargetPointer MethodDescPtr { get; } 23public TargetPointer RepresentativeMTPtr { get; } 25public TargetPointer Indirection { get; }
Data\Frames\TailCallFrame.cs (5)
8static TailCallFrame IData<TailCallFrame>.Create(Target target, TargetPointer address) 11public TailCallFrame(Target target, TargetPointer address) 19public TargetPointer Address { get; } 20public TargetPointer CalleeSavedRegisters { get; } 21public TargetPointer ReturnAddress { get; }
Data\Frames\TransitionBlock.cs (6)
8static TransitionBlock IData<TransitionBlock>.Create(Target target, TargetPointer address) 11public TransitionBlock(Target target, TargetPointer address) 22public TargetPointer ReturnAddress { get; } 23public TargetPointer CalleeSavedRegisters { get; } 28public TargetPointer ArgumentRegisters { get; } 33public TargetPointer FirstGCRefMapSlot { get; }
Data\GC\CFinalize.cs (3)
10static CFinalize IData<CFinalize>.Create(Target target, TargetPointer address) => new CFinalize(target, address); 11public CFinalize(Target target, TargetPointer address) 18public TargetPointer FillPointers { get; }
Data\GC\GCHeapSVR.cs (21)
12static GCHeapSVR IData<GCHeapSVR>.Create(Target target, TargetPointer address) => new GCHeapSVR(target, address); 13public GCHeapSVR(Target target, TargetPointer address) 57public TargetPointer? MarkArray { get; } 58public TargetPointer? NextSweepObj { get; } 59public TargetPointer? BackgroundMinSavedAddr { get; } 60public TargetPointer? BackgroundMaxSavedAddr { get; } 61public TargetPointer AllocAllocated { get; } 62public TargetPointer EphemeralHeapSegment { get; } 63public TargetPointer CardTable { get; } 64public TargetPointer FinalizeQueue { get; } 65public TargetPointer GenerationTable { get; } 67public TargetPointer? SavedSweepEphemeralSeg { get; } 68public TargetPointer? SavedSweepEphemeralStart { get; } 72public TargetPointer InternalRootArray { get; } 76public TargetPointer InterestingData { get; } 77public TargetPointer CompactReasons { get; } 78public TargetPointer ExpandMechanisms { get; } 79public TargetPointer InterestingMechanismBits { get; } 81public TargetPointer? FreeableSohSegment { get; } 82public TargetPointer? FreeableUohSegment { get; } 83public TargetPointer? FreeRegions { get; }
Data\GC\Generation.cs (4)
8static Generation IData<Generation>.Create(Target target, TargetPointer address) => new Generation(target, address); 9public Generation(Target target, TargetPointer address) 22public TargetPointer StartSegment { get; } 23public TargetPointer? AllocationStart { get; }
Data\GC\HeapSegment.cs (10)
8static HeapSegment IData<HeapSegment>.Create(Target target, TargetPointer address) => new HeapSegment(target, address); 9public HeapSegment(Target target, TargetPointer address) 27public TargetPointer Allocated { get; } 28public TargetPointer Committed { get; } 29public TargetPointer Reserved { get; } 30public TargetPointer Used { get; } 31public TargetPointer Mem { get; } 33public TargetPointer Next { get; } 34public TargetPointer BackgroundAllocated { get; } 35public TargetPointer? Heap { get; }
Data\GC\OOMHistory.cs (4)
8static OomHistory IData<OomHistory>.Create(Target target, TargetPointer address) => new OomHistory(target, address); 9public OomHistory(Target target, TargetPointer address) 26public TargetPointer Reserved { get; } 27public TargetPointer Allocated { get; }
Data\GCAllocContext.cs (4)
8static GCAllocContext IData<GCAllocContext>.Create(Target target, TargetPointer address) 11public GCAllocContext(Target target, TargetPointer address) 20public TargetPointer Pointer { get; init; } 21public TargetPointer Limit { get; init; }
Data\GenericsDictInfo.cs (2)
8static GenericsDictInfo IData<GenericsDictInfo>.Create(Target target, TargetPointer address) => new GenericsDictInfo(target, address); 9public GenericsDictInfo(Target target, TargetPointer address)
Data\HandleTable.cs (3)
9static HandleTable IData<HandleTable>.Create(Target target, TargetPointer address) 12public HandleTable(Target target, TargetPointer address) 18public TargetPointer SegmentList { get; init; }
Data\HandleTableBucket.cs (3)
9static HandleTableBucket IData<HandleTableBucket>.Create(Target target, TargetPointer address) 12public HandleTableBucket(Target target, TargetPointer address) 18public TargetPointer Table { get; init; }
Data\HandleTableMap.cs (7)
11static HandleTableMap IData<HandleTableMap>.Create(Target target, TargetPointer address) 14public HandleTableMap(Target target, TargetPointer address) 17TargetPointer bucketsPtr = target.ReadPointerField(address, type, nameof(BucketsPtr)); 21TargetPointer bucketPtr = target.ReadPointer(bucketsPtr + (ulong)(i * target.PointerSize)); 27public List<TargetPointer> BucketsPtr { get; init; } = new List<TargetPointer>(); 28public TargetPointer Next { get; init; }
Data\HashMap.cs (3)
8static HashMap IData<HashMap>.Create(Target target, TargetPointer address) 11public HashMap(Target target, TargetPointer address) 18public TargetPointer Buckets { get; }
Data\HostCodeHeap.cs (4)
8static HostCodeHeap IData<HostCodeHeap>.Create(Target target, TargetPointer address) 11public HostCodeHeap(Target target, TargetPointer address) 18public TargetPointer BaseAddress { get; init; } 19public TargetPointer CurrentAddress { get; init; }
Data\IdDispenser.cs (3)
10static IdDispenser IData<IdDispenser>.Create(Target target, TargetPointer address) => new IdDispenser(target, address); 11public IdDispenser(Target target, TargetPointer address) 18public TargetPointer IdToThread { get; init; }
Data\ILCodeVersioningState.cs (5)
8static ILCodeVersioningState IData<ILCodeVersioningState>.Create(Target target, TargetPointer address) 11public ILCodeVersioningState(Target target, TargetPointer address) 22public TargetPointer FirstVersionNode { get; set; } 24public TargetPointer ActiveVersionNode { get; set; } 25public TargetPointer ActiveVersionModule { get; set; }
Data\ILCodeVersionNode.cs (4)
10static ILCodeVersionNode IData<ILCodeVersionNode>.Create(Target target, TargetPointer address) => new ILCodeVersionNode(target, address); 11public ILCodeVersionNode(Target target, TargetPointer address) 22public TargetPointer Next { get; init; } 24public TargetPointer ILAddress { get; init; }
Data\ImageDataDirectory.cs (2)
8static ImageDataDirectory IData<ImageDataDirectory>.Create(Target target, TargetPointer address) 11public ImageDataDirectory(Target target, TargetPointer address)
Data\ImageDosHeader.cs (2)
8static ImageDosHeader IData<ImageDosHeader>.Create(Target target, TargetPointer address) 12public ImageDosHeader(Target target, TargetPointer address)
Data\ImageFileHeader.cs (2)
10static ImageFileHeader IData<ImageFileHeader>.Create(Target target, TargetPointer address) => new ImageFileHeader(target, address); 13public ImageFileHeader(Target target, TargetPointer address)
Data\ImageNTHeaders.cs (2)
10static ImageNTHeaders IData<ImageNTHeaders>.Create(Target target, TargetPointer address) => new ImageNTHeaders(target, address); 13public ImageNTHeaders(Target target, TargetPointer address)
Data\ImageOptionalHeader.cs (2)
10static ImageOptionalHeader IData<ImageOptionalHeader>.Create(Target target, TargetPointer address) => new ImageOptionalHeader(target, address); 12public ImageOptionalHeader(Target target, TargetPointer address)
Data\ImageSectionHeader.cs (2)
10static ImageSectionHeader IData<ImageSectionHeader>.Create(Target target, TargetPointer address) => new ImageSectionHeader(target, address); 16public ImageSectionHeader(Target target, TargetPointer address)
Data\InflightTLSData.cs (3)
10static InflightTLSData IData<InflightTLSData>.Create(Target target, TargetPointer address) => new InflightTLSData(target, address); 11public InflightTLSData(Target target, TargetPointer address) 18public TargetPointer Next { get; init; }
Data\InstMethodHashTable.cs (6)
13static InstMethodHashTable IData<InstMethodHashTable>.Create(Target target, TargetPointer address) => new InstMethodHashTable(target, address); 14public InstMethodHashTable(Target target, TargetPointer address) 21foreach (TargetPointer entry in baseHashTable.Entries) 23TargetPointer methodDescPtr = target.ReadPointer(entry); 31public readonly struct Entry(TargetPointer value) 33public TargetPointer MethodDesc { get; } = value & ~FLAG_MASK;
Data\InterfaceEntry.cs (4)
8static InterfaceEntry IData<InterfaceEntry>.Create(Target target, TargetPointer address) => new InterfaceEntry(target, address); 9public InterfaceEntry(Target target, TargetPointer address) 17public TargetPointer MethodTable { get; init; } 18public TargetPointer Unknown { get; init; }
Data\InternalComInterfaceDispatch.cs (3)
8static InternalComInterfaceDispatch IData<InternalComInterfaceDispatch>.Create(Target target, TargetPointer address) 11public InternalComInterfaceDispatch(Target target, TargetPointer address) 17public TargetPointer Entries { get; init; }
Data\InteropSyncBlockInfo.cs (10)
8static InteropSyncBlockInfo IData<InteropSyncBlockInfo>.Create(Target target, TargetPointer address) 11public InteropSyncBlockInfo(Target target, TargetPointer address) 17: TargetPointer.Null; 20: TargetPointer.Null; 23: TargetPointer.Null; 26: TargetPointer.Null; 29public TargetPointer RCW { get; init; } 30public TargetPointer CCW { get; init; } 31public TargetPointer CCF { get; init; } 32public TargetPointer TaggedMemory { get; init; }
Data\InterpByteCodeStart.cs (3)
8static InterpByteCodeStart IData<InterpByteCodeStart>.Create(Target target, TargetPointer address) 11public InterpByteCodeStart(Target target, TargetPointer address) 17public TargetPointer Method { get; init; }
Data\InterpMethod.cs (3)
8static InterpMethod IData<InterpMethod>.Create(Target target, TargetPointer address) 11public InterpMethod(Target target, TargetPointer address) 17public TargetPointer MethodDesc { get; init; }
Data\InterpMethodContextFrame.cs (7)
8static InterpMethodContextFrame IData<InterpMethodContextFrame>.Create(Target target, TargetPointer address) 11public InterpMethodContextFrame(Target target, TargetPointer address) 21public TargetPointer StartIp { get; init; } 22public TargetPointer ParentPtr { get; init; } 23public TargetPointer Ip { get; init; } 24public TargetPointer NextPtr { get; init; } 25public TargetPointer Stack { get; init; }
Data\InterpreterFrame.cs (4)
8static InterpreterFrame IData<InterpreterFrame>.Create(Target target, TargetPointer address) 11public InterpreterFrame(Target target, TargetPointer address) 19public TargetPointer Address { get; init; } 20public TargetPointer TopInterpMethodContextFrame { get; init; }
Data\InterpreterPrecodeData.cs (3)
8static InterpreterPrecodeData IData<InterpreterPrecodeData>.Create(Target target, TargetPointer address) 11public InterpreterPrecodeData(Target target, TargetPointer address) 18public TargetPointer ByteCodeAddr { get; init; }
Data\InterpreterRealCodeHeader.cs (7)
8static InterpreterRealCodeHeader IData<InterpreterRealCodeHeader>.Create(Target target, TargetPointer address) 11public InterpreterRealCodeHeader(Target target, TargetPointer address) 17TargetPointer jitEHInfoAddr = target.ReadPointerField(address, type, nameof(JitEHInfo)); 18JitEHInfo = jitEHInfoAddr != TargetPointer.Null ? target.ProcessedData.GetOrAdd<EEILException>(jitEHInfoAddr) : null; 21public TargetPointer MethodDesc { get; init; } 22public TargetPointer DebugInfo { get; init; } 23public TargetPointer GCInfo { get; init; }
Data\JITNotification.cs (4)
8static JITNotification IData<JITNotification>.Create(Target target, TargetPointer address) 13private readonly TargetPointer _address; 19public JITNotification(Target target, TargetPointer address) 57public void WriteEntry(TargetPointer module, uint methodToken, ushort state)
Data\LoaderAllocator.cs (11)
8static LoaderAllocator IData<LoaderAllocator>.Create(Target target, TargetPointer address) 11public LoaderAllocator(Target target, TargetPointer address) 35public TargetPointer HighFrequencyHeap { get; init; } 36public TargetPointer LowFrequencyHeap { get; init; } 37public TargetPointer StaticsHeap { get; init; } 38public TargetPointer StubHeap { get; init; } 39public TargetPointer ExecutableHeap { get; init; } 40public TargetPointer? FixupPrecodeHeap { get; init; } 41public TargetPointer? NewStubPrecodeHeap { get; init; } 42public TargetPointer? DynamicHelpersStubHeap { get; init; } 43public TargetPointer VirtualCallStubManager { get; init; }
Data\LoaderCodeHeap.cs (3)
8static LoaderCodeHeap IData<LoaderCodeHeap>.Create(Target target, TargetPointer address) 11public LoaderCodeHeap(Target target, TargetPointer address) 18public TargetPointer LoaderHeap { get; init; }
Data\LoaderHeap.cs (3)
8static LoaderHeap IData<LoaderHeap>.Create(Target target, TargetPointer address) 11public LoaderHeap(Target target, TargetPointer address) 18public TargetPointer FirstBlock { get; init; }
Data\LoaderHeapBlock.cs (4)
8static LoaderHeapBlock IData<LoaderHeapBlock>.Create(Target target, TargetPointer address) 11public LoaderHeapBlock(Target target, TargetPointer address) 20public TargetPointer Next { get; init; } 21public TargetPointer VirtualAddress { get; init; }
Data\ManagedObjectWrapperHolderObject.cs (4)
10static ManagedObjectWrapperHolderObject IData<ManagedObjectWrapperHolderObject>.Create(Target target, TargetPointer address) => new ManagedObjectWrapperHolderObject(target, address); 11public ManagedObjectWrapperHolderObject(Target target, TargetPointer address) 18public TargetPointer WrappedObject { get; init; } 19public TargetPointer Wrapper { get; init; }
Data\ManagedObjectWrapperLayout.cs (4)
10static ManagedObjectWrapperLayout IData<ManagedObjectWrapperLayout>.Create(Target target, TargetPointer address) => new ManagedObjectWrapperLayout(target, address); 11public ManagedObjectWrapperLayout(Target target, TargetPointer address) 24public TargetPointer UserDefined { get; init; } 25public TargetPointer Dispatches { get; init; }
Data\MethodDesc.cs (13)
10static MethodDesc IData<MethodDesc>.Create(Target target, TargetPointer address) => new MethodDesc(target, address); 11public MethodDesc(Target target, TargetPointer address) 33public TargetPointer CodeData { get; init; } 35public TargetPointer? GCCoverageInfo { get; init; } 40static InstantiatedMethodDesc IData<InstantiatedMethodDesc>.Create(Target target, TargetPointer address) => new InstantiatedMethodDesc(target, address); 41public InstantiatedMethodDesc(Target target, TargetPointer address) 50public TargetPointer PerInstInfo { get; init; } 57static DynamicMethodDesc IData<DynamicMethodDesc>.Create(Target target, TargetPointer address) => new DynamicMethodDesc(target, address); 58public DynamicMethodDesc(Target target, TargetPointer address) 65public TargetPointer MethodName { get; init; } 70static StoredSigMethodDesc IData<StoredSigMethodDesc>.Create(Target target, TargetPointer address) => new StoredSigMethodDesc(target, address); 71public StoredSigMethodDesc(Target target, TargetPointer address) 80public TargetPointer Sig { get; init; }
Data\MethodDescChunk.cs (5)
10static MethodDescChunk IData<MethodDescChunk>.Create(Target target, TargetPointer address) => new MethodDescChunk(target, address); 11public MethodDescChunk(Target target, TargetPointer address) 25public TargetPointer MethodTable { get; init; } 26public TargetPointer Next { get; init; } 31public TargetPointer FirstMethodDesc { get; init; }
Data\MethodDescCodeData.cs (3)
9static MethodDescCodeData IData<MethodDescCodeData>.Create(Target target, TargetPointer address) => new MethodDescCodeData(target, address); 10public MethodDescCodeData(Target target, TargetPointer address) 20public TargetPointer VersioningState { get; set; }
Data\MethodDescVersioningState.cs (3)
10static MethodDescVersioningState IData<MethodDescVersioningState>.Create(Target target, TargetPointer address) => new MethodDescVersioningState(target, address); 11public MethodDescVersioningState(Target target, TargetPointer address) 19public TargetPointer NativeCodeVersionNode { get; init; }
Data\MethodTable.cs (7)
8static MethodTable IData<MethodTable>.Create(Target target, TargetPointer address) => new MethodTable(target, address); 9public MethodTable(Target target, TargetPointer address) 28public TargetPointer EEClassOrCanonMT { get; init; } 29public TargetPointer Module { get; init; } 30public TargetPointer ParentMethodTable { get; init; } 31public TargetPointer PerInstInfo { get; init; } 34public TargetPointer AuxiliaryData { get; init; }
Data\MethodTableAuxiliaryData.cs (3)
8static MethodTableAuxiliaryData IData<MethodTableAuxiliaryData>.Create(Target target, TargetPointer address) => new MethodTableAuxiliaryData(target, address); 10private MethodTableAuxiliaryData(Target target, TargetPointer address) 20public TargetPointer LoaderModule { get; init; }
Data\Module.cs (23)
10static Module IData<Module>.Create(Target target, TargetPointer address) 13public Module(Target target, TargetPointer address) 42private readonly TargetPointer _address; 52public TargetPointer Assembly { get; init; } 53public TargetPointer PEAssembly { get; init; } 55public TargetPointer Base { get; init; } 56public TargetPointer LoaderAllocator { get; init; } 57public TargetPointer DynamicMetadata { get; init; } 58public TargetPointer SimpleName { get; init; } 59public TargetPointer Path { get; init; } 60public TargetPointer FileName { get; init; } 61public TargetPointer ReadyToRunInfo { get; init; } 62public TargetPointer GrowableSymbolStream { get; init; } 63public TargetPointer AvailableTypeParams { get; init; } 64public TargetPointer InstMethodHashTable { get; init; } 66public TargetPointer FieldDefToDescMap { get; init; } 67public TargetPointer ManifestModuleReferencesMap { get; init; } 68public TargetPointer MemberRefToDescMap { get; init; } 69public TargetPointer MethodDefToDescMap { get; init; } 70public TargetPointer TypeDefToMethodTableMap { get; init; } 71public TargetPointer TypeRefToMethodTableMap { get; init; } 72public TargetPointer MethodDefToILCodeVersioningStateMap { get; init; } 73public TargetPointer DynamicILBlobTable { get; init; }
Data\ModuleLookupMap.cs (4)
8static ModuleLookupMap IData<ModuleLookupMap>.Create(Target target, TargetPointer address) => new ModuleLookupMap(target, address); 10private ModuleLookupMap(Target target, TargetPointer address) 20public TargetPointer TableData { get; init; } 21public TargetPointer Next { get; init; }
Data\NativeCodeVersionNode.cs (5)
10static NativeCodeVersionNode IData<NativeCodeVersionNode>.Create(Target target, TargetPointer address) => new NativeCodeVersionNode(target, address); 11public NativeCodeVersionNode(Target target, TargetPointer address) 27public TargetPointer Next { get; init; } 28public TargetPointer MethodDesc { get; init; } 34public TargetPointer? GCCoverageInfo { get; init; }
Data\NativeObjectWrapperObject.cs (3)
10static NativeObjectWrapperObject IData<NativeObjectWrapperObject>.Create(Target target, TargetPointer address) => new NativeObjectWrapperObject(target, address); 11public NativeObjectWrapperObject(Target target, TargetPointer address) 17public TargetPointer ExternalComObject { get; init; }
Data\Object.cs (4)
10static Object IData<Object>.Create(Target target, TargetPointer address) => new Object(target, address); 11public Object(Target target, TargetPointer address) 20public TargetPointer Address { get; init; } 22public TargetPointer Data { get; init; }
Data\ObjectHandle.cs (9)
8static ObjectHandle IData<ObjectHandle>.Create(Target target, TargetPointer address) 11public ObjectHandle(Target target, TargetPointer address) 13if (address != TargetPointer.Null) 16if (Handle != TargetPointer.Null && target.TryReadPointer(Handle, out TargetPointer obj)) 21public TargetPointer Handle { get; init; } = TargetPointer.Null; 22public TargetPointer Object { get; init; } = TargetPointer.Null;
Data\ObjectHeader.cs (2)
8static ObjectHeader IData<ObjectHeader>.Create(Target target, TargetPointer address) 11public ObjectHeader(Target target, TargetPointer address)
Data\PatchpointInfo.cs (2)
10static PatchpointInfo IData<PatchpointInfo>.Create(Target target, TargetPointer address) 13public PatchpointInfo(Target target, TargetPointer address)
Data\PEAssembly.cs (4)
10static PEAssembly IData<PEAssembly>.Create(Target target, TargetPointer address) => new PEAssembly(target, address); 11public PEAssembly(Target target, TargetPointer address) 19public TargetPointer PEImage { get; init; } 20public TargetPointer AssemblyBinder { get; init; }
Data\PEImage.cs (3)
8static PEImage IData<PEImage>.Create(Target target, TargetPointer address) => new PEImage(target, address); 9public PEImage(Target target, TargetPointer address) 17public TargetPointer LoadedImageLayout { get; init; }
Data\PEImageLayout.cs (3)
8static PEImageLayout IData<PEImageLayout>.Create(Target target, TargetPointer address) => new PEImageLayout(target, address); 9public PEImageLayout(Target target, TargetPointer address) 19public TargetPointer Base { get; init; }
Data\PlatformMetadata.cs (3)
8static PlatformMetadata IData<PlatformMetadata>.Create(Target target, TargetPointer address) 11public PlatformMetadata(Target target, TargetPointer address) 19public TargetPointer PrecodeMachineDescriptor { get; init; }
Data\PortableEntryPoint.cs (3)
10static PortableEntryPoint IData<PortableEntryPoint>.Create(Target target, TargetPointer address) => new PortableEntryPoint(target, address); 11public PortableEntryPoint(Target target, TargetPointer address) 17public TargetPointer MethodDesc { get; }
Data\PrecodeMachineDescriptor.cs (3)
8static PrecodeMachineDescriptor IData<PrecodeMachineDescriptor>.Create(Target target, TargetPointer address) 11public PrecodeMachineDescriptor(Target target, TargetPointer address) 68static byte? MaybeGetPrecodeType(Target target, TargetPointer address, string fieldName)
Data\ProbeExtensionResult.cs (2)
10static ProbeExtensionResult IData<ProbeExtensionResult>.Create(Target target, TargetPointer address) => new ProbeExtensionResult(target, address); 11public ProbeExtensionResult(Target target, TargetPointer address)
Data\ProfControlBlock.cs (3)
8static ProfControlBlock IData<ProfControlBlock>.Create(Target target, TargetPointer address) 11public ProfControlBlock(Target target, TargetPointer address) 22public TargetPointer MainProfilerProfInterface { get; init; }
Data\RangeSection.cs (9)
8static RangeSection IData<RangeSection>.Create(Target target, TargetPointer address) 11public RangeSection(Target target, TargetPointer address) 24public TargetPointer RangeBegin { get; init; } 25public TargetPointer RangeEndOpen { get; init; } 26public TargetPointer NextForDelete { get; init; } 27public TargetPointer JitManager { get; init; } 28public TargetPointer HeapList { get; init; } 30public TargetPointer R2RModule { get; init; } 31public TargetPointer RangeList { get; init; }
Data\RangeSectionFragment.cs (6)
8static RangeSectionFragment IData<RangeSectionFragment>.Create(Target target, TargetPointer address) 11public RangeSectionFragment(Target target, TargetPointer address) 22public TargetPointer RangeBegin { get; init; } 23public TargetPointer RangeEndOpen { get; init; } 24public TargetPointer RangeSection { get; init; } 25public TargetPointer Next { get; init; }
Data\RangeSectionMap.cs (3)
8static RangeSectionMap IData<RangeSectionMap>.Create(Target target, TargetPointer address) 11public RangeSectionMap(Target target, TargetPointer address) 18public TargetPointer TopLevelData { get; init; }
Data\RCW.cs (12)
10static RCW IData<RCW>.Create(Target target, TargetPointer address) => new RCW(target, address); 11public RCW(Target target, TargetPointer address) 26TargetPointer interfaceEntriesAddr = address + (ulong)type.Fields[nameof(InterfaceEntries)].Offset; 34TargetPointer entryAddress = interfaceEntriesAddr + i * entrySize; 39public TargetPointer NextCleanupBucket { get; init; } 40public TargetPointer NextRCW { get; init; } 42public TargetPointer CtxCookie { get; init; } 43public TargetPointer CtxEntry { get; init; } 44public TargetPointer IdentityPointer { get; init; } 46public TargetPointer VTablePtr { get; init; } 47public TargetPointer CreatorThread { get; init; } 49public TargetPointer UnknownPointer { get; init; }
Data\RCWCleanupList.cs (3)
8static RCWCleanupList IData<RCWCleanupList>.Create(Target target, TargetPointer address) => new RCWCleanupList(target, address); 9public RCWCleanupList(Target target, TargetPointer address) 16public TargetPointer FirstBucket { get; init; }
Data\ReadyToRunCoreHeader.cs (3)
10static ReadyToRunCoreHeader IData<ReadyToRunCoreHeader>.Create(Target target, TargetPointer address) 13public ReadyToRunCoreHeader(Target target, TargetPointer address) 21TargetPointer sectionAddress = address + (ulong)(type.Size!.Value + i * sectionType.Size!.Value);
Data\ReadyToRunCoreInfo.cs (3)
8static ReadyToRunCoreInfo IData<ReadyToRunCoreInfo>.Create(Target target, TargetPointer address) 11public ReadyToRunCoreInfo(Target target, TargetPointer address) 14TargetPointer headerAddress = target.ReadPointerField(address, type, nameof(Header));
Data\ReadyToRunHeader.cs (2)
8static ReadyToRunHeader IData<ReadyToRunHeader>.Create(Target target, TargetPointer address) 11public ReadyToRunHeader(Target target, TargetPointer address)
Data\ReadyToRunInfo.cs (16)
10static ReadyToRunInfo IData<ReadyToRunInfo>.Create(Target target, TargetPointer address) 13public ReadyToRunInfo(Target target, TargetPointer address) 24: TargetPointer.Null; 30: TargetPointer.Null; 39: TargetPointer.Null; 47internal TargetPointer CompositeInfo { get; } 49public TargetPointer ReadyToRunHeader { get; } 52public TargetPointer RuntimeFunctions { get; } 55public TargetPointer HotColdMap { get; } 57public TargetPointer DelayLoadMethodCallThunks { get; } 58public TargetPointer DebugInfoSection { get; } 59public TargetPointer ExceptionInfoSection { get; } 60public TargetPointer EntryPointToMethodDescMap { get; } 61public TargetPointer LoadedImageBase { get; } 62public TargetPointer Composite { get; } 64public TargetPointer ImportSections { get; }
Data\ReadyToRunSection.cs (2)
8static ReadyToRunSection IData<ReadyToRunSection>.Create(Target target, TargetPointer address) 11public ReadyToRunSection(Target target, TargetPointer address)
Data\RealCodeHeader.cs (7)
8static RealCodeHeader IData<RealCodeHeader>.Create(Target target, TargetPointer address) 11public RealCodeHeader(Target target, TargetPointer address) 22public TargetPointer MethodDesc { get; } 23public TargetPointer DebugInfo { get; } 24public TargetPointer EHInfo { get; } 25public TargetPointer GCInfo { get; } 27public TargetPointer UnwindInfos { get; }
Data\RegionFreeList.cs (3)
8static RegionFreeList IData<RegionFreeList>.Create(Target target, TargetPointer address) 11public RegionFreeList(Target target, TargetPointer address) 17public TargetPointer HeadFreeRegion { get; init; }
Data\RuntimeFunction.cs (2)
8static RuntimeFunction IData<RuntimeFunction>.Create(Target target, TargetPointer address) 11public RuntimeFunction(Target target, TargetPointer address)
Data\RuntimeThreadLocals.cs (2)
8static RuntimeThreadLocals IData<RuntimeThreadLocals>.Create(Target target, TargetPointer address) 11public RuntimeThreadLocals(Target target, TargetPointer address)
Data\SimpleComCallWrapper.cs (5)
10static SimpleComCallWrapper IData<SimpleComCallWrapper>.Create(Target target, TargetPointer address) => new SimpleComCallWrapper(target, address); 11public SimpleComCallWrapper(Target target, TargetPointer address) 22public TargetPointer OuterIUnknown { get; init; } 25public TargetPointer MainWrapper { get; init; } 26public TargetPointer VTablePtr { get; init; }
Data\StressLog.cs (4)
10static StressLog IData<StressLog>.Create(Target target, TargetPointer address) 13public StressLog(Target target, TargetPointer address) 48public TargetPointer? Modules { get; init; } 50public TargetPointer Logs { get; init; }
Data\StressLogChunk.cs (5)
8static StressLogChunk IData<StressLogChunk>.Create(Target target, TargetPointer address) 11public StressLogChunk(Target target, TargetPointer address) 23public TargetPointer Next { get; init; } 24public TargetPointer Prev { get; init; } 25public TargetPointer Buf { get; init; }
Data\StressLogModuleDesc.cs (3)
8static StressLogModuleDesc IData<StressLogModuleDesc>.Create(Target target, TargetPointer address) 11public StressLogModuleDesc(Target target, TargetPointer address) 19public TargetPointer BaseAddress { get; init; }
Data\StressMsg.cs (4)
11static StressMsg IData<StressMsg>.Create(Target target, TargetPointer address) 14public StressMsg(Target target, TargetPointer address) 22public TargetPointer Header { get; init; } 23public TargetPointer Args { get; init; }
Data\String.cs (3)
8static String IData<String>.Create(Target target, TargetPointer address) 11public String(Target target, TargetPointer address) 19public TargetPointer FirstChar { get; init; }
Data\StubPrecodeData.cs (6)
8static StubPrecodeData_1 IData<StubPrecodeData_1>.Create(Target target, TargetPointer address) 11public StubPrecodeData_1(Target target, TargetPointer address) 18public TargetPointer MethodDesc { get; init; } 24static StubPrecodeData_2 IData<StubPrecodeData_2>.Create(Target target, TargetPointer address) 27public StubPrecodeData_2(Target target, TargetPointer address) 34public TargetPointer SecretParam { get; init; }
Data\SyncBlock.cs (7)
8static SyncBlock IData<SyncBlock>.Create(Target target, TargetPointer address) 11public SyncBlock(Target target, TargetPointer address) 16TargetPointer interopInfoPointer = target.ReadPointerField(address, type, nameof(InteropInfo)); 17if (interopInfoPointer != TargetPointer.Null) 20if (lockHandle.Handle != TargetPointer.Null) 28public TargetPointer Address { get; init; } 32public TargetPointer LinkNext { get; init; }
Data\SyncBlockCache.cs (3)
8static SyncBlockCache IData<SyncBlockCache>.Create(Target target, TargetPointer address) 11public SyncBlockCache(Target target, TargetPointer address) 20public TargetPointer CleanupBlockList { get; init; }
Data\SyncTableEntry.cs (6)
8static SyncTableEntry IData<SyncTableEntry>.Create(Target target, TargetPointer address) 11public SyncTableEntry(Target target, TargetPointer address) 15TargetPointer syncBlockPointer = target.ReadPointerField(address, type, nameof(SyncBlock)); 16if (syncBlockPointer != TargetPointer.Null) 19TargetPointer objectPointer = target.ReadPointerField(address, type, nameof(Object)); 20if (objectPointer != TargetPointer.Null && (objectPointer & 1) == 0) // Defensive check: if the lowest bit is set, this is a free sync block entry and the pointer is not valid.
Data\SystemDomain.cs (4)
10static SystemDomain IData<SystemDomain>.Create(Target target, TargetPointer address) => new SystemDomain(target, address); 11public SystemDomain(Target target, TargetPointer address) 18public TargetPointer GlobalLoaderAllocator { get; init; } 19public TargetPointer SystemAssembly { get; init; }
Data\TableSegment.cs (7)
9static TableSegment IData<TableSegment>.Create(Target target, TargetPointer address) => new TableSegment(target, address); 10public TableSegment(Target target, TargetPointer address) 17TargetPointer rgTailPtr = address + (ulong)type.Fields[nameof(RgTail)].Offset; 21TargetPointer rgAllocationPtr = address + (ulong)type.Fields[nameof(RgAllocation)].Offset; 28TargetPointer rgUserDataPtr = address + (ulong)type.Fields[nameof(RgUserData)].Offset; 33public TargetPointer NextSegment { get; init; } 36public TargetPointer RgValue { get; init; }
Data\ThisPtrRetBufPrecodeData.cs (3)
8static ThisPtrRetBufPrecodeData IData<ThisPtrRetBufPrecodeData>.Create(Target target, TargetPointer address) 11public ThisPtrRetBufPrecodeData(Target target, TargetPointer address) 17public TargetPointer MethodDesc { get; init; }
Data\Thread.cs (10)
8static Thread IData<Thread>.Create(Target target, TargetPointer address) 11public Thread(Target target, TargetPointer address) 46public TargetPointer Frame { get; init; } 47public TargetPointer CachedStackBase { get; init; } 48public TargetPointer CachedStackLimit { get; init; } 52public TargetPointer LinkNext { get; init; } 53public TargetPointer ExceptionTracker { get; init; } 54public TargetPointer UEWatsonBucketTrackerBuckets { get; init; } 55public TargetPointer ThreadLocalDataPtr { get; init; } 56public TargetPointer DebuggerFilterContext { get; init; }
Data\ThreadLocalData.cs (5)
10static ThreadLocalData IData<ThreadLocalData>.Create(Target target, TargetPointer address) => new ThreadLocalData(target, address); 11public ThreadLocalData(Target target, TargetPointer address) 20public TargetPointer CollectibleTlsArrayData { get; init; } 21public TargetPointer NonCollectibleTlsArrayData { get; init; } 24public TargetPointer InFlightData { get; init; }
Data\ThreadStaticsInfo.cs (4)
10static ThreadStaticsInfo IData<ThreadStaticsInfo>.Create(Target target, TargetPointer address) => new ThreadStaticsInfo(target, address); 11public ThreadStaticsInfo(Target target, TargetPointer address) 17public TargetPointer GCTlsIndex { get; init; } 18public TargetPointer NonGCTlsIndex { get; init; }
Data\ThreadStore.cs (3)
8static ThreadStore IData<ThreadStore>.Create(Target target, TargetPointer address) 11public ThreadStore(Target target, TargetPointer address) 24public TargetPointer FirstThreadLink { get; init; }
Data\ThreadStressLog.cs (7)
8static ThreadStressLog IData<ThreadStressLog>.Create(Target target, TargetPointer address) 11public ThreadStressLog(Target target, TargetPointer address) 24public TargetPointer Next { get; init; } 27public TargetPointer CurrentPtr { get; init; } 28public TargetPointer ChunkListHead { get; init; } 29public TargetPointer ChunkListTail { get; init; } 30public TargetPointer CurrentWriteChunk { get; init; }
Data\TLSIndex.cs (2)
10static TLSIndex IData<TLSIndex>.Create(Target target, TargetPointer address) => new TLSIndex(target, address); 11public TLSIndex(Target target, TargetPointer address)
Data\TypeDesc.cs (13)
8static TypeDesc IData<TypeDesc>.Create(Target target, TargetPointer address) => new TypeDesc(target, address); 9public TypeDesc(Target target, TargetPointer address) 20static ParamTypeDesc IData<ParamTypeDesc>.Create(Target target, TargetPointer address) => new ParamTypeDesc(target, address); 21public ParamTypeDesc(Target target, TargetPointer address) 31public TargetPointer TypeArg { get; init; } 36static TypeVarTypeDesc IData<TypeVarTypeDesc>.Create(Target target, TargetPointer address) => new TypeVarTypeDesc(target, address); 37public TypeVarTypeDesc(Target target, TargetPointer address) 49public TargetPointer Module { get; init; } 55static FnPtrTypeDesc IData<FnPtrTypeDesc>.Create(Target target, TargetPointer address) => new FnPtrTypeDesc(target, address); 56public FnPtrTypeDesc(Target target, TargetPointer address) 65RetAndArgTypes = (TargetPointer)(address + (ulong)type.Fields[nameof(RetAndArgTypes)].Offset); 72public TargetPointer RetAndArgTypes { get; init; } 73public TargetPointer LoaderModule { get; init; }
Data\UnwindInfo.cs (2)
10static UnwindInfo IData<UnwindInfo>.Create(Target target, TargetPointer address) 13public UnwindInfo(Target target, TargetPointer address)
Data\VASigCookie.cs (3)
8static VASigCookie IData<VASigCookie>.Create(Target target, TargetPointer address) 11public VASigCookie(Target target, TargetPointer address) 21public TargetPointer SignaturePointer { get; init; }
Data\VirtualCallStubManager.cs (4)
8static VirtualCallStubManager IData<VirtualCallStubManager>.Create(Target target, TargetPointer address) 11public VirtualCallStubManager(Target target, TargetPointer address) 21public TargetPointer IndcellHeap { get; init; } 22public TargetPointer? CacheEntryHeap { get; init; }
Data\WebcilHeader.cs (2)
8static WebcilHeader IData<WebcilHeader>.Create(Target target, TargetPointer address) => new WebcilHeader(target, address); 9public WebcilHeader(Target target, TargetPointer address)
Data\WebcilSectionHeader.cs (2)
8static WebcilSectionHeader IData<WebcilSectionHeader>.Create(Target target, TargetPointer address) => new WebcilSectionHeader(target, address); 9public WebcilSectionHeader(Target target, TargetPointer address)
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\ExtensionMethods.cs (1)
20public static TargetPointer TypeDescAddress(this TypeHandle type)
RuntimeTypeSystemHelpers\MethodDescOptionalSlots.cs (6)
23internal static TargetPointer GetAddressOfNonVtableSlot(TargetPointer methodDesc, MethodClassification classification, ushort flags, Target target) 30internal static TargetPointer GetAddressOfNativeCodeSlot(TargetPointer methodDesc, MethodClassification classification, ushort flags, Target target) 37internal static TargetPointer GetAddressOfAsyncMethodData(TargetPointer methodDesc, MethodClassification classification, ushort flags, Target target)
RuntimeTypeSystemHelpers\MethodTableFlags_1.cs (5)
113internal static EEClassOrCanonMTBits GetEEClassOrCanonMTBits(TargetPointer eeClassOrCanonMTPtr) 118internal static TargetPointer UntagEEClassOrCanonMT(TargetPointer eeClassOrCanonMTPtr) 123internal static TargetPointer TagEEClassOrCanonMT(TargetPointer eeClassOrCanonMTPtr, EEClassOrCanonMTBits tag)
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);
RuntimeTypeSystemHelpers\TypeValidation.cs (23)
12private readonly TargetPointer _continuationMethodTablePointer; 14internal TypeValidation(Target target, TargetPointer continuationMethodTablePointer) 26internal TargetPointer Address { get; init; } 30internal NonValidatedMethodTable(Target target, TargetPointer methodTablePointer) 56internal TargetPointer EEClassOrCanonMT => _target.ReadPointer(Address + (ulong)_type.Fields[nameof(EEClassOrCanonMT)].Offset); 57internal TargetPointer EEClass => MethodTableFlags_1.GetEEClassOrCanonMTBits(EEClassOrCanonMT) == MethodTableFlags_1.EEClassOrCanonMTBits.EEClass ? EEClassOrCanonMT : throw new InvalidOperationException("not an EEClass"); 58internal TargetPointer CanonMT 74internal TargetPointer ParentMethodTable => _target.ReadPointer(Address + (ulong)_type.Fields[nameof(ParentMethodTable)].Offset); 82internal TargetPointer Address { get; init; } 84internal NonValidatedEEClass(Target target, TargetPointer eeClassPointer) 91internal TargetPointer MethodTable => _target.ReadPointer(Address + (ulong)_type.Fields[nameof(MethodTable)].Offset); 96internal static NonValidatedMethodTable GetMethodTableData(Target target, TargetPointer methodTablePointer) 101internal static NonValidatedEEClass GetEEClassData(Target target, TargetPointer eeClassPointer) 157TargetPointer eeClassPtr = GetClassThrowing(methodTable); 158if (eeClassPtr != TargetPointer.Null) 165TargetPointer methodTablePtrFromClass = eeClass.MethodTable; 177TargetPointer classFromMethodTable = GetClassThrowing(methodTableFromClass); 197private static bool ValidateDataReadable<T>(Target target, TargetPointer dataAddress) where T : IData<T> 210private TargetPointer GetClassThrowing(NonValidatedMethodTable methodTable) 212TargetPointer eeClassOrCanonMT = methodTable.EEClassOrCanonMT; 220TargetPointer canonicalMethodTablePtr = methodTable.CanonMT; 236return _continuationMethodTablePointer != TargetPointer.Null 240internal bool TryValidateMethodTablePointer(TargetPointer methodTablePointer)
Microsoft.Diagnostics.DataContractReader.Legacy (339)
ClrDataAppDomain.cs (3)
16private readonly TargetPointer _appDomain; 19public TargetPointer Address => _appDomain; 21public ClrDataAppDomain(Target target, TargetPointer appDomain, IXCLRDataAppDomain? legacyImpl)
ClrDataExceptionState.cs (12)
15private readonly TargetPointer _threadAddress; 17private readonly TargetPointer _thrownObjectHandle; 18private readonly TargetPointer _previousExInfoAddress; 23TargetPointer threadAddress, 25TargetPointer thrownObjectHandle, 26TargetPointer previousExInfoAddress, 46if (_previousExInfoAddress != TargetPointer.Null) 80if (_previousExInfoAddress == TargetPointer.Null) 88out TargetPointer nextNestedException, 89out TargetPointer prevExThrownObjectHandle); 126TargetPointer exceptionObject = _target.ReadPointer(_thrownObjectHandle); 128if (exceptionData.Message == TargetPointer.Null)
ClrDataFrame.cs (14)
111TargetPointer appDomainPointer = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 112TargetPointer appDomainAddr = _target.ReadPointer(appDomainPointer); 114if (appDomainAddr != TargetPointer.Null) 355TargetPointer methodDesc = stackWalk.GetMethodDescPtr(_dataFrame); 357if (methodDesc == TargetPointer.Null) 361TargetPointer appDomain = _target.ReadPointer( 408TargetPointer methodDescPtr = stackWalk.GetMethodDescPtr(_dataFrame); 409if (methodDescPtr == TargetPointer.Null) 414TargetPointer mtAddr = rts.GetMethodTable(mdh); 416TargetPointer modulePtr = rts.GetModule(typeHandle); 462TargetPointer ip = stackWalk.GetInstructionPointer(_dataFrame); 522TargetPointer ilHeader = loader.GetILHeader(moduleHandle, token); 523if (ilHeader == TargetPointer.Null) 762TargetPointer mtAddr = rts.GetMethodTable(mdh);
ClrDataMethodDefinition.cs (13)
19private readonly TargetPointer _module; 24TargetPointer module, 34private TargetPointer TryResolveMethodDesc() 39TargetPointer methodDescAddr = loader.GetModuleLookupMapElement(tables.MethodDefToDesc, _token, out _); 47TargetPointer mtAddr = rts.GetMethodTable(md); 121TargetPointer methodDescAddr = TryResolveMethodDesc(); 122if (methodDescAddr != TargetPointer.Null) 124SOSDacImpl.EnumMethodInstances emi = new(_target, methodDescAddr, TargetPointer.Null); 239if (_legacyImpl is not null && emi.LegacyHandle != TargetPointer.Null) 265TargetPointer methodDescAddr = TryResolveMethodDesc(); 267if (methodDescAddr != TargetPointer.Null) 458TargetPointer methodDescAddr = TryResolveMethodDesc(); 459if (methodDescAddr == TargetPointer.Null)
ClrDataMethodInstance.cs (5)
22private readonly TargetPointer _appDomain; 27TargetPointer appDomain, 65TargetPointer mtAddr = rts.GetMethodTable(_methodDesc); 67TargetPointer module = rts.GetModule(mainMT); 293TargetPointer codeStart = pCode.ToAddress(_target);
ClrDataModule.cs (13)
20private readonly TargetPointer _address; 23internal TargetPointer Address => _address; 41public ClrDataModule(TargetPointer address, Target target, IXCLRDataModule? legacyImpl) 131public TargetPointer LegacyHandle { get; set; } = TargetPointer.Null; 133public EnumMethodDefinitions(MetadataReader reader, uint flags, TargetPointer legacyHandle) 396if (_legacyModule != null && emd.LegacyHandle != TargetPointer.Null) 598TargetPointer peAssembly = contract.GetPEAssembly(moduleHandle); 606if (contract.TryGetLoadedImageContents(moduleHandle, out TargetPointer baseAddress, out uint size, out _)) 759TargetPointer peAssembly = contract.GetPEAssembly(moduleHandle); 766if (peAssembly != TargetPointer.Null) 778contract.TryGetLoadedImageContents(moduleHandle, out TargetPointer baseAddress, out uint size, out uint flags); 789if (contract.TryGetSymbolStream(moduleHandle, out TargetPointer symbolBuffer, out uint symbolBufferSize))
ClrDataStackWalk.cs (3)
17private readonly TargetPointer _threadAddr; 25public ClrDataStackWalk(TargetPointer threadAddr, uint flags, Target target, IXCLRDataStackWalk? legacyImpl) 160TargetPointer frameAddr = sw.GetFrameAddress(frameData);
ClrDataTask.cs (8)
15private readonly TargetPointer _address; 19public ClrDataTask(TargetPointer address, Target target, IXCLRDataTask? legacyImpl) 41TargetPointer currentAppDomain = _target.ReadPointer(_target.ReadGlobalPointer(Constants.Globals.AppDomain)); 109TargetPointer thrownObjectHandle = _target.Contracts.Thread.GetCurrentExceptionHandle(_address); 110if (thrownObjectHandle == TargetPointer.Null) 151TargetPointer thrownObjectHandle = threadData.LastThrownObjectHandle; 152if (thrownObjectHandle == TargetPointer.Null) 158exception.Interface = new ClrDataExceptionState(_target, _address, (uint)CLRDataExceptionStateFlag.CLRDATA_EXCEPTION_PARTIAL, thrownObjectHandle, TargetPointer.Null, legacyExceptionState);
ConversionExtensions.cs (3)
17public static ClrDataAddress ToClrDataAddress(this TargetPointer address, Target target) 49public static TargetPointer ToTargetPointer(this ClrDataAddress address, Target target, bool overrideCheck = false) 89public static TargetPointer ToAddress(this TargetCodePointer code, Target target)
Dbi\DacDbiImpl.cs (43)
44if (!_target.TryReadGlobalPointer(Constants.Globals.ProfilerControlBlock, out TargetPointer? profControlBlockAddress)) 48TargetPointer mainProfInterface = _target.ReadPointerField(profControlBlockAddress.Value, type, "MainProfilerProfInterface"); 50return mainProfInterface != TargetPointer.Null || notificationCount > 0; 279if (!isDynamic && loader.TryGetLoadedImageContents(handle, out TargetPointer baseAddress, out uint size, out uint _)) 316TargetPointer modulePtr = loader.GetModule(handle); 447TargetPointer assembly = loader.GetAssembly(handle); 607TargetPointer currentThread = threadStore.FirstThread; 608while (currentThread != TargetPointer.Null) 720TargetPointer threadPtr = new TargetPointer(vmThread); 784TargetPointer threadPtr = new TargetPointer(vmThread); 918TargetPointer threadPtr = new TargetPointer(vmThread); 919TargetPointer exceptionHandle = _target.Contracts.Thread.GetCurrentExceptionHandle(threadPtr); 920if (exceptionHandle == TargetPointer.Null) 951TargetPointer objectHandle = TargetPointer.Null; 952TargetPointer ccwAddress = new(ccwPtr); 957TargetPointer managedObjectWrapper = comWrappers.GetManagedObjectWrapperFromCCW(ccwAddress); 958if (managedObjectWrapper != TargetPointer.Null) 966TargetPointer ccw = builtInCOM.GetCCWFromInterfacePointer(ccwAddress); 967if (ccw == TargetPointer.Null) 1026TargetPointer appDomainPtr = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 1055TargetPointer referencedModule = loader.GetModuleLookupMapElement(lookupTables.ManifestModuleReferences, tkAssemblyRef, out _); 1056if (referencedModule != TargetPointer.Null) 1238TargetPointer argBase = signature.GetVarArgArgsBase(new TargetPointer(VASigCookieAddr)); 1239signature.GetVarArgSignature(new TargetPointer(VASigCookieAddr), out TargetPointer sigAddr, out uint sigLen); 1439TargetPointer module = new TargetPointer(vmModule); 1489TargetPointer fd = new TargetPointer(vmField); 1522TargetPointer fd = new TargetPointer(vmField); 1566TargetPointer module = rts.GetModule(typeHandle); 1567if (module == TargetPointer.Null) 1606_ = obj.GetBuiltInComData(new TargetPointer(vmObject), out TargetPointer rcw, out _, out _); 1607*pResult = rcw != TargetPointer.Null ? Interop.BOOL.TRUE : Interop.BOOL.FALSE; 1732TargetPointer obj = _target.ReadPointer(new TargetPointer(vmHandle)); 1733*pResult = obj != TargetPointer.Null ? Interop.BOOL.TRUE : Interop.BOOL.FALSE; 1851TargetPointer gen0AllocStart = heapData.GenerationTable[0].AllocationStart; 1852TargetPointer gen1AllocStart = heapData.GenerationTable[1].AllocationStart; 1925foreach (TargetPointer heapAddress in gc.GetGCHeaps()) 1961TargetPointer mt = _target.Contracts.Object.GetMethodTableAddress(new TargetPointer(obj)); 2035TargetPointer parentMT = rts.GetParentMethodTable(typeHandle); 2040if (parentMT != TargetPointer.Null) 2272TargetPointer methodDesc = TargetPointer.Null; 2278if (methodDesc != TargetPointer.Null)
HeaderReaderHelpers.cs (1)
17public static bool TryGetLocalVarSigToken(Target target, TargetPointer ilHeader, out int localVarSigToken)
IEnum.cs (1)
10TargetPointer LegacyHandle { get; }
SigFormat.cs (4)
158TargetPointer typeHandlePointer = target.ReadPointerFromSpan(signature.ReadBytes(target.PointerSize)); 181TargetPointer modulePointer = target.Contracts.RuntimeTypeSystem.GetModule(th); 347TargetPointer modulePointer = target.Contracts.RuntimeTypeSystem.GetModule(typeHandle); 392runtimeTypeSystem.IsGenericVariable(typeHandle, out TargetPointer genericVariableModulePointer, out uint typeVarToken);
SOSDacImpl.cs (167)
43private readonly Lazy<TargetPointer> _stringMethodTable; 44private readonly Lazy<TargetPointer> _objectMethodTable; 70_stringMethodTable = new Lazy<TargetPointer>( 73_objectMethodTable = new Lazy<TargetPointer>( 129TargetPointer systemDomainPointer = _target.ReadGlobalPointer(Constants.Globals.SystemDomain); 132TargetPointer globalLoaderAllocator = loader.GetGlobalLoaderAllocator(); 139TargetPointer pAppDomain = addr.ToTargetPointer(_target); 196TargetPointer appDomainPointer = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 197TargetPointer appDomain = _target.ReadPointer(appDomainPointer); 199if (appDomain != TargetPointer.Null && values.Length > 0) 236TargetPointer systemDomainPtr = _target.ReadGlobalPointer(Constants.Globals.SystemDomain); 311TargetPointer systemDomainPtr = _target.ReadGlobalPointer(Constants.Globals.SystemDomain); 313TargetPointer appDomainPtr = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 366TargetPointer ppAppDomain = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 367TargetPointer pAppDomain = _target.ReadPointer(ppAppDomain); 417TargetPointer appDomain = addr.ToTargetPointer(_target); 418TargetPointer systemDomainPtr = _target.ReadGlobalPointer(Constants.Globals.SystemDomain); 501TargetPointer addr = assembly.ToTargetPointer(_target); 504TargetPointer modulePointer = loader.GetModule(handle); 597TargetPointer ccwPtr = contract.GetCCWFromInterfacePointer(ccw.ToTargetPointer(_target)); 598if (ccwPtr == TargetPointer.Null) 608TargetPointer handle = contract.GetObjectHandle(ccwPtr); 610if (handle != TargetPointer.Null) 669TargetPointer startCCW = builtInCOMContract.GetCCWFromInterfacePointer(ccw.ToTargetPointer(_target)); 670if (startCCW == TargetPointer.Null) 800TargetPointer methodDesc = eman.NonVirtualEntry2MethodDesc(targetCodePointer); 801if (methodDesc == TargetPointer.Null) 825eman.GetGCInfo(cbh, out TargetPointer pGcInfo, out uint gcVersion); 839eman.GetMethodRegionInfo(cbh, out uint hotRegionSize, out TargetPointer coldRegionStart, out uint coldRegionSize); 1084TargetPointer fieldDescTargetPtr = fieldDesc.ToTargetPointer(_target); 1092TargetPointer enclosingMT = rtsContract.GetMTOfEnclosingClass(fieldDescTargetPtr); 1094TargetPointer modulePtr = rtsContract.GetModule(ctx); 1320List<TargetPointer> gcHeaps = gc.GetGCHeaps().ToList(); 1379gc.GetGCBounds(out TargetPointer minAddress, out TargetPointer maxAddress); 1512gc.GetGCBounds(out TargetPointer minAddress, out TargetPointer maxAddress); 1645TargetPointer appDomainPointer = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 1646TargetPointer appDomain = _target.ReadPointer(appDomainPointer); 2085TargetPointer module = moduleAddr.ToTargetPointer(_target); 2087TargetPointer peAssemblyPtr = loader.GetPEAssembly(moduleHandle); 2203private bool IsJumpRel64(TargetPointer pThunk) 2209private TargetPointer DecodeJump64(TargetPointer pThunk) 2231TargetPointer pThunk = context.InstructionPointer; 2281TargetPointer methodDesc = addr.ToTargetPointer(_target); 2335TargetPointer methodTableAddr = rtsContract.GetMethodTable(methodDescHandle); 2568TargetPointer module = moduleAddr.ToTargetPointer(_target); 2616TargetPointer methodDesc = addr.ToTargetPointer(_target); 2646TargetPointer modulePtr = rtsContract.GetModule(rtsContract.GetTypeHandle(rtsContract.GetMethodTable(methodDescHandle))); 2705TargetPointer methodDescPtr = stackWalkContract.GetMethodDescPtr(frameAddr.ToTargetPointer(_target)); 2706if (methodDescPtr == TargetPointer.Null) 2746TargetPointer methodDescAddr = executionManager.GetMethodDesc(codeHandle); 2884TargetPointer mtAddress = mt.ToTargetPointer(_target); 2963TargetPointer modulePointer = typeSystemContract.GetModule(methodTableHandle); 3027TargetPointer methodTable = mt.ToTargetPointer(_target); 3043foreach (TargetPointer mdAddr in rts.GetIntroducedMethodDescs(methodTableHandle)) 3227TargetPointer exceptionObjectLocal = contract.GetNestedExceptionInfo( 3229out TargetPointer nextNestedExceptionLocal, 3268TargetPointer mt = objectContract.GetMethodTableAddress(obj.ToTargetPointer(_target)); 3271TargetPointer modulePointer = rts.GetModule(typeHandle); 3272if (modulePointer == TargetPointer.Null) 3339TargetPointer objPtr = objAddr.ToTargetPointer(_target); 3340TargetPointer mt = objectContract.GetMethodTableAddress(objPtr); 3373TargetPointer arrayData = objectContract.GetArrayData(objPtr, out uint numComponents, out TargetPointer boundsStart, out TargetPointer lowerBounds); 3400&& objectContract.GetBuiltInComData(objPtr, out TargetPointer rcw, out TargetPointer ccw, out _)) 3689TargetPointer rcwPtr = addr.ToTargetPointer(_target); 3747TargetPointer rcwPtr = rcw.ToTargetPointer(_target); 3749IEnumerable<(TargetPointer MethodTable, TargetPointer Unknown)> entries = builtInCom.GetRCWInterfaces(rcwPtr); 3767TargetPointer ctxCookie = builtInCom.GetRCWContext(rcwPtr); 3948TargetPointer stackBase, stackLimit, frameAddress; 4055TargetPointer threadAddr = threadStore.FirstThread; 4056while (threadAddr != TargetPointer.Null) 4138TargetPointer syncBlockPtr; 4148if (syncBlockPtr != TargetPointer.Null) 4152if (syncBlockContract.GetBuiltInComData(syncBlockPtr, out TargetPointer rcw, out TargetPointer ccw, out TargetPointer ccf)) 4206TargetPointer obj = syncBlock.GetSyncBlockObject(number); 4208if (syncBlock.GetSyncBlock(number) is TargetPointer syncBlockAddr && syncBlockAddr != TargetPointer.Null) 4211if (syncBlock.GetBuiltInComData(syncBlockAddr, out TargetPointer rcw, out TargetPointer ccw, out TargetPointer ccf)) 4213data->COMFlags = (rcw & ~(_rcwMask)) != TargetPointer.Null ? (uint)DacpSyncBlockData.COMFlagsEnum.HasRCW : 0; 4214data->COMFlags |= ccw != TargetPointer.Null ? (uint)DacpSyncBlockData.COMFlagsEnum.HasCCW : 0; 4215data->COMFlags |= ccf != TargetPointer.Null ? (uint)DacpSyncBlockData.COMFlagsEnum.HasCCF : 0; 4223TargetPointer threadPtr = thread.IdToThread(owningThreadId); 4227TargetPointer appDomainPointer = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 4228TargetPointer appDomain = _target.ReadPointer(appDomainPointer); 4321TargetPointer appDomainPointer = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 4322TargetPointer appDomain = _target.ReadPointer(appDomainPointer); 4372TargetPointer threadPtr = _target.Contracts.Thread.IdToThread(thinLockId); 4674ehInfo.moduleAddr = clause.ModuleAddr is TargetPointer moduleAddr ? moduleAddr.ToClrDataAddress(_target) : 0; 4737private int TraverseLoaderHeapCore(TargetPointer loaderHeapAddr, delegate* unmanaged<ulong, nuint, Interop.BOOL, void> pCallback) 4746if (loaderHeapAddr == TargetPointer.Null || pCallback is null) 4751TargetPointer block = loader.GetFirstLoaderHeapBlock(loaderHeapAddr); 4752TargetPointer firstBlock = block; 4754while (block != TargetPointer.Null && i++ < iterationMax) 4823IEnumerable<(TargetPointer Address, uint Index)> elements = Enumerable.Empty<(TargetPointer, uint)>(); 4830TargetPointer moduleAddrPtr = moduleAddr.ToTargetPointer(_target); 4844foreach ((TargetPointer element, uint index) in elements) 4896TargetPointer listPtr = cleanupListPtr.ToTargetPointer(_target); 4940TargetPointer globalLoaderAllocator = loader.GetGlobalLoaderAllocator(); 4941IReadOnlyDictionary<Contracts.LoaderAllocatorHeapType, TargetPointer> heaps = loader.GetLoaderAllocatorHeaps(globalLoaderAllocator); 4953if (heaps.TryGetValue(heapKey, out TargetPointer heap) && heap != TargetPointer.Null) 5254TargetPointer basePtr = _target.ReadGlobalPointer(Constants.Globals.ClrNotificationArguments); 5309TargetPointer methodDescPtr = methodDesc.ToTargetPointer(_target); 5318TargetPointer modulePtr = runtimeTypeSystemContract.GetModule(runtimeTypeSystemContract.GetTypeHandle(runtimeTypeSystemContract.GetMethodTable(methodDescHandle))); 5321TargetPointer r2rImageBase = TargetPointer.Null; 5322TargetPointer r2rImageEnd = TargetPointer.Null; 5335TargetPointer nativeCodeAddr = nativeCode.ToAddress(_target); 5440TargetPointer modulePtr = rtsContract.GetLoaderModule(typeHandle); 5442TargetPointer loaderAllocator = loaderContract.GetLoaderAllocator(moduleHandle); 5443TargetPointer loaderAllocatorHandle = loaderContract.GetObjectHandle(loaderAllocator); 5479TargetPointer methodDescPtr = methodDesc.ToTargetPointer(_target); 5519TargetPointer methodDescPtr = methodDesc.ToTargetPointer(_target); 5585TargetPointer methodDescPtr = methodDesc.ToTargetPointer(_target); 5588TargetPointer mt = rts.GetMethodTable(mdh); 5590TargetPointer modulePtr = rts.GetModule(typeHandle); 5603TargetPointer il = loader.GetDynamicIL(moduleHandle, token); 5643TargetPointer modulePtr = mod.ToTargetPointer(_target); 5646foreach ((TargetPointer ptr, _) in loader.EnumerateModuleLookupMap(loader.GetLookupTables(moduleHandle).TypeDefToMethodTable)) 5651foreach (TargetPointer md in rts.GetIntroducedMethodDescs(typeHandle)) 6011TargetPointer alc = loaderContract.GetAssemblyLoadContext(moduleHandle); 6065TargetPointer objPtr = objAddr.ToTargetPointer(_target); 6067TargetPointer rcwObj = comWrappersContract.GetComWrappersRCWForObject(objPtr); 6068if (rcwObj != TargetPointer.Null) 6075List<TargetPointer> mows = comWrappersContract.GetMOWs(objPtr, out bool hasMOWTable); 6088TargetPointer comIdentity = comWrappersContract.GetIdentityForMOW(mows[i]); 6134TargetPointer ccwPtr = comWrappersContract.GetManagedObjectWrapperFromCCW(ccw.ToTargetPointer(_target)); 6135*isComWrappersCCW = (ccwPtr != TargetPointer.Null) ? Interop.BOOL.TRUE : Interop.BOOL.FALSE; 6136hr = (ccwPtr != TargetPointer.Null) ? HResults.S_OK : HResults.S_FALSE; 6164TargetPointer ccwPtr = ccw.ToTargetPointer(_target); 6166TargetPointer managedObjectPtr = comWrappersContract.GetManagedObjectWrapperFromCCW(ccwPtr); 6167if (managedObjectPtr == TargetPointer.Null) 6215TargetPointer rcwPtr = rcw.ToTargetPointer(_target) & ~_rcwMask; 6251TargetPointer identityPtr = comWrappersContract.GetComWrappersIdentity(rcw.ToTargetPointer(_target) & ~_rcwMask); 6287TargetPointer objPtr = objAddr.ToTargetPointer(_target); 6290TargetPointer mt = objectContract.GetMethodTableAddress(objPtr); 6291if (mt == TargetPointer.Null) 6303TargetPointer taggedMemoryPtr = objcContract.GetTaggedMemory(objPtr, out _); 6304if (taggedMemoryPtr != TargetPointer.Null) 6340TargetPointer objPtr = objAddr.ToTargetPointer(_target); 6343TargetPointer taggedMemoryPtr = objcContract.GetTaggedMemory(objPtr, out TargetNUInt taggedMemorySizeNUInt); 6344if (taggedMemoryPtr != TargetPointer.Null) 6384gcContract.GetGlobalAllocationContext(out TargetPointer pointer, out TargetPointer limit); 6451TargetPointer globalLoaderAllocator = contract.GetGlobalLoaderAllocator(); 6585IReadOnlyDictionary<LoaderAllocatorHeapType, TargetPointer> heaps = contract.GetLoaderAllocatorHeaps(loaderAllocator.ToTargetPointer(_target)); 6600pLoaderHeaps[i] = heaps.TryGetValue(filteredEntries[i].HeapType, out TargetPointer heapAddr) 6776TargetPointer methodTablePtr = methodTable.ToTargetPointer(_target); 6777TargetPointer threadPtr = thread.ToTargetPointer(_target); 6889TargetPointer mdAddr = TargetPointer.Null; 6899if (mdAddr != TargetPointer.Null) 6905TargetPointer mtAddr = _rts.GetMethodTable(mdh); 6919foreach (TargetPointer mdAddr in _rts.GetIntroducedMethodDescs(_methodTable)) 6929TargetPointer mtAddr = _rts.GetMethodTable(mdh);
SOSDacImpl.IXCLRDataProcess.cs (44)
46TargetPointer thread = contract.GetThreadStoreData().FirstThread; 47TargetPointer matchingThread = TargetPointer.Null; 48while (thread != TargetPointer.Null) 60if (matchingThread == TargetPointer.Null) 126TargetPointer entryPoint = precodeStubs.GetPrecodeEntryPointFromInteriorAddress(codeAddr, codeKind == CodeKind.FixupPrecode); 127TargetPointer methodDesc = eman.NonVirtualEntry2MethodDesc(new TargetCodePointer(entryPoint.Value)); 128if (methodDesc != TargetPointer.Null) 252private readonly TargetPointer _mainMethodDesc; 253public readonly TargetPointer _appDomain; 258public TargetPointer LegacyHandle { get; set; } = TargetPointer.Null; 260public EnumMethodInstances(Target target, TargetPointer methodDesc, TargetPointer appDomain) 264if (appDomain == TargetPointer.Null) 266TargetPointer appDomainPointer = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 294IEnumerable<TargetPointer> methodInstantiations = _loader.GetInstantiatedMethods(moduleHandle); 296foreach (TargetPointer methodPtr in methodInstantiations) 304IEnumerable<TargetPointer> typeParams = _loader.GetAvailableTypeParams(moduleHandle); 306foreach (TargetPointer type in typeParams) 348TargetPointer mtAddr = _rts.GetMethodTable(mainMD); 350TargetPointer mainModule = _rts.GetModule(mainMT); 399TargetPointer cmt = _rts.GetCanonicalMethodTable(typeParam); 402TargetPointer methodDescAddr = _rts.GetMethodDescForSlot(cmtHandle, slotNum); 403if (methodDescAddr == TargetPointer.Null) continue; 428TargetPointer mtAddr = rts.GetMethodTable(md); 469eman.GetMethodDesc(cbh) is TargetPointer methodDesc) 471EnumMethodInstances emi = new(_target, methodDesc, TargetPointer.Null); 585if (_legacyProcess != null && emi.LegacyHandle != TargetPointer.Null) 620Span<TargetPointer> exInfo = stackalloc TargetPointer[EXCEPTION_RECORD64.ExceptionMaximumParameters]; 660TargetPointer appDomainPointer = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 661TargetPointer appDomain = _target.ReadPointer(appDomainPointer); 681TargetPointer thrownObjectHandle = thread.GetCurrentExceptionHandle(exception.ThreadAddress); 722TargetPointer appDomainPointer = _target.ReadGlobalPointer(Constants.Globals.AppDomain); 723TargetPointer appDomain = _target.ReadPointer(appDomainPointer); 802TargetPointer moduleAddr = TargetPointer.Null; 859TargetPointer moduleAddr = TargetPointer.Null; 926TargetPointer moduleAddr = TargetPointer.Null; 990TargetPointer dacNotificationFlags = _target.ReadGlobalPointer(Constants.Globals.DacNotificationFlags); 1100private static TargetPointer GetModuleAddress(void* comModulePtr)
TypeNameBuilder.cs (5)
170TargetPointer moduleOfOwner = runtimeTypeSystem.GetModule(approxOwner); 175TargetPointer moduleOfPossiblyDerivedType = runtimeTypeSystem.GetModule(possiblyDerivedType); 182TargetPointer parentTypePointer = runtimeTypeSystem.GetParentMethodTable(possiblyDerivedType); 228else if (typeSystemContract.IsGenericVariable(typeHandle, out TargetPointer modulePointer, out uint genericParamToken)) 320TargetPointer modulePtr = typeSystemContract.GetModule(typeHandle);