Lines Matching defs:pBlock

15977   Mem3Block *pBlock;
15979 pBlock = (Mem3Block*)p;
15980 assert( (pBlock[-1].u.hdr.size4x&1)!=0 );
15981 return (pBlock[-1].u.hdr.size4x&~3)*2 - 4;
35997 #define PAGE_SET_BLOCKPTR(pCache, pPg, pBlock) \
35998 ( *(PGroupBlock **)&(((u8*)pPg)[sizeof(PgHdr1) + pCache->szPage]) = pBlock )
36131 ** The block pBlock belongs to list pList but is not currently linked in.
36134 static void addBlockToList(PGroupBlockList *pList, PGroupBlock *pBlock){
36135 pBlock->pPrev = 0;
36136 pBlock->pNext = pList->pFirst;
36137 pList->pFirst = pBlock;
36138 if( pBlock->pNext ){
36139 pBlock->pNext->pPrev = pBlock;
36142 pList->pLast = pBlock;
36172 PGroupBlock *pBlock;
36203 pBlock = pList->pFirst;
36204 if( pBlock==0 || pBlock->mUsed==(((Bitmask)1<<pBlock->nEntry)-1) ){
36214 pBlock = (PGroupBlock *)sqlite3Malloc(sz);
36217 if( !pBlock ){
36221 pBlock->nEntry = (sqlite3MallocSize(pBlock) - sizeof(PGroupBlock)) / nByte;
36222 if( pBlock->nEntry>=BMS ){
36223 pBlock->nEntry = BMS-1;
36225 pBlock->pList = pList;
36226 pBlock->mUsed = 0;
36227 pBlock->aData = (u8 *)&pBlock[1];
36228 addBlockToList(pList, pBlock);
36230 sz = sqlite3MallocSize(pBlock);
36236 for(i=0; pPg==0 && ALWAYS(i<pBlock->nEntry); i++){
36237 if( 0==(pBlock->mUsed & ((Bitmask)1<<i)) ){
36238 pBlock->mUsed |= ((Bitmask)1<<i);
36239 pPg = (void *)&pBlock->aData[pList->nByte * i];
36243 PAGE_SET_BLOCKPTR(pCache, pPg, pBlock);
36246 if( pBlock->mUsed==(((Bitmask)1<<pBlock->nEntry)-1) && pList->pLast!=pBlock ){
36247 assert( pList->pFirst==pBlock );
36248 assert( pBlock->pPrev==0 );
36250 pList->pFirst = pBlock->pNext;
36252 pBlock->pPrev = pList->pLast;
36253 pBlock->pNext = 0;
36254 pList->pLast->pNext = pBlock;
36255 pList->pLast = pBlock;
36294 PGroupBlock *pBlock = PAGE_GET_BLOCKPTR(pCache, pPg);
36295 PGroupBlockList *pList = pBlock->pList;
36296 int i = ((u8 *)pPg - pBlock->aData) / pList->nByte;
36298 assert( pPg==(void *)&pBlock->aData[i*pList->nByte] );
36299 assert( pBlock->mUsed & ((Bitmask)1<<i) );
36300 pBlock->mUsed &= ~((Bitmask)1<<i);
36305 if( pList->pFirst==pBlock ){
36306 pList->pFirst = pBlock->pNext;
36309 pBlock->pPrev->pNext = pBlock->pNext;
36311 if( pList->pLast==pBlock ){
36312 pList->pLast = pBlock->pPrev;
36315 pBlock->pNext->pPrev = pBlock->pPrev;
36318 if( pBlock->mUsed==0 ){
36321 int sz = sqlite3MallocSize(pBlock);
36326 sqlite3_free(pBlock);
36328 addBlockToList(pList, pBlock);
50797 sqlite3 *pBlock = 0;
50824 pBlock = pBt->pWriter->db;
50829 pBlock = pIter->pBtree->db;
50834 if( pBlock ){
50835 sqlite3ConnectionBlocked(p->db, pBlock);