Lines Matching refs:item
43 #define MEMITEM_SIZE(item) ((rt_uintptr_t)item->next - (rt_uintptr_t)item - RT_MEMHEAP_SIZE) argument
84 struct rt_memheap_item *item; in rt_memheap_init() local
97 item = &(memheap->free_header); in rt_memheap_init()
98 item->magic = (RT_MEMHEAP_MAGIC | RT_MEMHEAP_FREED); in rt_memheap_init()
99 item->pool_ptr = memheap; in rt_memheap_init()
100 item->next = RT_NULL; in rt_memheap_init()
101 item->prev = RT_NULL; in rt_memheap_init()
102 item->next_free = item; in rt_memheap_init()
103 item->prev_free = item; in rt_memheap_init()
106 memheap->free_list = item; in rt_memheap_init()
109 item = (struct rt_memheap_item *)start_addr; in rt_memheap_init()
110 item->magic = (RT_MEMHEAP_MAGIC | RT_MEMHEAP_FREED); in rt_memheap_init()
111 item->pool_ptr = memheap; in rt_memheap_init()
112 item->next = RT_NULL; in rt_memheap_init()
113 item->prev = RT_NULL; in rt_memheap_init()
114 item->next_free = item; in rt_memheap_init()
115 item->prev_free = item; in rt_memheap_init()
118 rt_memset(item->owner_thread_name, ' ', sizeof(item->owner_thread_name)); in rt_memheap_init()
121 item->next = (struct rt_memheap_item *) in rt_memheap_init()
122 ((rt_uint8_t *)item + memheap->available_size + RT_MEMHEAP_SIZE); in rt_memheap_init()
123 item->prev = item->next; in rt_memheap_init()
126 memheap->block_list = item; in rt_memheap_init()
129 item->next_free = memheap->free_list->next_free; in rt_memheap_init()
130 item->prev_free = memheap->free_list; in rt_memheap_init()
131 memheap->free_list->next_free->prev_free = item; in rt_memheap_init()
132 memheap->free_list->next_free = item; in rt_memheap_init()
137 item = item->next; in rt_memheap_init()
139 item->magic = (RT_MEMHEAP_MAGIC | RT_MEMHEAP_USED); in rt_memheap_init()
140 item->pool_ptr = memheap; in rt_memheap_init()
141 item->next = (struct rt_memheap_item *)start_addr; in rt_memheap_init()
142 item->prev = (struct rt_memheap_item *)start_addr; in rt_memheap_init()
144 item->next_free = item->prev_free = RT_NULL; in rt_memheap_init()
870 struct rt_memheap_item *item; in memheapcheck() local
886 for (item = heap->block_list; item->next != heap->block_list; item = item->next) in memheapcheck()
889 …if (!((item->magic & (RT_MEMHEAP_MAGIC | RT_MEMHEAP_FREED)) == (RT_MEMHEAP_MAGIC | RT_MEMHEAP_FREE… in memheapcheck()
890 … (item->magic & (RT_MEMHEAP_MAGIC | RT_MEMHEAP_USED)) == (RT_MEMHEAP_MAGIC | RT_MEMHEAP_USED))) in memheapcheck()
896 if (heap != item->pool_ptr) in memheapcheck()
902 …if (!((rt_uintptr_t)item->next <= (rt_uintptr_t)((rt_uintptr_t)heap->start_addr + heap->pool_size)… in memheapcheck()
903 (rt_uintptr_t)item->prev >= (rt_uintptr_t)heap->start_addr) && in memheapcheck()
904 (rt_uintptr_t)item->next == RT_ALIGN((rt_uintptr_t)item->next, RT_ALIGN_SIZE) && in memheapcheck()
905 (rt_uintptr_t)item->prev == RT_ALIGN((rt_uintptr_t)item->prev, RT_ALIGN_SIZE)) in memheapcheck()
911 if (item->next == item->next->prev) in memheapcheck()
923 rt_kprintf("item: 0x%p\n", item); in memheapcheck()