Lines Matching defs:memheap

98 static struct SIS_OH *	sisfb_poh_new_node(struct SIS_HEAP *memheap);
99 static struct SIS_OH * sisfb_poh_allocate(struct SIS_HEAP *memheap, u32 size);
102 static struct SIS_OH * sisfb_poh_free(struct SIS_HEAP *memheap, u32 base);
103 static void sisfb_free_node(struct SIS_HEAP *memheap, struct SIS_OH *poh);
3239 sisfb_poh_new_node(struct SIS_HEAP *memheap)
3246 if(memheap->poh_freelist == NULL) {
3251 poha->poha_next = memheap->poha_chain;
3252 memheap->poha_chain = poha;
3263 memheap->poh_freelist = &poha->aoh[0];
3266 poh = memheap->poh_freelist;
3267 memheap->poh_freelist = poh->poh_next;
3273 sisfb_poh_allocate(struct SIS_HEAP *memheap, u32 size)
3279 if(size > memheap->max_freesize) {
3285 pohThis = memheap->oh_free.poh_next;
3287 while(pohThis != &memheap->oh_free) {
3305 pohRoot = sisfb_poh_new_node(memheap);
3316 memheap->max_freesize -= size;
3318 pohThis = &memheap->oh_used;
3344 sisfb_poh_free(struct SIS_HEAP *memheap, u32 base)
3354 poh_freed = memheap->oh_used.poh_next;
3356 while(poh_freed != &memheap->oh_used) {
3368 memheap->max_freesize += poh_freed->size;
3374 pohThis = memheap->oh_free.poh_next;
3376 while(pohThis != &memheap->oh_free) {
3390 sisfb_free_node(memheap, poh_freed);
3391 sisfb_free_node(memheap, poh_next);
3397 sisfb_free_node(memheap, poh_freed);
3404 sisfb_free_node(memheap, poh_freed);
3408 sisfb_insert_node(&memheap->oh_free, poh_freed);
3414 sisfb_free_node(struct SIS_HEAP *memheap, struct SIS_OH *poh)
3419 poh->poh_next = memheap->poh_freelist;
3420 memheap->poh_freelist = poh;