Lines Matching refs:mem0

18392 /************** Begin file mem0.c ********************************************/
18453 /************** End of mem0.c ************************************************/
22091 } mem0 = { 0, 0, 0, 0, 0, 0 };
22093 #define mem0 GLOBAL(struct Mem0Global, mem0)
22099 return mem0.mutex;
22132 sqlite3_mutex_enter(mem0.mutex);
22133 priorLimit = mem0.alarmThreshold;
22135 sqlite3_mutex_leave(mem0.mutex);
22138 mem0.alarmThreshold = n;
22140 mem0.nearlyFull = (n>0 && n<=nUsed);
22141 sqlite3_mutex_leave(mem0.mutex);
22159 memset(&mem0, 0, sizeof(mem0));
22160 mem0.mutex = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_MEM);
22169 mem0.pScratchFree = pSlot;
22170 mem0.nScratchFree = n;
22176 mem0.pScratchEnd = (void*)&pSlot[1];
22178 mem0.pScratchEnd = 0;
22189 if( rc!=SQLITE_OK ) memset(&mem0, 0, sizeof(mem0));
22199 return mem0.nearlyFull;
22209 memset(&mem0, 0, sizeof(mem0));
22236 if( mem0.alarmThreshold<=0 ) return;
22237 sqlite3_mutex_leave(mem0.mutex);
22239 sqlite3_mutex_enter(mem0.mutex);
22249 assert( sqlite3_mutex_held(mem0.mutex) );
22252 if( mem0.alarmThreshold>0 ){
22254 if( nUsed >= mem0.alarmThreshold - nFull ){
22255 mem0.nearlyFull = 1;
22258 mem0.nearlyFull = 0;
22263 if( p==0 && mem0.alarmThreshold>0 ){
22291 sqlite3_mutex_enter(mem0.mutex);
22293 sqlite3_mutex_leave(mem0.mutex);
22342 sqlite3_mutex_enter(mem0.mutex);
22344 if( mem0.nScratchFree && sqlite3GlobalConfig.szScratch>=n ){
22345 p = mem0.pScratchFree;
22346 mem0.pScratchFree = mem0.pScratchFree->pNext;
22347 mem0.nScratchFree--;
22349 sqlite3_mutex_leave(mem0.mutex);
22351 sqlite3_mutex_leave(mem0.mutex);
22354 sqlite3_mutex_enter(mem0.mutex);
22356 sqlite3_mutex_leave(mem0.mutex);
22360 assert( sqlite3_mutex_notheld(mem0.mutex) );
22387 if( SQLITE_WITHIN(p, sqlite3GlobalConfig.pScratch, mem0.pScratchEnd) ){
22391 sqlite3_mutex_enter(mem0.mutex);
22392 pSlot->pNext = mem0.pScratchFree;
22393 mem0.pScratchFree = pSlot;
22394 mem0.nScratchFree++;
22395 assert( mem0.nScratchFree <= (u32)sqlite3GlobalConfig.nScratch );
22397 sqlite3_mutex_leave(mem0.mutex);
22405 sqlite3_mutex_enter(mem0.mutex);
22410 sqlite3_mutex_leave(mem0.mutex);
22469 sqlite3_mutex_enter(mem0.mutex);
22473 sqlite3_mutex_leave(mem0.mutex);
22545 sqlite3_mutex_enter(mem0.mutex);
22549 mem0.alarmThreshold-nDiff ){
22553 if( pNew==0 && mem0.alarmThreshold>0 ){
22561 sqlite3_mutex_leave(mem0.mutex);