Prop hashmap allocation strategy based on gc pattern is implemented. (#1429)
The algorithm is the following: * introduced a counter variable, which value can be [0-4] * if its value is 0, property hashmap allocation is enabled * JMEM_FREE_UNUSED_MEMORY_SEVERITY_LOW -> decrease the counter * JMEM_FREE_UNUSED_MEMORY_SEVERITY_HIGH -> increase the number * if JMEM_FREE_UNUSED_MEMORY_SEVERITY_HIGH happens twice in a row increase the counter to 4 According to the measurements this algorithm provides better runtime results in low memory conditions. JerryScript-DCO-1.0-Signed-off-by: István Kádár ikadar@inf.u-szeged.hu
This commit is contained in:
committed by
Zoltan Herczeg
parent
e443d95566
commit
405092e700
@@ -1002,6 +1002,22 @@ typedef enum
|
||||
ECMA_GC_COLOR__COUNT /**< number of colors */
|
||||
} ecma_gc_color_t;
|
||||
|
||||
#ifndef CONFIG_ECMA_PROPERTY_HASHMAP_DISABLE
|
||||
|
||||
/**
|
||||
* The lowest state of the ecma_prop_hashmap_alloc_state counter.
|
||||
* If ecma_prop_hashmap_alloc_state other other than this value, it is
|
||||
* disabled.
|
||||
*/
|
||||
#define ECMA_PROP_HASHMAP_ALLOC_ON 0
|
||||
|
||||
/**
|
||||
* The highest state of the ecma_prop_hashmap_alloc_state counter.
|
||||
*/
|
||||
#define ECMA_PROP_HASHMAP_ALLOC_MAX 4
|
||||
|
||||
#endif /* !CONFIG_ECMA_PROPERTY_HASHMAP_DISABLE */
|
||||
|
||||
/**
|
||||
* Number of values in a literal storage item
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user