public void UnlinkHeapFromAvailable(GC.GCHeap* pHeap) { if (pHeap->AllocatorPrev == null) AvailableFirst = pHeap->AllocatorNext; else pHeap->AllocatorPrev->AllocatorNext = pHeap->AllocatorNext; if (pHeap->AllocatorNext == null) AvailableLast = pHeap->AllocatorPrev; else pHeap->AllocatorNext->AllocatorPrev = pHeap->AllocatorPrev; }
public void UnlinkHeapFromAllocated(GC.GCHeap* pHeap) { if (pHeap->AllocatorPrev == null) AllocatedFirst = pHeap->AllocatorNext; else pHeap->AllocatorPrev->AllocatorNext = pHeap->AllocatorNext; if (pHeap->AllocatorNext == null) AllocatedLast = pHeap->AllocatorPrev; else pHeap->AllocatorNext->AllocatorPrev = pHeap->AllocatorPrev; }
public void LinkHeapToAvailable(GC.GCHeap* pHeap) { if (AvailableLast == null) { pHeap->AllocatorPrev = null; pHeap->AllocatorNext = null; AvailableFirst = pHeap; AvailableLast = pHeap; } else { AvailableLast->AllocatorNext = pHeap; pHeap->AllocatorPrev = AvailableLast; pHeap->AllocatorNext = null; AvailableLast = pHeap; } }
public void LinkHeapToAllocated(GC.GCHeap* pHeap) { if (AllocatedLast == null) { pHeap->AllocatorPrev = null; pHeap->AllocatorNext = null; AllocatedFirst = pHeap; AllocatedLast = pHeap; } else { AllocatedLast->AllocatorNext = pHeap; pHeap->AllocatorPrev = AllocatedLast; pHeap->AllocatorNext = null; AllocatedLast = pHeap; } }