public IEnumerable<MemoryRegion> EnumerateHeaps(IAppDomainData appDomain) { Debug.Assert(appDomain != null); mAppDomain = appDomain.Address; mRegions.Clear(); // Standard heaps. mType = ClrMemoryRegionType.LowFrequencyLoaderHeap; mRuntime.TraverseHeap(appDomain.LowFrequencyHeap, mDelegate); mType = ClrMemoryRegionType.HighFrequencyLoaderHeap; mRuntime.TraverseHeap(appDomain.HighFrequencyHeap, mDelegate); mType = ClrMemoryRegionType.StubHeap; mRuntime.TraverseHeap(appDomain.StubHeap, mDelegate); // Stub heaps. mType = ClrMemoryRegionType.IndcellHeap; mRuntime.TraverseStubHeap(mAppDomain, (int)InternalHeapTypes.IndcellHeap, mDelegate); mType = ClrMemoryRegionType.LookupHeap; mRuntime.TraverseStubHeap(mAppDomain, (int)InternalHeapTypes.LookupHeap, mDelegate); mType = ClrMemoryRegionType.ResolveHeap; mRuntime.TraverseStubHeap(mAppDomain, (int)InternalHeapTypes.ResolveHeap, mDelegate); mType = ClrMemoryRegionType.DispatchHeap; mRuntime.TraverseStubHeap(mAppDomain, (int)InternalHeapTypes.DispatchHeap, mDelegate); mType = ClrMemoryRegionType.CacheEntryHeap; mRuntime.TraverseStubHeap(mAppDomain, (int)InternalHeapTypes.CacheEntryHeap, mDelegate); return mRegions; }
public IEnumerable <MemoryRegion> EnumerateHeaps(IAppDomainData appDomain) { Debug.Assert(appDomain != null); _appDomain = appDomain.Address; _regions.Clear(); // Standard heaps. _type = ClrMemoryRegionType.LowFrequencyLoaderHeap; _runtime.TraverseHeap(appDomain.LowFrequencyHeap, _delegate); _type = ClrMemoryRegionType.HighFrequencyLoaderHeap; _runtime.TraverseHeap(appDomain.HighFrequencyHeap, _delegate); _type = ClrMemoryRegionType.StubHeap; _runtime.TraverseHeap(appDomain.StubHeap, _delegate); // Stub heaps. _type = ClrMemoryRegionType.IndcellHeap; _runtime.TraverseStubHeap(_appDomain, (int)InternalHeapTypes.IndcellHeap, _delegate); _type = ClrMemoryRegionType.LookupHeap; _runtime.TraverseStubHeap(_appDomain, (int)InternalHeapTypes.LookupHeap, _delegate); _type = ClrMemoryRegionType.ResolveHeap; _runtime.TraverseStubHeap(_appDomain, (int)InternalHeapTypes.ResolveHeap, _delegate); _type = ClrMemoryRegionType.DispatchHeap; _runtime.TraverseStubHeap(_appDomain, (int)InternalHeapTypes.DispatchHeap, _delegate); _type = ClrMemoryRegionType.CacheEntryHeap; _runtime.TraverseStubHeap(_appDomain, (int)InternalHeapTypes.CacheEntryHeap, _delegate); return(_regions); }
internal MemoryRegion(DesktopRuntimeBase clr, ulong addr, ulong size, ClrMemoryRegionType type) { Address = addr; Size = size; _runtime = clr; Type = type; }
internal MemoryRegion(DesktopRuntimeBase clr, ulong addr, ulong size, ClrMemoryRegionType type, ClrAppDomain domain) { Address = addr; Size = size; _runtime = clr; Type = type; _domainModuleHeap = domain.Address; }
internal MemoryRegion(DesktopRuntimeBase clr, ulong addr, ulong size, ClrMemoryRegionType type, uint heap, GCSegmentType seg) { Address = addr; Size = size; _runtime = clr; Type = type; _domainModuleHeap = heap; _segmentType = seg; }
public IEnumerable <MemoryRegion> EnumerateJitHeap(ulong heap) { _appDomain = 0; _regions.Clear(); _type = ClrMemoryRegionType.JitLoaderCodeHeap; _runtime.TraverseHeap(heap, _delegate); return(_regions); }
public IEnumerable <MemoryRegion> EnumerateJitHeap(ulong heap) { mAppDomain = 0; mRegions.Clear(); mType = ClrMemoryRegionType.JitLoaderCodeHeap; mRuntime.TraverseHeap(heap, mDelegate); return(mRegions); }
public IEnumerable<MemoryRegion> EnumerateModuleHeaps(IAppDomainData appDomain, ulong addr) { Debug.Assert(appDomain != null); mAppDomain = appDomain.Address; mRegions.Clear(); if (addr == 0) return mRegions; IModuleData module = mRuntime.GetModuleData(addr); if (module != null) { mType = ClrMemoryRegionType.ModuleThunkHeap; mRuntime.TraverseHeap(module.ThunkHeap, mDelegate); mType = ClrMemoryRegionType.ModuleLookupTableHeap; mRuntime.TraverseHeap(module.LookupTableHeap, mDelegate); } return mRegions; }
public IEnumerable<MemoryRegion> EnumerateModuleHeaps(IAppDomainData appDomain, ulong addr) { Debug.Assert(appDomain != null); _appDomain = appDomain.Address; _regions.Clear(); if (addr == 0) return _regions; IModuleData module = _runtime.GetModuleData(addr); if (module != null) { _type = ClrMemoryRegionType.ModuleThunkHeap; _runtime.TraverseHeap(module.ThunkHeap, _delegate); _type = ClrMemoryRegionType.ModuleLookupTableHeap; _runtime.TraverseHeap(module.LookupTableHeap, _delegate); } return _regions; }
public IEnumerable <MemoryRegion> EnumerateModuleHeaps(IAppDomainData appDomain, ulong addr) { Debug.Assert(appDomain != null); mAppDomain = appDomain.Address; mRegions.Clear(); if (addr == 0) { return(mRegions); } IModuleData module = mRuntime.GetModuleData(addr); if (module != null) { mType = ClrMemoryRegionType.ModuleThunkHeap; mRuntime.TraverseHeap(module.ThunkHeap, mDelegate); mType = ClrMemoryRegionType.ModuleLookupTableHeap; mRuntime.TraverseHeap(module.LookupTableHeap, mDelegate); } return(mRegions); }
internal MemoryRegion(DesktopRuntimeBase clr, ulong addr, ulong size, ClrMemoryRegionType type, uint heap, GCSegmentType seg) { Address = addr; Size = size; _runtime = clr; Type = type; _domainModuleHeap = heap; _segmentType = seg; }
internal MemoryRegion(DesktopRuntimeBase clr, ulong addr, ulong size, ClrMemoryRegionType type) { Address = addr; Size = size; _runtime = clr; Type = type; }
internal MemoryRegion(DesktopRuntimeBase clr, ulong addr, ulong size, ClrMemoryRegionType type, ClrAppDomain domain) { Address = addr; Size = size; _runtime = clr; Type = type; _domainModuleHeap = domain.Address; }
public IEnumerable<MemoryRegion> EnumerateJitHeap(ulong heap) { mAppDomain = 0; mRegions.Clear(); mType = ClrMemoryRegionType.JitLoaderCodeHeap; mRuntime.TraverseHeap(heap, mDelegate); return mRegions; }
public IEnumerable<MemoryRegion> EnumerateJitHeap(ulong heap) { _appDomain = 0; _regions.Clear(); _type = ClrMemoryRegionType.JitLoaderCodeHeap; _runtime.TraverseHeap(heap, _delegate); return _regions; }