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
@@ -21,6 +21,7 @@
|
||||
#include "ecma-lex-env.h"
|
||||
#include "ecma-literal-storage.h"
|
||||
#include "jmem-allocator.h"
|
||||
#include "jcontext.h"
|
||||
|
||||
/** \addtogroup ecma ECMA
|
||||
* @{
|
||||
@@ -39,6 +40,12 @@ ecma_init (void)
|
||||
ecma_init_global_lex_env ();
|
||||
|
||||
jmem_register_free_unused_memory_callback (ecma_free_unused_memory);
|
||||
|
||||
#ifndef CONFIG_ECMA_PROPERTY_HASHMAP_DISABLE
|
||||
JERRY_CONTEXT (ecma_prop_hashmap_alloc_state) = ECMA_PROP_HASHMAP_ALLOC_ON;
|
||||
JERRY_CONTEXT (ecma_prop_hashmap_alloc_last_is_hs_gc) = false;
|
||||
#endif /* !CONFIG_ECMA_PROPERTY_HASHMAP_DISABLE */
|
||||
|
||||
} /* ecma_init */
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user