diff --git a/jerry-core/jerry.cpp b/jerry-core/jerry.cpp index d1cb78c7f..3fc04d916 100644 --- a/jerry-core/jerry.cpp +++ b/jerry-core/jerry.cpp @@ -14,6 +14,7 @@ */ #include "deserializer.h" +#include "ecma-operations.h" #include "jerry.h" #include "jrt.h" #include "parser.h" @@ -50,6 +51,7 @@ jerry_init (jerry_flag_t flags) /**< combination of Jerry flags */ mem_init (); deserializer_init (); + ecma_init (); } /* jerry_init */ /** @@ -64,6 +66,7 @@ jerry_cleanup (void) { bool is_show_mem_stats = ((jerry_flags & JERRY_FLAG_MEM_STATS) != 0); + ecma_finalize (); deserializer_free (); mem_finalize (is_show_mem_stats); } /* jerry_cleanup */ diff --git a/jerry-core/vm/vm.cpp b/jerry-core/vm/vm.cpp index 29c34f3ab..0f9d2240c 100644 --- a/jerry-core/vm/vm.cpp +++ b/jerry-core/vm/vm.cpp @@ -366,8 +366,6 @@ run_int (void) start_pos++; } - ecma_init (); - ecma_object_t *glob_obj_p = ecma_builtin_get (ECMA_BUILTIN_ID_GLOBAL); ecma_object_t *lex_env_p = ecma_op_create_global_environment (glob_obj_p); @@ -401,7 +399,6 @@ run_int (void) ecma_deref_object (glob_obj_p); ecma_deref_object (lex_env_p); - ecma_finalize (); return ret_code; }