Ejemplo n.º 1
0
        public bool GetServerHeapDetails(ulong addr, out HeapDetails data)
        {
            InitDelegate(ref _getGCHeapDetails, VTable->GetGCHeapDetails);
            int hr = _getGCHeapDetails(Self, addr, out data);

            return(SUCCEEDED(hr));
        }
Ejemplo n.º 2
0
        public bool GetWksHeapDetails(out HeapDetails data)
        {
            InitDelegate(ref _getGCHeapStaticData, VTable->GetGCHeapStaticData);
            int hr = _getGCHeapStaticData(Self, out data);

            return(SUCCEEDED(hr));
        }
Ejemplo n.º 3
0
        internal HeapDetails(ref HeapDetails other)
        {
            this = other;

            unchecked
            {
                if (IntPtr.Size == 4)
                {
                    FixupPointer(ref Address);
                    FixupPointer(ref Allocated);
                    FixupPointer(ref MarkArray);
                    FixupPointer(ref CAllocateLH);
                    FixupPointer(ref NextSweepObj);
                    FixupPointer(ref SavedSweepEphemeralSeg);
                    FixupPointer(ref SavedSweepEphemeralStart);
                    FixupPointer(ref BackgroundSavedHighestAddress);
                    FixupPointer(ref BackgroundSavedLowestAddress);

                    FixupPointer(ref EphemeralHeapSegment);
                    FixupPointer(ref LowestAddress);
                    FixupPointer(ref HighestAddress);
                    FixupPointer(ref CardTable);

                    for (int i = 0; i < FinalizationFillPointers.Length; i++)
                    {
                        FixupPointer(ref FinalizationFillPointers[i]);
                    }

                    for (int i = 0; i < GenerationTable.Length; i++)
                    {
                        GenerationTable[i] = new GenerationData(ref GenerationTable[i]);
                    }
                }
            }
        }
Ejemplo n.º 4
0
        public bool GetWksHeapDetails(out HeapDetails data)
        {
            InitDelegate(ref _getGCHeapStaticData, VTable->GetGCHeapStaticData);
            int hr = _getGCHeapStaticData(Self, out data);

            if (IntPtr.Size == 4)
            {
                data = new HeapDetails(ref data);
            }
            return(SUCCEEDED(hr));
        }
Ejemplo n.º 5
0
        public bool GetServerHeapDetails(ulong addr, out HeapDetails data)
        {
            InitDelegate(ref _getGCHeapDetails, VTable->GetGCHeapDetails);
            int hr = _getGCHeapDetails(Self, addr, out data);

            if (IntPtr.Size == 4)
            {
                data = new HeapDetails(ref data);
            }

            return(SUCCEEDED(hr));
        }