Lines Matching defs:pFree

424         PRTSTRCACHEFREEMERGE pFree;
425 RTListForEach(&pThis->aMergedFreeLists[i], pFree, RTSTRCACHEFREEMERGE, ListEntry)
427 Assert(pFree->uMarker == RTSTRCACHEFREEMERGE_MAIN);
428 Assert(pFree->cbFree > 0);
429 Assert(RT_ALIGN_32(pFree->cbFree, sizeof(*pFree)) == pFree->cbFree);
516 * @param pFree The free string entry.
518 static void rtStrCacheRelinkMerged(PRTSTRCACHEINT pThis, PRTSTRCACHEFREEMERGE pFree)
520 Assert(pFree->uMarker == RTSTRCACHEFREEMERGE_MAIN);
521 Assert(pFree->cbFree > 0);
522 Assert(RT_ALIGN_32(pFree->cbFree, sizeof(*pFree)) == pFree->cbFree);
524 if (!RTListIsEmpty(&pFree->ListEntry))
525 RTListNodeRemove(&pFree->ListEntry);
527 uint32_t iList = (ASMBitLastSetU32(pFree->cbFree) - 1) - RTSTRCACHE_MERGED_THRESHOLD_BIT;
531 RTListPrepend(&pThis->aMergedFreeLists[iList], &pFree->ListEntry);
554 PRTSTRCACHEFREEMERGE pFree = NULL;
563 pFree = RTListGetFirst(&pThis->aMergedFreeLists[iList], RTSTRCACHEFREEMERGE, ListEntry);
564 if (pFree)
570 Assert(pFree->uMarker == RTSTRCACHEFREEMERGE_MAIN);
571 Assert(pFree->cbFree >= cbEntry);
572 Assert(RT_ALIGN_32(pFree->cbFree, sizeof(*pFree)) == pFree->cbFree);
574 if (pFree->cbFree == cbEntry)
575 RTListNodeRemove(&pFree->ListEntry);
578 uint32_t cRemainder = (pFree->cbFree - cbEntry) / sizeof(*pFree);
579 PRTSTRCACHEFREEMERGE pRemainder = pFree;
580 pFree += cRemainder;
582 Assert((pRemainder->cbFree - cbEntry) == cRemainder * sizeof(*pFree));
583 pRemainder->cbFree = cRemainder * sizeof(*pFree);
591 if (!pFree)
605 AssertCompile(sizeof(*pChunk) <= sizeof(*pFree));
610 pFree = (PRTSTRCACHEFREEMERGE)((uintptr_t)pChunk + sizeof(*pFree));
615 PRTSTRCACHEFREEMERGE pNewFree = (PRTSTRCACHEFREEMERGE)((uintptr_t)pFree + cbEntry);
637 PRTSTRCACHEENTRY pEntry = (PRTSTRCACHEENTRY)pFree;
706 PRTSTRCACHEFREE pFree = pThis->apFreeLists[iFreeList];
707 if (!pFree)
720 pFree = (PRTSTRCACHEFREE)((uintptr_t)pChunk + cbEntry);
723 Assert(sizeof(*pFree) <= cbEntry);
728 pFree->uZero = 0;
729 pFree->cbFree = cbEntry;
730 pFree->pNext = pPrev;
731 pPrev = pFree;
732 pFree = (PRTSTRCACHEFREE)((uintptr_t)pFree + cbEntry);
736 pThis->apFreeLists[iFreeList] = pFree = pPrev;
742 pThis->apFreeLists[iFreeList] = pFree->pNext;
748 PRTSTRCACHEENTRY pEntry = (PRTSTRCACHEENTRY)pFree;