Lines Matching defs:pHeap

45 static int mmR3HyperHeapMap(PVM pVM, PMMHYPERHEAP pHeap, PRTGCPTR ppHeapGC);
396 PMMHYPERHEAP pHeap = pVM->mm.s.CTX_SUFF(pHyperHeap);
398 int rc = PDMR3CritSectEnterEx(&pHeap->Lock, true /* fHostCall */);
834 PMMHYPERHEAP pHeap = (PMMHYPERHEAP)pv;
835 pHeap->u32Magic = MMHYPERHEAP_MAGIC;
836 pHeap->pbHeapR3 = (uint8_t *)pHeap + MMYPERHEAP_HDR_SIZE;
837 pHeap->pbHeapR0 = pvR0 != NIL_RTR0PTR ? pvR0 + MMYPERHEAP_HDR_SIZE : NIL_RTR0PTR;
838 //pHeap->pbHeapRC = 0; // set by mmR3HyperHeapMap()
839 pHeap->pVMR3 = pVM;
840 pHeap->pVMR0 = pVM->pVMR0;
841 pHeap->pVMRC = pVM->pVMRC;
842 pHeap->cbHeap = cbAligned - MMYPERHEAP_HDR_SIZE;
843 pHeap->cbFree = pHeap->cbHeap - sizeof(MMHYPERCHUNK);
844 //pHeap->offFreeHead = 0;
845 //pHeap->offFreeTail = 0;
846 pHeap->offPageAligned = pHeap->cbHeap;
847 //pHeap->HyperHeapStatTree = 0;
848 pHeap->paPages = paPages;
850 PMMHYPERCHUNKFREE pFree = (PMMHYPERCHUNKFREE)pHeap->pbHeapR3;
851 pFree->cb = pHeap->cbFree;
858 STAMR3Register(pVM, &pHeap->cbHeap, STAMTYPE_U32, STAMVISIBILITY_ALWAYS, "/MM/HyperHeap/cbHeap", STAMUNIT_BYTES, "The heap size.");
859 STAMR3Register(pVM, &pHeap->cbFree, STAMTYPE_U32, STAMVISIBILITY_ALWAYS, "/MM/HyperHeap/cbFree", STAMUNIT_BYTES, "The free space.");
861 *ppHeap = pHeap;
874 static int mmR3HyperHeapMap(PVM pVM, PMMHYPERHEAP pHeap, PRTGCPTR ppHeapGC)
876 Assert(RT_ALIGN_Z(pHeap->cbHeap + MMYPERHEAP_HDR_SIZE, PAGE_SIZE) == pHeap->cbHeap + MMYPERHEAP_HDR_SIZE);
877 Assert(pHeap->paPages);
879 pHeap,
880 pHeap->pbHeapR0 != NIL_RTR0PTR ? pHeap->pbHeapR0 - MMYPERHEAP_HDR_SIZE : NIL_RTR0PTR,
881 (pHeap->cbHeap + MMYPERHEAP_HDR_SIZE) >> PAGE_SHIFT,
882 pHeap->paPages,
886 pHeap->pVMRC = pVM->pVMRC;
887 pHeap->pbHeapRC = *ppHeapGC + MMYPERHEAP_HDR_SIZE;
892 MMR3HeapFree(pHeap->paPages);
893 pHeap->paPages = NULL;