pikapython/port/linux/test/mem_pool_config.c

41 lines
993 B
C
Raw Normal View History

2021-11-15 22:52:30 +08:00
#include "dataMemory.h"
2021-11-26 22:18:01 +08:00
#define use_const_pool 0
2021-11-27 19:00:17 +08:00
#define use_dynamic_pool 1
2021-11-20 09:56:30 +08:00
#define pika_aline 8
2021-11-27 19:00:17 +08:00
#define pika_pool_size 0x4000
2021-11-16 16:25:22 +08:00
2021-11-17 22:30:52 +08:00
/* quick_malloc is always open */
uint8_t __is_quick_malloc(void) {
// return 1;
return 0;
}
2021-11-16 16:25:22 +08:00
#if use_const_pool
2021-11-15 22:52:30 +08:00
uint8_t pika_bitmap[pika_pool_size / pika_aline / 8] = {0};
uint8_t pika_pool_mem[pika_pool_size] = {0};
Pool pikaPool = {.aline = pika_aline,
.bitmap = pika_bitmap,
.mem = pika_pool_mem,
.size = pika_pool_size};
void* __impl_pikaMalloc(size_t size) {
2021-11-20 10:04:12 +08:00
return pool_malloc(&pikaPool, size);
2021-11-15 22:52:30 +08:00
}
void __impl_pikaFree(void* ptrm, size_t size) {
pool_free(&pikaPool, ptrm, size);
}
2021-11-20 09:56:30 +08:00
#endif
2021-11-16 16:25:22 +08:00
2021-11-20 09:56:30 +08:00
#if use_dynamic_pool
Pool pikaPool;
void* __impl_pikaMalloc(size_t size) {
2021-11-20 09:58:10 +08:00
return pool_malloc(&pikaPool, size);
2021-11-20 09:56:30 +08:00
}
void __impl_pikaFree(void* ptrm, size_t size) {
pool_free(&pikaPool, ptrm, size);
}
void __platformPoolInit(void) {
pikaPool = pool_init(pika_pool_size, pika_aline);
}
#endif