Set the correct realm when global code is running (#4522)

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
Zoltan Herczeg
2021-01-22 09:17:38 +01:00
committed by GitHub
parent bf7fa39581
commit d646cf51ee
2 changed files with 60 additions and 1 deletions
+10 -1
View File
@@ -321,11 +321,20 @@ vm_run_global (const ecma_compiled_code_t *bytecode_p) /**< pointer to bytecode
#if ENABLED (JERRY_BUILTIN_REALMS)
ecma_value_t this_binding = ((ecma_global_object_t *) global_obj_p)->this_binding;
ecma_global_object_t *saved_global_object_p = JERRY_CONTEXT (global_object_p);
JERRY_CONTEXT (global_object_p) = (ecma_global_object_t *) global_obj_p;
#else /* !ENABLED (JERRY_BUILTIN_REALMS) */
ecma_value_t this_binding = ecma_make_object_value (global_obj_p);
#endif /* ENABLED (JERRY_BUILTIN_REALMS) */
return vm_run (&shared, this_binding, global_scope_p);
ecma_value_t result = vm_run (&shared, this_binding, global_scope_p);
#if ENABLED (JERRY_BUILTIN_REALMS)
JERRY_CONTEXT (global_object_p) = saved_global_object_p;
#endif /* ENABLED (JERRY_BUILTIN_REALMS) */
return result;
} /* vm_run_global */
/**