Changing pool's chunk size to 8 bytes. Adding configurable value for minimum chunks in a pool allocated by pools' manager: CONFIG_MEM_LEAST_CHUNK_NUMBER_IN_POOL = 32.
This commit is contained in:
+6
-1
@@ -36,7 +36,12 @@
|
|||||||
*
|
*
|
||||||
* Should not be less than size of any of ECMA Object Model's data types.
|
* Should not be less than size of any of ECMA Object Model's data types.
|
||||||
*/
|
*/
|
||||||
#define CONFIG_MEM_POOL_CHUNK_SIZE 16
|
#define CONFIG_MEM_POOL_CHUNK_SIZE 8
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Minimum number of chunks in a pool allocated by pools' manager.
|
||||||
|
*/
|
||||||
|
#define CONFIG_MEM_LEAST_CHUNK_NUMBER_IN_POOL 32
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Size of heap chunk
|
* Size of heap chunk
|
||||||
|
|||||||
@@ -100,10 +100,9 @@ mem_pools_alloc (void)
|
|||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Space, at least for header and eight chunks.
|
* Space, at least for header and eight chunks.
|
||||||
*
|
|
||||||
* TODO: Config.
|
|
||||||
*/
|
*/
|
||||||
size_t pool_size = mem_heap_recommend_allocation_size (sizeof (mem_pool_state_t) + 8 * MEM_POOL_CHUNK_SIZE);
|
size_t pool_chunks_area_size = CONFIG_MEM_LEAST_CHUNK_NUMBER_IN_POOL * MEM_POOL_CHUNK_SIZE;
|
||||||
|
size_t pool_size = mem_heap_recommend_allocation_size (sizeof (mem_pool_state_t) + pool_chunks_area_size);
|
||||||
|
|
||||||
mem_pool_state_t *pool_state = (mem_pool_state_t*) mem_heap_alloc_block (pool_size, MEM_HEAP_ALLOC_LONG_TERM);
|
mem_pool_state_t *pool_state = (mem_pool_state_t*) mem_heap_alloc_block (pool_size, MEM_HEAP_ALLOC_LONG_TERM);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user