Optimize lexenv binding creation (#4502)

- Declarative environment no longer need to lookup the created binding for setting it's value
- Unfold vm_decl_var and vm_set_var into vm_loop to reduce error checks
- Reduce code duplication in ecma_module_connect_imports
- Fix deleted binding setting in `ecma_op_set_mutable_binding` (fixes #4468)

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik frobert@inf.u-szeged.hu
This commit is contained in:
Robert Fancsik
2021-01-18 17:38:54 +01:00
committed by GitHub
parent 3b77117a2e
commit 2ade072e53
8 changed files with 104 additions and 119 deletions
-6
View File
@@ -71,12 +71,6 @@ typedef enum
*/
#define OPFUNC_HAS_SPREAD_ELEMENT (1 << 8)
ecma_value_t
vm_var_decl (ecma_object_t *lex_env_p, ecma_string_t *var_name_str_p, bool is_configurable_bindings);
ecma_value_t
vm_set_var (ecma_object_t *lex_env_p, ecma_string_t *var_name_str_p, bool is_strict, ecma_value_t lit_value);
ecma_value_t
opfunc_equality (ecma_value_t left_value, ecma_value_t right_value);