Lines Matching defs:pEntry
453 PRTSTRCACHEENTRY pEntry = pThis->papHashTab[iHash];
454 if (pEntry == NULL || pEntry == PRTSTRCACHEENTRY_NIL)
491 PRTSTRCACHEENTRY pEntry = papOld[iOld];
492 if (pEntry != NULL && pEntry != PRTSTRCACHEENTRY_NIL)
494 uint32_t cchString = pEntry->cchString;
496 cchString = RT_FROM_MEMBER(pEntry, RTSTRCACHEBIGENTRY, Core)->cchString;
498 uint32_t iHash = rtStrCacheFindEmptyHashTabEntry(pThis, RT_MAKE_U32(pEntry->uHash, cchString));
499 pThis->papHashTab[iHash] = pEntry;
637 PRTSTRCACHEENTRY pEntry = (PRTSTRCACHEENTRY)pFree;
638 pEntry->cRefs = 1;
639 pEntry->uHash = (uint16_t)uHash;
640 pEntry->cchString = (uint16_t)cchString;
641 memcpy(pEntry->szString, pchString, cchString);
642 RT_BZERO(&pEntry->szString[cchString], cbEntry - RT_UOFFSETOF(RTSTRCACHEENTRY, szString) - cchString);
646 return pEntry;
748 PRTSTRCACHEENTRY pEntry = (PRTSTRCACHEENTRY)pFree;
749 pEntry->cRefs = 1;
750 pEntry->uHash = (uint16_t)uHash;
751 pEntry->cchString = (uint16_t)cchString;
752 memcpy(pEntry->szString, pchString, cchString);
753 pEntry->szString[cchString] = '\0';
755 return pEntry;
784 PRTSTRCACHEENTRY pEntry = pThis->papHashTab[iHash];
787 if (pEntry == NULL)
794 if (pEntry != PRTSTRCACHEENTRY_NIL)
797 if ( pEntry->uHash == (uint16_t)uHashLen
798 && pEntry->cchString == cchStringFirst)
800 if (pEntry->cchString != RTSTRCACHEENTRY_BIG_LEN)
802 if ( !memcmp(pEntry->szString, pchString, cchString)
803 && pEntry->szString[cchString] == '\0')
804 return pEntry;
808 PRTSTRCACHEBIGENTRY pBigEntry = RT_FROM_MEMBER(pEntry, RTSTRCACHEBIGENTRY, Core);
848 PRTSTRCACHEENTRY pEntry = rtStrCacheLookUp(pThis, uHashLen, cchString32, pchString, &iFreeHashTabEntry, &cCollisions);
849 if (pEntry)
851 uint32_t cRefs = ASMAtomicIncU32(&pEntry->cRefs);
861 pEntry = rtStrCacheAllocHeapEntry(pThis, uHash, pchString, cchString32);
864 pEntry = rtStrCacheAllocMergedEntry(pThis, uHash, pchString, cchString32, cbEntry);
867 pEntry = rtStrCacheAllocFixedEntry(pThis, uHash, pchString, cchString32,
869 if (!pEntry)
886 pThis->papHashTab[iFreeHashTabEntry] = pEntry;
892 RTStrCacheRelease(hStrCache, pEntry->szString);
900 pThis->papHashTab[iFreeHashTabEntry] = pEntry;
911 return pEntry->szString;