• Home
  • History
  • Annotate
  • Raw
  • Download

Lines Matching refs:fp

27     struct free_arena_header *fp;  in __init_memory_arena()  local
29 fp = (struct free_arena_header *)__mem_end; in __init_memory_arena()
30 fp->a.type = ARENA_TYPE_FREE; in __init_memory_arena()
31 fp->a.size = __heap_end - (char *)__mem_end; in __init_memory_arena()
34 fp->a.next = fp->a.prev = &__malloc_head; in __init_memory_arena()
35 fp->next_free = fp->prev_free = &__malloc_head; in __init_memory_arena()
36 __malloc_head.a.next = __malloc_head.a.prev = fp; in __init_memory_arena()
37 __malloc_head.next_free = __malloc_head.prev_free = fp; in __init_memory_arena()
40 static void *__malloc_from_block(struct free_arena_header *fp, size_t size) in __malloc_from_block() argument
45 fsize = fp->a.size; in __malloc_from_block()
50 nfp = (struct free_arena_header *)((char *)fp + size); in __malloc_from_block()
51 na = fp->a.next; in __malloc_from_block()
55 fp->a.type = ARENA_TYPE_USED; in __malloc_from_block()
56 fp->a.size = size; in __malloc_from_block()
59 nfp->a.prev = fp; in __malloc_from_block()
62 fp->a.next = nfp; in __malloc_from_block()
65 nfp->next_free = fp->next_free; in __malloc_from_block()
66 nfp->prev_free = fp->prev_free; in __malloc_from_block()
67 fp->next_free->prev_free = nfp; in __malloc_from_block()
68 fp->prev_free->next_free = nfp; in __malloc_from_block()
71 fp->a.type = ARENA_TYPE_USED; in __malloc_from_block()
74 fp->next_free->prev_free = fp->prev_free; in __malloc_from_block()
75 fp->prev_free->next_free = fp->next_free; in __malloc_from_block()
78 return (void *)(&fp->a + 1); in __malloc_from_block()
83 struct free_arena_header *fp; in malloc() local
91 for (fp = __malloc_head.next_free; fp->a.type != ARENA_TYPE_HEAD; in malloc()
92 fp = fp->next_free) { in malloc()
93 if (fp->a.size >= size) { in malloc()
95 return __malloc_from_block(fp, size); in malloc()