Lines Matching refs:pcache1

57879 #define pcache1 (GLOBAL(struct PCacheGlobal, pcache1_g))  macro
57908 if( pcache1.isInit ){
57913 pcache1.szSlot = sz;
57914 pcache1.nSlot = pcache1.nFreeSlot = n;
57915 pcache1.nReserve = n>90 ? 10 : (n/10 + 1);
57916 pcache1.pStart = pBuf;
57917 pcache1.pFree = 0;
57918 AtomicStore(&pcache1.bUnderPressure,0);
57921 p->pNext = pcache1.pFree;
57922 pcache1.pFree = p;
57925 pcache1.pEnd = pBuf;
57936 if( pcache1.nInitPage==0 ) return 0;
57940 if( pcache1.nInitPage>0 ){
57941 szBulk = pCache->szAlloc * (i64)pcache1.nInitPage;
57943 szBulk = -1024 * (i64)pcache1.nInitPage;
57979 assert( sqlite3_mutex_notheld(pcache1.grp.mutex) );
57980 if( nByte<=pcache1.szSlot ){
57981 sqlite3_mutex_enter(pcache1.mutex);
57982 p = (PgHdr1 *)pcache1.pFree;
57984 pcache1.pFree = pcache1.pFree->pNext;
57985 pcache1.nFreeSlot--;
57986 AtomicStore(&pcache1.bUnderPressure,pcache1.nFreeSlot<pcache1.nReserve);
57987 assert( pcache1.nFreeSlot>=0 );
57991 sqlite3_mutex_leave(pcache1.mutex);
58001 sqlite3_mutex_enter(pcache1.mutex);
58004 sqlite3_mutex_leave(pcache1.mutex);
58017 if( SQLITE_WITHIN(p, pcache1.pStart, pcache1.pEnd) ){
58019 sqlite3_mutex_enter(pcache1.mutex);
58022 pSlot->pNext = pcache1.pFree;
58023 pcache1.pFree = pSlot;
58024 pcache1.nFreeSlot++;
58025 AtomicStore(&pcache1.bUnderPressure,pcache1.nFreeSlot<pcache1.nReserve);
58026 assert( pcache1.nFreeSlot<=pcache1.nSlot );
58027 sqlite3_mutex_leave(pcache1.mutex);
58035 sqlite3_mutex_enter(pcache1.mutex);
58037 sqlite3_mutex_leave(pcache1.mutex);
58049 if( p>=pcache1.pStart && p<pcache1.pEnd ){
58050 return pcache1.szSlot;
58080 assert( pcache1.separateCache==0 );
58081 assert( pCache->pGroup==&pcache1.grp );
58155 if( pcache1.nSlot && (pCache->szPage+pCache->szExtra)<=pcache1.szSlot ){
58156 return AtomicLoad(&pcache1.bUnderPressure);
58333 assert( pcache1.isInit==0 );
58334 memset(&pcache1, 0, sizeof(pcache1));
58352 pcache1.separateCache = 0;
58354 pcache1.separateCache = sqlite3GlobalConfig.pPage==0
58357 pcache1.separateCache = sqlite3GlobalConfig.pPage==0;
58362 pcache1.grp.mutex = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_LRU);
58363 pcache1.mutex = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_PMEM);
58366 if( pcache1.separateCache
58370 pcache1.nInitPage = sqlite3GlobalConfig.nPage;
58372 pcache1.nInitPage = 0;
58374 pcache1.grp.mxPinned = 10;
58375 pcache1.isInit = 1;
58386 assert( pcache1.isInit!=0 );
58387 memset(&pcache1, 0, sizeof(pcache1));
58406 sz = sizeof(PCache1) + sizeof(PGroup)*pcache1.separateCache;
58409 if( pcache1.separateCache ){
58413 pGroup = &pcache1.grp;
58857 return pcache1.mutex;
58872 assert( sqlite3_mutex_notheld(pcache1.grp.mutex) );
58873 assert( sqlite3_mutex_notheld(pcache1.mutex) );
58876 pcache1EnterMutex(&pcache1.grp);
58878 && (p=pcache1.grp.lru.pLruPrev)!=0
58886 pcache1LeaveMutex(&pcache1.grp);
58905 for(p=pcache1.grp.lru.pLruNext; p && !p->isAnchor; p=p->pLruNext){
58909 *pnCurrent = pcache1.grp.nPurgeable;
58910 *pnMax = (int)pcache1.grp.nMaxPage;
58911 *pnMin = (int)pcache1.grp.nMinPage;