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:
Ruben Ayrapetyan 2014-08-29 18:21:22 +04:00
parent 32f20a02a3
commit 32d111fecf
2 changed files with 8 additions and 4 deletions

View File

@ -36,7 +36,12 @@
*
* 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

View File

@ -100,10 +100,9 @@ mem_pools_alloc (void)
{
/**
* 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);