1 write to _target
Microsoft.Diagnostics.DataContractReader.Legacy (1)
SOSDacImpl.cs (1)
69_target = target;
529 references to _target
Microsoft.Diagnostics.DataContractReader.Legacy (529)
SOSDacImpl.cs (460)
124Contracts.ILoader loader = _target.Contracts.Loader; 129data->AppDomainPtr = appDomain.ToClrDataAddress(_target); 131data->pHighFrequencyHeap = loader.GetHighFrequencyHeap(globalLoaderAllocator).ToClrDataAddress(_target); 132data->pLowFrequencyHeap = loader.GetLowFrequencyHeap(globalLoaderAllocator).ToClrDataAddress(_target); 191TargetPointer appDomain = _target.Contracts.Loader.GetAppDomain(); 195values[0] = appDomain.ToClrDataAddress(_target); 231ILoader loader = _target.Contracts.Loader; 304TargetPointer defaultAppDomain = _target.Contracts.Loader.GetAppDomain(); 359TargetPointer defaultAppDomain = _target.Contracts.Loader.GetAppDomain(); 360data->ParentDomain = defaultAppDomain.ToClrDataAddress(_target); 362ILoader loader = _target.Contracts.Loader; 363Contracts.ModuleHandle moduleHandle = loader.GetModuleHandleFromAssemblyPtr(assembly.ToTargetPointer(_target)); 409ILoader loader = _target.Contracts.Loader; 428values[n++] = loader.GetAssembly(module).ToClrDataAddress(_target); 495TargetPointer addr = assembly.ToTargetPointer(_target); 496Contracts.ILoader loader = _target.Contracts.Loader; 499modules[0] = modulePointer.ToClrDataAddress(_target); 540Contracts.ILoader contract = _target.Contracts.Loader; 541Contracts.ModuleHandle handle = contract.GetModuleHandleFromAssemblyPtr(assembly.ToTargetPointer(_target)); 591Contracts.IBuiltInCOM contract = _target.Contracts.BuiltInCOM; 593TargetPointer ccwPtr = contract.GetCCWFromInterfacePointer(ccw.ToTargetPointer(_target)); 595ccwPtr = ccw.ToTargetPointer(_target); 603data->outerIUnknown = sccwData.OuterIUnknown.ToClrDataAddress(_target); 605data->handle = handle.ToClrDataAddress(_target); 608data->managedObject = _target.ReadPointer(handle).ToClrDataAddress(_target); 610data->ccwAddress = ccwPtr.ToClrDataAddress(_target); 663Contracts.IBuiltInCOM builtInCOMContract = _target.Contracts.BuiltInCOM; // E_NOTIMPL if contract is not present 666TargetPointer startCCW = builtInCOMContract.GetCCWFromInterfacePointer(ccw.ToTargetPointer(_target)); 668startCCW = ccw.ToTargetPointer(_target); 693interfaces[itemIndex].methodTable = item.MethodTable.ToClrDataAddress(_target); 694interfaces[itemIndex].interfacePtr = item.InterfacePointerAddress.ToClrDataAddress(_target); 742if (_target.Contracts.RuntimeInfo.GetTargetOperatingSystem() != RuntimeInfoOperatingSystem.Windows) 748buckets = _target.Contracts.WindowsErrorReporting.GetWatsonBuckets(thread.ToTargetPointer(_target)); 767int sizeOfGenericModeBlock = (int)_target.ReadGlobal<uint>(Constants.Globals.SizeOfGenericModeBlock); 792IExecutionManager eman = _target.Contracts.ExecutionManager; 793IGCInfo gcInfo = _target.Contracts.GCInfo; 795TargetCodePointer targetCodePointer = ip.ToTargetCodePointer(_target); 801data->MethodDescPtr = methodDesc.ToClrDataAddress(_target); 812data->MethodDescPtr = eman.GetMethodDesc(cbh).ToClrDataAddress(_target); 824data->GCInfo = pGcInfo.ToClrDataAddress(_target); 840data->ColdRegionStart = coldRegionStart.ToClrDataAddress(_target); 878IExecutionManager em = _target.Contracts.ExecutionManager; 881Debug.Assert(jitManager.ToTargetPointer(_target) == jitManagerInfo.ManagerAddress); 895codeHeaps[i].LoaderHeap = loader.LoaderHeapAddress.ToClrDataAddress(_target); 899codeHeaps[i].baseAddr = host.BaseAddress.ToClrDataAddress(_target); 900codeHeaps[i].currentAddr = host.CurrentAddress.ToClrDataAddress(_target); 1101IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 1102IEcmaMetadata ecmaMetadataContract = _target.Contracts.EcmaMetadata; 1104TargetPointer fieldDescTargetPtr = fieldDesc.ToTargetPointer(_target); 1115Contracts.ModuleHandle moduleHandle = _target.Contracts.Loader.GetModuleHandleFromModulePtr(modulePtr); 1131data->MTOfType = rtsContract.GetPrimitiveType(CorElementType.U).Address.ToClrDataAddress(_target); 1134data->MTOfType = foundTypeHandle.Address.ToClrDataAddress(_target); 1139data->MTOfType = paramTypeHandle.Address.ToClrDataAddress(_target); 1142data->MTOfType = foundTypeHandle.Address.ToClrDataAddress(_target); 1179data->ModuleOfType = modulePtr.ToClrDataAddress(_target); 1181data->MTOfEnclosingClass = ctx.Address.ToClrDataAddress(_target); 1187? nextFieldDesc.ToClrDataAddress(_target) 1231IStackWalk stackWalk = _target.Contracts.StackWalk; 1282IGC gc = _target.Contracts.GC; 1327IGC gc = _target.Contracts.GC; 1348heaps[i] = gcHeaps[(int)i].ToClrDataAddress(_target); 1393IGC gc = _target.Contracts.GC; 1400GCHeapData heapData = gc.GetHeapData(heap.ToTargetPointer(_target)); 1405details->lowest_address = minAddress.ToClrDataAddress(_target); 1406details->highest_address = maxAddress.ToClrDataAddress(_target); 1411details->mark_array = heapData.MarkArray.ToClrDataAddress(_target); 1412details->next_sweep_obj = heapData.NextSweepObject.ToClrDataAddress(_target); 1413details->background_saved_lowest_address = heapData.BackGroundSavedMinAddress.ToClrDataAddress(_target); 1414details->background_saved_highest_address = heapData.BackGroundSavedMaxAddress.ToClrDataAddress(_target); 1427details->alloc_allocated = heapData.AllocAllocated.ToClrDataAddress(_target); 1428details->ephemeral_heap_segment = heapData.EphemeralHeapSegment.ToClrDataAddress(_target); 1429details->card_table = heapData.CardTable.ToClrDataAddress(_target); 1442details->saved_sweep_ephemeral_seg = heapData.SavedSweepEphemeralSegment.ToClrDataAddress(_target); 1443details->saved_sweep_ephemeral_start = heapData.SavedSweepEphemeralStart.ToClrDataAddress(_target); 1456details->generation_table[i].start_segment = genData.StartSegment.ToClrDataAddress(_target); 1457details->generation_table[i].allocation_start = genData.AllocationStart.ToClrDataAddress(_target); 1458details->generation_table[i].allocContextPtr = genData.AllocationContextPointer.ToClrDataAddress(_target); 1459details->generation_table[i].allocContextLimit = genData.AllocationContextLimit.ToClrDataAddress(_target); 1464details->finalization_fill_pointers[i] = heapData.FillPointers[i].ToClrDataAddress(_target); 1527IGC gc = _target.Contracts.GC; 1539details->lowest_address = minAddress.ToClrDataAddress(_target); 1540details->highest_address = maxAddress.ToClrDataAddress(_target); 1545details->mark_array = heapData.MarkArray.ToClrDataAddress(_target); 1546details->next_sweep_obj = heapData.NextSweepObject.ToClrDataAddress(_target); 1547details->background_saved_lowest_address = heapData.BackGroundSavedMinAddress.ToClrDataAddress(_target); 1548details->background_saved_highest_address = heapData.BackGroundSavedMaxAddress.ToClrDataAddress(_target); 1561details->alloc_allocated = heapData.AllocAllocated.ToClrDataAddress(_target); 1562details->ephemeral_heap_segment = heapData.EphemeralHeapSegment.ToClrDataAddress(_target); 1563details->card_table = heapData.CardTable.ToClrDataAddress(_target); 1576details->saved_sweep_ephemeral_seg = heapData.SavedSweepEphemeralSegment.ToClrDataAddress(_target); 1577details->saved_sweep_ephemeral_start = heapData.SavedSweepEphemeralStart.ToClrDataAddress(_target); 1590details->generation_table[i].start_segment = genData.StartSegment.ToClrDataAddress(_target); 1591details->generation_table[i].allocation_start = genData.AllocationStart.ToClrDataAddress(_target); 1592details->generation_table[i].allocContextPtr = genData.AllocationContextPointer.ToClrDataAddress(_target); 1593details->generation_table[i].allocContextLimit = genData.AllocationContextLimit.ToClrDataAddress(_target); 1598details->finalization_fill_pointers[i] = heapData.FillPointers[i].ToClrDataAddress(_target); 1897IGC gc = _target.Contracts.GC; 1909ppHandleEnum.Interface = new SOSHandleEnum(_target, supportedHandleTypes, legacyHandleEnum, _apiLock); 1939IGC gc = _target.Contracts.GC; 1941ppHandleEnum.Interface = new SOSHandleEnum(_target, handleTypes, legacyHandleEnum, _apiLock); 1964IGC gc = _target.Contracts.GC; 1971GCHeapData heapData = gc.GetHeapData(addr.ToTargetPointer(_target)); 1974data->internal_root_array = (heapData.InternalRootArray ?? TargetPointer.Null).ToClrDataAddress(_target); 2010IGC gc = _target.Contracts.GC; 2021data->internal_root_array = (heapData.InternalRootArray ?? TargetPointer.Null).ToClrDataAddress(_target); 2057IGC gc = _target.Contracts.GC; 2059GCHeapSegmentData segmentData = gc.GetHeapSegmentData(seg.ToTargetPointer(_target)); 2062data->allocated = segmentData.Allocated.ToClrDataAddress(_target); 2063data->committed = segmentData.Committed.ToClrDataAddress(_target); 2064data->reserved = segmentData.Reserved.ToClrDataAddress(_target); 2065data->used = segmentData.Used.ToClrDataAddress(_target); 2066data->mem = segmentData.Mem.ToClrDataAddress(_target); 2067data->next = segmentData.Next.ToClrDataAddress(_target); 2068data->gc_heap = segmentData.Heap.ToClrDataAddress(_target); 2070data->background_allocated = segmentData.BackgroundAllocated.ToClrDataAddress(_target); 2078if (seg.ToTargetPointer(_target) == heapData.EphemeralHeapSegment) 2080data->highAllocMark = heapData.AllocAllocated.ToClrDataAddress(_target); 2143Contracts.ILoader loader = _target.Contracts.Loader; 2144TargetPointer module = moduleAddr.ToTargetPointer(_target); 2147*il = loader.GetILAddr(peAssemblyPtr, rva).ToClrDataAddress(_target); 2173if (!_target.Contracts.AuxiliarySymbols.TryGetAuxiliarySymbolName(ip.ToTargetPointer(_target), out string? symbolName)) 2219Contracts.JitManagerInfo jitManagerInfo = _target.Contracts.ExecutionManager.GetEEJitManagerInfo(); 2220managers->managerAddr = jitManagerInfo.ManagerAddress.ToClrDataAddress(_target); 2222managers->ptrHeapList = jitManagerInfo.HeapListAddress.ToClrDataAddress(_target); 2265=> 0x48 == _target.Read<byte>(pThunk) && 22660xB8 == _target.Read<byte>(pThunk + 1) && 22670xFF == _target.Read<byte>(pThunk + 10) && 22680xE0 == _target.Read<byte>(pThunk + 11); 2274return _target.ReadPointer(pThunk + 2); 2286if (_target.Contracts.RuntimeInfo.GetTargetArchitecture() != RuntimeInfoArchitecture.X64) 2289IPlatformAgnosticContext context = IPlatformAgnosticContext.GetContextForPlatform(_target); 2298*targetIP = DecodeJump64(pThunk).ToClrDataAddress(_target); 2342Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 2344TargetPointer methodDesc = addr.ToTargetPointer(_target); 2346Contracts.ICodeVersions nativeCodeContract = _target.Contracts.CodeVersions; 2347Contracts.IReJIT rejitContract = _target.Contracts.ReJIT; 2362requestedNativeCodeVersion = nativeCodeContract.GetNativeCodeVersionForIP(ip.ToTargetCodePointer(_target)); 2381data->NativeCodeAddr = _target.Contracts.PrecodeStubs.GetInterpreterCodeFromInterpreterPrecodeIfPresent(nativeCodeAddr).ToAddress(_target).ToClrDataAddress(_target); 2390data->AddressOfNativeCodeSlot = rtsContract.GetAddressOfNativeCodeSlot(methodDescHandle).ToClrDataAddress(_target); 2399data->MethodTablePtr = methodTableAddr.ToClrDataAddress(_target); 2401data->ModulePtr = rtsContract.GetModule(typeHandle).ToClrDataAddress(_target); 2440int cJittedRejitVersions = rejitContract.GetRejitIds(_target, methodDescHandle.Address).Count(); 2459List<TargetNUInt> reJitIds = rejitContract.GetRejitIds(_target, methodDescHandle.Address).ToList(); 2502data->GCStressCodeCopy = nativeCodeContract.GetGCStressCodeCopy(requestedNativeCodeVersion).ToClrDataAddress(_target); 2587ICodeVersions cv = _target.Contracts.CodeVersions; 2588IReJIT rejit = _target.Contracts.ReJIT; 2593pReJitData->NativeCodeAddr = _target.Contracts.PrecodeStubs.GetInterpreterCodeFromInterpreterPrecodeIfPresent(nativeCode).Value; 2638Contracts.ILoader loader = _target.Contracts.Loader; 2639TargetPointer module = moduleAddr.ToTargetPointer(_target); 2644*methodDesc = loader.GetModuleLookupMapElement(moduleHandle, ModuleLookupMapKind.FieldDefToDesc, token, out var _).ToClrDataAddress(_target); 2647*methodDesc = loader.GetModuleLookupMapElement(moduleHandle, ModuleLookupMapKind.MethodDefToDesc, token, out var _).ToClrDataAddress(_target); 2650*methodDesc = loader.GetModuleLookupMapElement(moduleHandle, ModuleLookupMapKind.TypeDefToMethodTable, token, out var _).ToClrDataAddress(_target); 2653*methodDesc = loader.GetModuleLookupMapElement(moduleHandle, ModuleLookupMapKind.TypeRefToMethodTable, token, out var _).ToClrDataAddress(_target); 2687TargetPointer methodDesc = addr.ToTargetPointer(_target); 2689Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 2693TypeNameBuilder.AppendMethodInternal(_target, stringBuilder, methodDescHandle, TypeNameFormat.FormatSignature | TypeNameFormat.FormatNamespace | TypeNameFormat.FormatFullInst); 2703TypeNameBuilder.AppendMethodInternal(_target, stringBuilder, methodDescHandle, TypeNameFormat.FormatNamespace | TypeNameFormat.FormatFullInst); 2708string? fallbackNameString = _target.Contracts.DacStreams.StringFromEEAddress(methodDesc); 2718Contracts.ModuleHandle module = _target.Contracts.Loader.GetModuleHandleFromModulePtr(modulePtr); 2719string modulePath = _target.Contracts.Loader.GetPath(module); 2721char directorySeparator = (char)_target.ReadGlobal<byte>(Constants.Globals.DirectorySeparator); 2776Contracts.IStackWalk stackWalkContract = _target.Contracts.StackWalk; 2777TargetPointer methodDescPtr = stackWalkContract.GetMethodDescPtr(frameAddr.ToTargetPointer(_target)); 2781_target.Contracts.RuntimeTypeSystem.GetMethodDescHandle(methodDescPtr); // validation 2782*ppMD = methodDescPtr.ToClrDataAddress(_target); 2812IExecutionManager executionManager = _target.Contracts.ExecutionManager; 2813IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 2815CodeBlockHandle? handle = executionManager.GetCodeBlockHandle(ip.ToTargetCodePointer(_target)); 2827*ppMD = methodDescAddr.ToClrDataAddress(_target); 2866_target.Contracts.RuntimeTypeSystem.GetMethodDescHandle(methodDesc.ToTargetPointer(_target)); 2887Contracts.IRuntimeTypeSystem contract = _target.Contracts.RuntimeTypeSystem; 2888ITypeHandle methodTable = contract.GetTypeHandle(mt.ToTargetPointer(_target)); 2905result.module = contract.GetModule(methodTable).ToClrDataAddress(_target); 2907result.klass = contract.GetCanonicalMethodTable(methodTable).ToClrDataAddress(_target); 2908result.parentMethodTable = contract.GetParentMethodTable(methodTable).ToClrDataAddress(_target); 2960TargetPointer mtAddress = mt.ToTargetPointer(_target); 2961Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 2963data->FirstField = rtsContract.GetFieldDescList(typeHandle).FirstOrDefault().ToClrDataAddress(_target); 3002Contracts.IRuntimeTypeSystem contract = _target.Contracts.RuntimeTypeSystem; 3003ITypeHandle methodTableHandle = contract.GetTypeHandle(eeClassReallyCanonMT.ToTargetPointer(_target)); 3004*value = methodTableHandle.Address.ToClrDataAddress(_target); 3032Contracts.IRuntimeTypeSystem typeSystemContract = _target.Contracts.RuntimeTypeSystem; 3033Contracts.ILoader loader = _target.Contracts.Loader; 3034ITypeHandle methodTableHandle = typeSystemContract.GetTypeHandle(mt.ToTargetPointer(_target, overrideCheck: true)); 3052TypeNameBuilder.AppendType(_target, methodTableName, methodTableHandle, TypeNameFormat.FormatNamespace | TypeNameFormat.FormatFullInst); 3056string? fallbackName = _target.Contracts.DacStreams.StringFromEEAddress(mt.ToTargetPointer(_target)); 3099IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 3106TargetPointer methodTable = mt.ToTargetPointer(_target); 3113*value = rts.GetSlot(methodTableHandle, slot).ToClrDataAddress(_target); 3127*value = rts.GetMethodEntryPointIfExists(mdHandle).ToClrDataAddress(_target); 3175_target.Contracts.RuntimeTypeSystem.GetTypeHandle(mt.ToTargetPointer(_target)); 3201mod.Interface = new ClrDataModule(addr.ToTargetPointer(_target), _target, legacyModule, _apiLock); 3214Contracts.ILoader contract = _target.Contracts.Loader; 3215Contracts.ModuleHandle handle = contract.GetModuleHandleFromModulePtr(moduleAddr.ToTargetPointer(_target)); 3219data->Assembly = contract.GetAssembly(handle).ToClrDataAddress(_target); 3227data->ilBase = contract.GetILBase(handle).ToClrDataAddress(_target); 3231TargetSpan readOnlyMetadata = _target.Contracts.EcmaMetadata.GetReadOnlyMetadataAddress(handle); 3243data->LoaderAllocator = contract.GetLoaderAllocator(handle).ToClrDataAddress(_target); 3245data->FieldDefToDescMap = contract.GetModuleLookupMapBase(handle, ModuleLookupMapKind.FieldDefToDesc).ToClrDataAddress(_target); 3246data->ManifestModuleReferencesMap = contract.GetModuleLookupMapBase(handle, ModuleLookupMapKind.ManifestModuleReferences).ToClrDataAddress(_target); 3247data->MemberRefToDescMap = contract.GetModuleLookupMapBase(handle, ModuleLookupMapKind.MemberRefToDesc).ToClrDataAddress(_target); 3248data->MethodDefToDescMap = contract.GetModuleLookupMapBase(handle, ModuleLookupMapKind.MethodDefToDesc).ToClrDataAddress(_target); 3249data->TypeDefToMethodTableMap = contract.GetModuleLookupMapBase(handle, ModuleLookupMapKind.TypeDefToMethodTable).ToClrDataAddress(_target); 3250data->TypeRefToMethodTableMap = contract.GetModuleLookupMapBase(handle, ModuleLookupMapKind.TypeRefToMethodTable).ToClrDataAddress(_target); 3305Contracts.IException contract = _target.Contracts.Exception; 3307exception.ToTargetPointer(_target), 3310*exceptionObject = exceptionObjectLocal.ToClrDataAddress(_target); 3344Contracts.IObject objectContract = _target.Contracts.Object; 3345Contracts.IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 3346Contracts.ILoader loader = _target.Contracts.Loader; 3348TargetPointer mt = objectContract.GetMethodTableAddress(obj.ToTargetPointer(_target)); 3368TypeNameBuilder.AppendType(_target, classNameBuilder, typeHandle, TypeNameFormat.FormatNamespace | TypeNameFormat.FormatFullInst); 3372string? fallbackName = _target.Contracts.DacStreams.StringFromEEAddress(mt); 3417Contracts.IObject objectContract = _target.Contracts.Object; 3418Contracts.IRuntimeTypeSystem runtimeTypeSystemContract = _target.Contracts.RuntimeTypeSystem; 3420TargetPointer objPtr = objAddr.ToTargetPointer(_target); 3424data->MethodTable = mt.ToClrDataAddress(_target); 3434Target.TypeInfo arrayTypeInfo = _target.GetTypeInfo(DataType.Array); 3436data->Size += _target.Read<uint>(objAddr + numComponentsOffset) * data->dwComponentSize; 3455data->ArrayDataPtr = arrayData.ToClrDataAddress(_target); 3457data->ArrayBoundsPtr = boundsStart.ToClrDataAddress(_target); 3458data->ArrayLowerBoundsPtr = lowerBounds.ToClrDataAddress(_target); 3480if (_target.Contracts.FeatureFlags.IsEnabled(Contracts.RuntimeFeature.COMInterop) 3528Contracts.IObject contract = _target.Contracts.Object; 3529string str = contract.GetStringValue(obj.ToTargetPointer(_target)); 3576IGC gc = _target.Contracts.GC; 3583GCOomData oomData = gc.GetOomData(oomAddr.ToTargetPointer(_target)); 3628IGC gc = _target.Contracts.GC; 3678Contracts.ILoader contract = _target.Contracts.Loader; 3679Contracts.ModuleHandle handle = contract.GetModuleHandleFromModulePtr(addr.ToTargetPointer(_target)); 3684*peBase = contract.GetILBase(handle).ToClrDataAddress(_target); 3718Contracts.ILoader contract = _target.Contracts.Loader; 3719Contracts.ModuleHandle handle = contract.GetModuleHandleFromModulePtr(addr.ToTargetPointer(_target)); 3783IBuiltInCOM builtInCom = _target.Contracts.BuiltInCOM; // E_NOTIMPL if not defined (non-Windows) 3785TargetPointer rcwPtr = addr.ToTargetPointer(_target); 3788data->identityPointer = rcwData.IdentityPointer.ToClrDataAddress(_target); 3789data->unknownPointer = rcwData.UnknownPointer.ToClrDataAddress(_target); 3790data->managedObject = rcwData.ManagedObject.ToClrDataAddress(_target); 3791data->vtablePtr = rcwData.VTablePtr.ToClrDataAddress(_target); 3792data->creatorThread = rcwData.CreatorThread.ToClrDataAddress(_target); 3793data->ctxCookie = rcwData.CtxCookie.ToClrDataAddress(_target); 3844TargetPointer rcwPtr = rcw.ToTargetPointer(_target); 3845IBuiltInCOM builtInCom = _target.Contracts.BuiltInCOM; // E_NOTIMPL if not defined (non-Windows) 3876interfaces[itemIndex].methodTable = methodTable.ToClrDataAddress(_target); 3877interfaces[itemIndex].interfacePtr = unknown.ToClrDataAddress(_target); 3878interfaces[itemIndex].comContext = ctxCookie.ToClrDataAddress(_target); 3929string[] regs = _target.Contracts.RuntimeInfo.GetTargetArchitecture() switch 4046Contracts.IThread contract = _target.Contracts.Thread; 4048contract.GetStackLimitData(threadPtr.ToTargetPointer(_target), out stackBase, out stackLimit, out frameAddress); 4051*lower = stackBase.ToClrDataAddress(_target); 4054*upper = stackLimit.ToClrDataAddress(_target); 4057*fp = frameAddress.ToClrDataAddress(_target); 4157IThread threadContract = _target.Contracts.Thread; 4158IStackWalk stackWalkContract = _target.Contracts.StackWalk; 4226ulong stressLogAddress = _target.ReadGlobalPointer(Constants.Globals.StressLog); 4250ISyncBlock syncBlockContract = _target.Contracts.SyncBlock; 4258syncBlockPtr = addr.ToTargetPointer(_target); 4263data->SyncBlockPointer = syncBlockPtr.ToClrDataAddress(_target); 4264data->nextSyncBlock = syncBlockContract.GetNextSyncBlock(syncBlockPtr).ToClrDataAddress(_target); 4267data->blockRCW = rcw.ToClrDataAddress(_target); 4268data->blockClassFactory = ccf.ToClrDataAddress(_target); 4269data->blockCCW = ccw.ToClrDataAddress(_target); 4312ISyncBlock syncBlock = _target.Contracts.SyncBlock; 4321data->Object = obj.ToClrDataAddress(_target); 4324data->SyncBlockPointer = syncBlockAddr.ToClrDataAddress(_target); 4336IThread thread = _target.Contracts.Thread; 4338data->HoldingThread = threadPtr.ToClrDataAddress(_target); 4341TargetPointer appDomain = _target.Contracts.Loader.GetAppDomain(); 4342data->appDomainPtr = appDomain.ToClrDataAddress(_target); 4392Contracts.IThread contract = _target.Contracts.Thread; 4393contract.GetThreadAllocContext(thread.ToTargetPointer(_target), out long allocBytes, out long allocBytesLoh); 4426Contracts.IThread contract = _target.Contracts.Thread; 4427Contracts.ThreadData threadData = contract.GetThreadData(thread.ToTargetPointer(_target)); 4432data->allocContextPtr = threadData.AllocContextPointer.ToClrDataAddress(_target); 4433data->allocContextLimit = threadData.AllocContextLimit.ToClrDataAddress(_target); 4436TargetPointer appDomain = _target.Contracts.Loader.GetAppDomain(); 4437data->context = appDomain.ToClrDataAddress(_target); 4438data->domain = appDomain.ToClrDataAddress(_target); 4441data->pFrame = threadData.Frame.ToClrDataAddress(_target); 4442data->firstNestedException = threadData.FirstNestedException.ToClrDataAddress(_target); 4444data->lastThrownObjectHandle = threadData.LastThrownObjectHandle.ToClrDataAddress(_target); 4445data->nextThread = threadData.NextThread.ToClrDataAddress(_target); 4492TargetPointer threadPtr = _target.Contracts.Thread.IdToThread(thinLockId); 4493*pThread = threadPtr.ToClrDataAddress(_target); 4555Contracts.IThread thread = _target.Contracts.Thread; 4558data->firstThread = threadStoreData.FirstThread.ToClrDataAddress(_target); 4559data->finalizerThread = threadStoreData.FinalizerThread.ToClrDataAddress(_target); 4560data->gcThread = threadStoreData.GCThread.ToClrDataAddress(_target); 4606uint TlsIndexBase = _target.Read<uint>(_target.ReadGlobalPointer(Constants.Globals.TlsIndexBase)); 4607uint OffsetOfCurrentThreadInfo = _target.Read<uint>(_target.ReadGlobalPointer(Constants.Globals.OffsetOfCurrentThreadInfo)); 4637Contracts.IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 4638data->ArrayMethodTable = rts.GetWellKnownMethodTable(Contracts.WellKnownMethodTable.Array).ToClrDataAddress(_target); 4639data->StringMethodTable = rts.GetWellKnownMethodTable(Contracts.WellKnownMethodTable.String).ToClrDataAddress(_target); 4640data->ObjectMethodTable = rts.GetWellKnownMethodTable(Contracts.WellKnownMethodTable.Object).ToClrDataAddress(_target); 4641data->ExceptionMethodTable = rts.GetWellKnownMethodTable(Contracts.WellKnownMethodTable.Exception).ToClrDataAddress(_target); 4642data->FreeMethodTable = rts.GetWellKnownMethodTable(Contracts.WellKnownMethodTable.Free).ToClrDataAddress(_target); 4766IExecutionManager executionManager = _target.Contracts.ExecutionManager; 4768CodeBlockHandle? handle = executionManager.GetCodeBlockHandle(ip.ToTargetCodePointer(_target)); 4792ehInfo.moduleAddr = clause.ModuleAddr is TargetPointer moduleAddr ? moduleAddr.ToClrDataAddress(_target) : 0; 4793ehInfo.mtCatch = clause.TypeHandle is TargetNUInt th ? new TargetPointer(th.Value).ToClrDataAddress(_target) : 0; 4868Contracts.ILoader loader = _target.Contracts.Loader; 4904int hr = TraverseLoaderHeapCore(loaderHeapAddr.ToTargetPointer(_target), pCallback); 4949Contracts.ILoader loader = _target.Contracts.Loader; 4950TargetPointer moduleAddrPtr = moduleAddr.ToTargetPointer(_target); 4966pCallback(EcmaMetadataUtils.GetRowId(metadataToken), element.ToClrDataAddress(_target).Value, token); 4976Dictionary<ulong, uint> expectedElements = elements.ToDictionary(tuple => tuple.Address.ToClrDataAddress(_target).Value, tuple => EcmaMetadataUtils.GetRowId(tuple.Index)); 5015Contracts.IBuiltInCOM contract = _target.Contracts.BuiltInCOM; // E_NOTIMPL if not defined (non-Windows) 5016TargetPointer listPtr = cleanupListPtr.ToTargetPointer(_target); 5022info.RCW.ToClrDataAddress(_target).Value, 5023info.Context.ToClrDataAddress(_target).Value, 5024info.STAThread.ToClrDataAddress(_target).Value, 5036Dictionary<ulong, ulong> expectedElements = cleanupInfos.ToDictionary(info => info.RCW.ToClrDataAddress(_target).Value, info => info.Context.ToClrDataAddress(_target).Value); 5060Contracts.ILoader loader = _target.Contracts.Loader; 5110Contracts.IException contract = _target.Contracts.Exception; 5111Contracts.ExceptionData exceptionData = contract.GetExceptionData(objectAddress.ToTargetPointer(_target)); 5112data->Message = exceptionData.Message.ToClrDataAddress(_target); 5113data->InnerException = exceptionData.InnerException.ToClrDataAddress(_target); 5114data->StackTrace = exceptionData.StackTrace.ToClrDataAddress(_target); 5115data->WatsonBuckets = exceptionData.WatsonBuckets.ToClrDataAddress(_target); 5116data->StackTraceString = exceptionData.StackTraceString.ToClrDataAddress(_target); 5117data->RemoteStackTraceString = exceptionData.RemoteStackTraceString.ToClrDataAddress(_target); 5140if (!_target.Contracts.FeatureFlags.IsEnabled(Contracts.RuntimeFeature.COMInterop)) 5177IGC gc = _target.Contracts.GC; 5185GCHeapData heapData = gc.GetHeapData(interestingInfoAddr.ToTargetPointer(_target)); 5220IGC gc = _target.Contracts.GC; 5327IGC gc = _target.Contracts.GC; 5377_target.TryReadGlobal<uint>(Constants.Globals.MaxClrNotificationArgs, out uint? maxArgs); 5382TargetPointer basePtr = _target.ReadGlobalPointer(Constants.Globals.ClrNotificationArguments); 5383if (_target.ReadNUInt(basePtr).Value == 0) 5388arguments[i] = _target.ReadNUInt(basePtr.Value + (ulong)(i * _target.PointerSize)).Value; 5435ILoader loader = _target.Contracts.Loader; 5436ICodeVersions codeVersions = _target.Contracts.CodeVersions; 5437IReJIT rejitContract = _target.Contracts.ReJIT; 5438TargetPointer methodDescPtr = methodDesc.ToTargetPointer(_target); 5445IRuntimeTypeSystem runtimeTypeSystemContract = _target.Contracts.RuntimeTypeSystem; 5463TargetCodePointer nativeCode = _target.Contracts.PrecodeStubs.GetInterpreterCodeFromInterpreterPrecodeIfPresent(codeVersions.GetNativeCode(nativeCodeVersionHandle)); 5464TargetPointer nativeCodeAddr = nativeCode.ToAddress(_target); 5465nativeCodeAddrs[count].nativeCodeAddr = nativeCodeAddr.ToClrDataAddress(_target); 5466nativeCodeAddrs[count].nativeCodeVersionNodePtr = nativeCodeVersionHandle.CodeVersionNodeAddress.ToClrDataAddress(_target); 5563Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 5564ILoader loaderContract = _target.Contracts.Loader; 5565ITypeHandle typeHandle = rtsContract.GetTypeHandle(mt.ToTargetPointer(_target)); 5574data->LoaderAllocatorObjectHandle = loaderAllocatorHandle.ToClrDataAddress(_target); 5608Contracts.IReJIT rejitContract = _target.Contracts.ReJIT; 5609Contracts.ICodeVersions codeVersionsContract = _target.Contracts.CodeVersions; 5610TargetPointer methodDescPtr = methodDesc.ToTargetPointer(_target); 5653ICodeVersions cv = _target.Contracts.CodeVersions; 5654IReJIT rejitContract = _target.Contracts.ReJIT; 5655TargetPointer methodDescPtr = methodDesc.ToTargetPointer(_target); 5678pRejitData->il = cv.GetIL(ilCodeVersion).ToClrDataAddress(_target); 5680pRejitData->ilCodeVersionNodePtr = ilCodeVersion.ILCodeVersionNode.ToClrDataAddress(_target); 5718Contracts.IReJIT rejit = _target.Contracts.ReJIT; 5719Contracts.ICodeVersions cv = _target.Contracts.CodeVersions; 5720Contracts.ILoader loader = _target.Contracts.Loader; 5721Contracts.IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 5722TargetPointer methodDescPtr = methodDesc.ToTargetPointer(_target); 5744pILData->il = il.ToClrDataAddress(_target); 5776Contracts.ILoader loader = _target.Contracts.Loader; 5777Contracts.IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 5778Contracts.IReJIT rejit = _target.Contracts.ReJIT; 5779Contracts.ICodeVersions cv = _target.Contracts.CodeVersions; 5781TargetPointer modulePtr = mod.ToTargetPointer(_target); 5803methodDescs[*pcMethodDescs] = md.ToClrDataAddress(_target); 5850IGC gc = _target.Contracts.GC; 5886IGC gc = _target.Contracts.GC; 5906pGenerationData[i].start_segment = gen.StartSegment.ToClrDataAddress(_target); 5907pGenerationData[i].allocation_start = gen.AllocationStart.ToClrDataAddress(_target); 5908pGenerationData[i].allocContextPtr = gen.AllocationContextPointer.ToClrDataAddress(_target); 5909pGenerationData[i].allocContextLimit = gen.AllocationContextLimit.ToClrDataAddress(_target); 5956IGC gc = _target.Contracts.GC; 5975pFinalizationFillPointers[i] = heapData.FillPointers[i].ToClrDataAddress(_target); 6019IGC gc = _target.Contracts.GC; 6024GCHeapData heapData = gc.GetHeapData(heapAddr.ToTargetPointer(_target)); 6039pGenerationData[i].start_segment = gen.StartSegment.ToClrDataAddress(_target); 6040pGenerationData[i].allocation_start = gen.AllocationStart.ToClrDataAddress(_target); 6041pGenerationData[i].allocContextPtr = gen.AllocationContextPointer.ToClrDataAddress(_target); 6042pGenerationData[i].allocContextLimit = gen.AllocationContextLimit.ToClrDataAddress(_target); 6089IGC gc = _target.Contracts.GC; 6094GCHeapData heapData = gc.GetHeapData(heapAddr.ToTargetPointer(_target)); 6108pFinalizationFillPointers[i] = heapData.FillPointers[i].ToClrDataAddress(_target); 6153Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 6154Contracts.ILoader loaderContract = _target.Contracts.Loader; 6155ITypeHandle methodTableHandle = rtsContract.GetTypeHandle(methodTable.ToTargetPointer(_target)); 6158*assemblyLoadContext = alc.ToClrDataAddress(_target); 6184int version = _target.ReadGlobal<byte>(Constants.Globals.SOSBreakingChangeVersion); 6212Contracts.IComWrappers comWrappersContract = _target.Contracts.ComWrappers; 6213TargetPointer objPtr = objAddr.ToTargetPointer(_target); 6219*rcw = rcwObj.ToClrDataAddress(_target) | _rcwMask; 6237mowList![i] = comIdentity.ToClrDataAddress(_target); 6277Contracts.IComWrappers comWrappersContract = _target.Contracts.ComWrappers; 6283TargetPointer ccwPtr = comWrappersContract.GetManagedObjectWrapperFromCCW(ccw.ToTargetPointer(_target)); 6314TargetPointer ccwPtr = ccw.ToTargetPointer(_target); 6315Contracts.IComWrappers comWrappersContract = _target.Contracts.ComWrappers; 6323*managedObject = comWrappersContract.GetComWrappersObjectFromMOW(managedObjectPtr).ToClrDataAddress(_target); 6357Contracts.IComWrappers comWrappersContract = _target.Contracts.ComWrappers; 6366TargetPointer rcwPtr = rcw.ToTargetPointer(_target) & ~_rcwMask; 6396Contracts.IComWrappers comWrappersContract = _target.Contracts.ComWrappers; 6403TargetPointer identityPtr = comWrappersContract.GetComWrappersIdentity(rcw.ToTargetPointer(_target) & ~_rcwMask); 6404*identity = identityPtr.ToClrDataAddress(_target); 6440TargetPointer objPtr = objAddr.ToTargetPointer(_target); 6441Contracts.IObject objectContract = _target.Contracts.Object; 6447Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 6454if (_target.Contracts.TryGetContract<IObjectiveCMarshal>(out IObjectiveCMarshal? objcContract)) 6494TargetPointer objPtr = objAddr.ToTargetPointer(_target); 6495if (_target.Contracts.TryGetContract<IObjectiveCMarshal>(out IObjectiveCMarshal? objcContract)) 6500*taggedMemory = taggedMemoryPtr.ToClrDataAddress(_target); 6538Contracts.IGC gcContract = _target.Contracts.GC; 6540*allocPtr = pointer.ToClrDataAddress(_target); 6541*allocLimit = limit.ToClrDataAddress(_target); 6571int hr = TraverseLoaderHeapCore(loaderHeapAddr.ToTargetPointer(_target), pCallback); 6607Contracts.ILoader contract = _target.Contracts.Loader; 6609*pLoaderAllocator = globalLoaderAllocator.ToClrDataAddress(_target); 6668Target.TypeInfo laType = _target.GetTypeInfo(DataType.LoaderAllocator); 6669Target.TypeInfo vcsType = _target.GetTypeInfo(DataType.VirtualCallStubManager); 6742Contracts.ILoader contract = _target.Contracts.Loader; 6743IReadOnlyDictionary<LoaderAllocatorHeapType, TargetPointer> heaps = contract.GetLoaderAllocatorHeaps(loaderAllocator.ToTargetPointer(_target)); 6759? heapAddr.ToClrDataAddress(_target) 6802IReadOnlyList<GCMemoryRegionData> regions = _target.Contracts.GC.GetHandleTableMemoryRegions(); 6813ppEnum.Interface = new SOSMemoryEnum(_target, regions, legacyMemoryEnum, _apiLock); 6828IReadOnlyList<GCMemoryRegionData> regions = _target.Contracts.GC.GetGCBookkeepingMemoryRegions(); 6839ppEnum.Interface = new SOSMemoryEnum(_target, regions, legacyMemoryEnum, _apiLock); 6854IReadOnlyList<GCMemoryRegionData> regions = _target.Contracts.GC.GetGCFreeRegions(); 6865ppEnum.Interface = new SOSMemoryEnum(_target, regions, legacyMemoryEnum, _apiLock); 6877_target.Flush(FlushScope.All); 6899Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 6900ITypeHandle typeHandle = rtsContract.GetTypeHandle(methodTable.ToTargetPointer(_target)); 6902*GCStaticsAddress = rtsContract.GetGCStaticsBasePointer(typeHandle).ToClrDataAddress(_target); 6904*nonGCStaticsAddress = rtsContract.GetNonGCStaticsBasePointer(typeHandle).ToClrDataAddress(_target); 6939Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 6940TargetPointer methodTablePtr = methodTable.ToTargetPointer(_target); 6941TargetPointer threadPtr = thread.ToTargetPointer(_target); 6954*GCStaticsAddress = rtsContract.GetGCThreadStaticsBasePointer(typeHandle, threadPtr).ToClrDataAddress(_target); 6956*nonGCStaticsAddress = rtsContract.GetNonGCThreadStaticsBasePointer(typeHandle, threadPtr).ToClrDataAddress(_target); 6995Contracts.IRuntimeTypeSystem rtsContract = _target.Contracts.RuntimeTypeSystem; 6996ITypeHandle methodTableHandle = rtsContract.GetTypeHandle(methodTable.ToTargetPointer(_target)); 7222IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 7223ITypeHandle methodTableHandle = rts.GetTypeHandle(mt.ToTargetPointer(_target)); 7236enumerator.Interface = new SOSMethodEnum(_target, methodTableHandle, legacyMethodEnum, _apiLock); 7258IGC gc = _target.Contracts.GC; 7468Contracts.IStressLog stressLogContract = _target.Contracts.StressLog; 7496Contracts.IStressLog stressLogContract = _target.Contracts.StressLog; 7505ThreadLogAddress = t.Address.ToClrDataAddress(_target), 7527Contracts.IStressLog stressLogContract = _target.Contracts.StressLog; 7531TargetPointer address = threadStressLogAddress.ToTargetPointer(_target); 7533ppEnum.Interface = new SOSStressLogMsgEnum(_target, messages, _apiLock); 7549Contracts.IStressLog stressLogContract = _target.Contracts.StressLog; 7558Start = r.Start.ToClrDataAddress(_target),
SOSDacImpl.IXCLRDataProcess.cs (69)
48IExecutionManager executionManager = _target.Contracts.ExecutionManager; 50executionManager.GetDynamicFunctionTableEntries(tableAddress.ToTargetPointer(_target)); 52uint runtimeFunctionSize = _target.GetTypeInfo(DataType.RuntimeFunction).Size!.Value; 74_target.ReadBuffer(functionEntries[i].Value, destination); 88_target.Flush(FlushScope.All); 122Contracts.IThread contract = _target.Contracts.Thread; 150task.Interface = new ClrDataTask(matchingThread, _target, legacyTask, _apiLock); 170TargetPointer thread = _target.Contracts.Thread.IdToThread((uint)taskID); 174task.Interface = new ClrDataTask(thread, _target, legacyTask, _apiLock); 236TargetCodePointer codeAddress = address.ToTargetCodePointer(_target); 237if (_target.TryRead(codeAddress, out byte _)) 239*type = _target.Contracts.ExecutionManager.GetCodeKind(codeAddress) switch 283TargetCodePointer codeAddr = address.ToTargetCodePointer(_target); 286if (!_target.TryRead(codeAddr, out byte _)) 289IExecutionManager eman = _target.Contracts.ExecutionManager; 292TargetCodePointer managedCodeAddr = _target.Contracts.PrecodeStubs.GetInterpreterCodeFromInterpreterPrecodeIfPresent(codeAddr); 297*displacement = managedCodeAddr.ToAddress(_target).Value - eman.GetStartAddress(codeBlock).Value; 308IPrecodeStubs precodeStubs = _target.Contracts.PrecodeStubs; 314*displacement = codeAddr.ToAddress(_target).Value - entryPoint; 327if (resultName is null && _target.Contracts.AuxiliarySymbols.TryGetAuxiliarySymbolName(address.ToTargetPointer(_target), out string? auxSymbolName)) 387IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 390TypeNameBuilder.AppendMethodInternal(_target, sb, mdh, TypeNameFormat.FormatSignature 442TargetPointer appDomain = _target.Contracts.Loader.GetAppDomain(); 499appDomain.Interface = new ClrDataAppDomain(_target, domains.Enumerator.Current, legacyAppDomain, _apiLock); 571TargetPointer domain = _target.Contracts.Loader.GetAppDomain(); 572appDomain.Interface = new ClrDataAppDomain(_target, domain, legacyAppDomain, _apiLock); 628ILoader loader = _target.Contracts.Loader; 687mod.Interface = new ClrDataModule(modules.Enumerator.Current.Address, _target, legacyModule, _apiLock); 759ILoader loader = _target.Contracts.Loader; 768ClrDataAddress imageBase = baseAddress.ToClrDataAddress(_target); 771mod.Interface = new ClrDataModule(module.Address, _target, legacyModule, _apiLock); 1008TargetCodePointer methodAddr = address.ToTargetCodePointer(_target); 1012bool isTriviallyReadable = _target.TryRead(methodAddr, out byte _); 1016IExecutionManager eman = _target.Contracts.ExecutionManager; 1020EnumMethodInstances emi = new(_target, methodDesc, TargetPointer.Null); 1084method.Interface = new ClrDataMethodInstance(_target, methodDesc, emi._appDomain, legacyMethod, _apiLock); 1177INotifications notifications = _target.Contracts.Notifications; 1189_legacyImpl.GetModule(moduleLoad.ModuleAddress.ToClrDataAddress(_target), legacyModuleOut); 1193ClrDataModule module = new(moduleLoad.ModuleAddress, _target, legacyModule, _apiLock); 1204_legacyImpl.GetModule(moduleUnload.ModuleAddress.ToClrDataAddress(_target), legacyModuleOut); 1208ClrDataModule module = new(moduleUnload.ModuleAddress, _target, legacyModule, _apiLock); 1215TargetPointer appDomain = _target.Contracts.Loader.GetAppDomain(); 1217IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 1220ClrDataMethodInstance methodInst = new(_target, methodDesc, appDomain, null, _apiLock); 1221ClrDataAddress nativeCodeAddress = jit.NativeCodeAddress.ToClrDataAddress(_target); 1241IThread thread = _target.Contracts.Thread; 1245_target, 1290TargetPointer appDomain = _target.Contracts.Loader.GetAppDomain(); 1291IRuntimeTypeSystem rts = _target.Contracts.RuntimeTypeSystem; 1293ClrDataMethodInstance methodInst = new(_target, methodDesc, appDomain, null, _apiLock); 1333hr = StressTestApi.CdacStressApi.HandleRequest(_target, reqCode, inBufferSize, inBuffer, outBufferSize, outBuffer); 1398_target.Contracts.CodeNotifications.SetAllCodeNotifications(moduleAddr, CodeNotificationFlagsConverter.FromCom(flags)); 1445ICodeNotifications codeNotif = _target.Contracts.CodeNotifications; 1538_target.Contracts.CodeNotifications.SetCodeNotification(moduleAddr, tokens[i], CodeNotificationFlagsConverter.FromCom(f)); 1558*flags = _target.Read<uint>(_target.ReadGlobalPointer(Constants.Globals.DacNotificationFlags)); 1590TargetPointer dacNotificationFlags = _target.ReadGlobalPointer(Constants.Globals.DacNotificationFlags); 1591_target.Write<uint>(dacNotificationFlags, flags); 1609flagsLocal = _target.Read<uint>(_target.ReadGlobalPointer(Constants.Globals.DacNotificationFlags)); 1644ILoader loader = _target.Contracts.Loader; 1653ClrDataAddress imageBase = baseAddress.ToClrDataAddress(_target); 1657MetadataReader reader = _target.Contracts.EcmaMetadata.GetMetadata(module) 1732_target, 1808int headerSize = HeaderReaderHelpers.GetHeaderSize(_target, ilHeader); 1809int codeSize = HeaderReaderHelpers.GetCodeSize(_target, ilHeader); 1810ClrDataAddress codeStart = new TargetPointer(ilHeader + (uint)headerSize).ToClrDataAddress(_target); 1881_target.Contracts.Notifications.SetGcNotification(gcEvtArgs.condemnedGeneration);