Reduce the memory consumption of function objects. (#1954)
Several properties of strict and bound functions are moved to lazy property instantiation. The memory consumption of bound functions are also reduced when only a this is present. JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
committed by
Dániel Bátyai
parent
82a94d0f88
commit
e897858c64
@@ -30,8 +30,7 @@ bool ecma_op_is_callable (ecma_value_t value);
|
||||
bool ecma_is_constructor (ecma_value_t value);
|
||||
|
||||
ecma_object_t *
|
||||
ecma_op_create_function_object (ecma_object_t *scope_p, bool is_decl_in_strict_mode,
|
||||
const ecma_compiled_code_t *bytecode_data_p);
|
||||
ecma_op_create_function_object (ecma_object_t *scope_p, const ecma_compiled_code_t *bytecode_data_p);
|
||||
|
||||
void
|
||||
ecma_op_function_list_lazy_property_names (bool separate_enumerable,
|
||||
@@ -39,7 +38,7 @@ ecma_op_function_list_lazy_property_names (bool separate_enumerable,
|
||||
ecma_collection_header_t *non_enum_collection_p);
|
||||
|
||||
ecma_property_t *
|
||||
ecma_op_function_try_lazy_instantiate_property (ecma_object_t *object_p, ecma_string_t *property_name_p);
|
||||
ecma_op_function_try_to_lazy_instantiate_property (ecma_object_t *object_p, ecma_string_t *property_name_p);
|
||||
|
||||
ecma_object_t *
|
||||
ecma_op_create_external_function_object (ecma_external_handler_t handler_cb);
|
||||
@@ -55,6 +54,9 @@ ecma_op_function_construct (ecma_object_t *func_obj_p, const ecma_value_t *argum
|
||||
ecma_value_t
|
||||
ecma_op_function_has_instance (ecma_object_t *func_obj_p, ecma_value_t value);
|
||||
|
||||
ecma_property_t *
|
||||
ecma_op_bound_function_try_to_lazy_instantiate_property (ecma_object_t *object_p, ecma_string_t *property_name_p);
|
||||
|
||||
/**
|
||||
* @}
|
||||
* @}
|
||||
|
||||
Reference in New Issue
Block a user