Lines Matching refs:blocks
515 __malloc_size_t block, blocks, lastblocks, start; local
616 blocks = BLOCKIFY (size);
618 while (_heapinfo[block].free.size < blocks)
630 (morecore ((blocks - lastblocks) * BLOCKSIZE)) != NULL)
636 _heapinfo[block].free.size += (blocks - lastblocks);
637 _bytes_free += (blocks - lastblocks) * BLOCKSIZE;
640 result = morecore (blocks * BLOCKSIZE);
645 _heapinfo[block].busy.info.size = blocks;
647 _bytes_used += blocks * BLOCKSIZE;
655 if (_heapinfo[block].free.size > blocks)
659 _heapinfo[block + blocks].free.size
660 = _heapinfo[block].free.size - blocks;
661 _heapinfo[block + blocks].free.next
663 _heapinfo[block + blocks].free.prev
667 = _heapindex = block + blocks;
681 _heapinfo[block].busy.info.size = blocks;
683 _bytes_used += blocks * BLOCKSIZE;
684 _bytes_free -= blocks * BLOCKSIZE;
689 while (--blocks > 0)
690 _heapinfo[block + blocks].busy.info.size = -blocks;
764 __malloc_size_t block, blocks; local
826 blocks = _heapinfo[block].free.size;
827 if (blocks >= FINAL_FREE_BLOCKS && block + blocks == _heaplimit
828 && (*__morecore) (0) == ADDRESS (block + blocks))
830 register __malloc_size_t bytes = blocks * BLOCKSIZE;
831 _heaplimit -= blocks;
1090 __malloc_size_t block, blocks, oldlimit; local
1123 blocks = BLOCKIFY (size);
1124 if (blocks < _heapinfo[block].busy.info.size)
1128 _heapinfo[block + blocks].busy.type = 0;
1129 _heapinfo[block + blocks].busy.info.size
1130 = _heapinfo[block].busy.info.size - blocks;
1131 _heapinfo[block].busy.info.size = blocks;
1136 _free_internal (ADDRESS (block + blocks));
1139 else if (blocks == _heapinfo[block].busy.info.size)
1147 blocks = _heapinfo[block].busy.info.size;
1160 (void) malloc (blocks * BLOCKSIZE);
1164 (void) malloc (blocks * BLOCKSIZE);
1170 memmove (result, ptr, blocks * BLOCKSIZE);