summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorwdfk-prog <[email protected]>2024-04-10 22:16:04 +0800
committerMeco Man <[email protected]>2024-04-13 08:04:32 -0400
commitacf4487177c1825eb27e77b72e0ddb52b855302e (patch)
tree0af17d7417375a37117e51ac860ea5aa319ba697 /src
parent1a8b8522f74c60a1147104aae61c6cdbc801f272 (diff)
[mem] Modify macro definitions for better code reading
Diffstat (limited to 'src')
-rw-r--r--src/mem.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/src/mem.c b/src/mem.c
index d0bfca9a9a..06c064c0e8 100644
--- a/src/mem.c
+++ b/src/mem.c
@@ -87,16 +87,12 @@ struct rt_small_mem
#define HEAP_MAGIC 0x1ea0
-#ifdef ARCH_CPU_64BIT
-#define MIN_SIZE 24
-#else
-#define MIN_SIZE 12
-#endif /* ARCH_CPU_64BIT */
+#define MIN_SIZE (sizeof(rt_ubase_t) + sizeof(rt_size_t) + sizeof(rt_size_t))
#define MEM_MASK ((~(rt_size_t)0) - 1)
-#define MEM_USED() ((((rt_base_t)(small_mem)) & MEM_MASK) | 0x1)
-#define MEM_FREED() ((((rt_base_t)(small_mem)) & MEM_MASK) | 0x0)
+#define MEM_USED(_mem) ((((rt_base_t)(_mem)) & MEM_MASK) | 0x1)
+#define MEM_FREED(_mem) ((((rt_base_t)(_mem)) & MEM_MASK) | 0x0)
#define MEM_ISUSED(_mem) \
(((rt_base_t)(((struct rt_small_mem_item *)(_mem))->pool_ptr)) & (~MEM_MASK))
#define MEM_POOL(_mem) \
@@ -220,7 +216,7 @@ rt_smem_t rt_smem_init(const char *name,
/* initialize the start of the heap */
mem = (struct rt_small_mem_item *)small_mem->heap_ptr;
- mem->pool_ptr = MEM_FREED();
+ mem->pool_ptr = MEM_FREED(small_mem);
mem->next = small_mem->mem_size_aligned + SIZEOF_STRUCT_MEM;
mem->prev = 0;
#ifdef RT_USING_MEMTRACE
@@ -229,7 +225,7 @@ rt_smem_t rt_smem_init(const char *name,
/* initialize the end of the heap */
small_mem->heap_end = (struct rt_small_mem_item *)&small_mem->heap_ptr[mem->next];
- small_mem->heap_end->pool_ptr = MEM_USED();
+ small_mem->heap_end->pool_ptr = MEM_USED(small_mem);
small_mem->heap_end->next = small_mem->mem_size_aligned + SIZEOF_STRUCT_MEM;
small_mem->heap_end->prev = small_mem->mem_size_aligned + SIZEOF_STRUCT_MEM;
#ifdef RT_USING_MEMTRACE
@@ -333,7 +329,7 @@ void *rt_smem_alloc(rt_smem_t m, rt_size_t size)
/* create mem2 struct */
mem2 = (struct rt_small_mem_item *)&small_mem->heap_ptr[ptr2];
- mem2->pool_ptr = MEM_FREED();
+ mem2->pool_ptr = MEM_FREED(small_mem);
mem2->next = mem->next;
mem2->prev = ptr;
#ifdef RT_USING_MEMTRACE
@@ -365,7 +361,7 @@ void *rt_smem_alloc(rt_smem_t m, rt_size_t size)
small_mem->parent.max = small_mem->parent.used;
}
/* set small memory object */
- mem->pool_ptr = MEM_USED();
+ mem->pool_ptr = MEM_USED(small_mem);
#ifdef RT_USING_MEMTRACE
if (rt_thread_self())
rt_smem_setname(mem, rt_thread_self()->parent.name);
@@ -462,7 +458,7 @@ void *rt_smem_realloc(rt_smem_t m, void *rmem, rt_size_t newsize)
ptr2 = ptr + SIZEOF_STRUCT_MEM + newsize;
mem2 = (struct rt_small_mem_item *)&small_mem->heap_ptr[ptr2];
- mem2->pool_ptr = MEM_FREED();
+ mem2->pool_ptr = MEM_FREED(small_mem);
mem2->next = mem->next;
mem2->prev = ptr;
#ifdef RT_USING_MEMTRACE
@@ -530,7 +526,7 @@ void rt_smem_free(void *rmem)
(rt_ubase_t)(mem->next - ((rt_uint8_t *)mem - small_mem->heap_ptr)));
/* ... and is now unused. */
- mem->pool_ptr = MEM_FREED();
+ mem->pool_ptr = MEM_FREED(small_mem);
#ifdef RT_USING_MEMTRACE
rt_smem_setname(mem, " ");
#endif /* RT_USING_MEMTRACE */