Home | History | Annotate | Download | only in amalgamation

Lines Matching refs:iLogsize

15942 ** on.  It should be found on mem5.aiFreelist[iLogsize].
15944 static void memsys5Unlink(int i, int iLogsize){
15947 assert( iLogsize>=0 && iLogsize<=LOGMAX );
15948 assert( (mem5.aCtrl[i] & CTRL_LOGSIZE)==iLogsize );
15953 mem5.aiFreelist[iLogsize] = next;
15963 ** Link the chunk at mem5.aPool[i] so that is on the iLogsize
15966 static void memsys5Link(int i, int iLogsize){
15970 assert( iLogsize>=0 && iLogsize<=LOGMAX );
15971 assert( (mem5.aCtrl[i] & CTRL_LOGSIZE)==iLogsize );
15973 x = MEM5LINK(i)->next = mem5.aiFreelist[iLogsize];
15979 mem5.aiFreelist[iLogsize] = i;
16010 ** Find the first entry on the freelist iLogsize. Unlink that
16013 static int memsys5UnlinkFirst(int iLogsize){
16017 assert( iLogsize>=0 && iLogsize<=LOGMAX );
16018 i = iFirst = mem5.aiFreelist[iLogsize];
16024 memsys5Unlink(iFirst, iLogsize);
16042 int iLogsize; /* Log2 of iFullSz/POW2_MIN */
16061 for(iFullSz=mem5.szAtom, iLogsize=0; iFullSz<nByte; iFullSz *= 2, iLogsize++){}
16063 /* Make sure mem5.aiFreelist[iLogsize] contains at least one free
16065 ** two in order to create a new free block of size iLogsize.
16067 for(iBin=iLogsize; mem5.aiFreelist[iBin]<0 && iBin<=LOGMAX; iBin++){}
16074 while( iBin>iLogsize ){
16082 mem5.aCtrl[i] = iLogsize;
16101 u32 size, iLogsize;
16114 iLogsize = mem5.aCtrl[iBlock] & CTRL_LOGSIZE;
16115 size = 1<<iLogsize;
16127 mem5.aCtrl[iBlock] = CTRL_FREE | iLogsize;
16128 while( ALWAYS(iLogsize<LOGMAX) ){
16130 if( (iBlock>>iLogsize) & 1 ){
16136 if( (iBuddy+(1<<iLogsize))>mem5.nBlock ) break;
16137 if( mem5.aCtrl[iBuddy]!=(CTRL_FREE | iLogsize) ) break;
16138 memsys5Unlink(iBuddy, iLogsize);
16139 iLogsize++;
16141 mem5.aCtrl[iBuddy] = CTRL_FREE | iLogsize;
16145 mem5.aCtrl[iBlock] = CTRL_FREE | iLogsize;
16150 memsys5Link(iBlock, iLogsize);