Fix assertion on unhandled exceptions
Follow up fix after #815 ('a187e6d'). Fixed the following assertion on unhandled exceptions: * ICE: Assertion 'ecma_get_value_type_field (value) == ECMA_TYPE_OBJECT' failed at ecma-helpers-value.c(ecma_get_object_from_value):375. JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
This commit is contained in:
+7
-2
@@ -171,10 +171,14 @@ static const uint32_t vm_ext_decode_table[] =
|
||||
/**
|
||||
* Run global code
|
||||
*
|
||||
* Note:
|
||||
* returned error value should be freed with jerry_api_release_value
|
||||
* just when the value becomes unnecessary.
|
||||
*
|
||||
* @return completion code
|
||||
*/
|
||||
jerry_completion_code_t
|
||||
vm_run_global (ecma_object_t **error_obj_p)
|
||||
vm_run_global (ecma_value_t *error_value_p) /**< [out] error value */
|
||||
{
|
||||
jerry_completion_code_t ret_code;
|
||||
|
||||
@@ -192,12 +196,13 @@ vm_run_global (ecma_object_t **error_obj_p)
|
||||
|
||||
if (ecma_is_value_error (ret_value))
|
||||
{
|
||||
*error_obj_p = ecma_get_object_from_value (ret_value);
|
||||
*error_value_p = ret_value;
|
||||
ret_code = JERRY_COMPLETION_CODE_UNHANDLED_EXCEPTION;
|
||||
}
|
||||
else
|
||||
{
|
||||
ecma_free_value (ret_value);
|
||||
*error_value_p = ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY);
|
||||
ret_code = JERRY_COMPLETION_CODE_OK;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -194,7 +194,7 @@ typedef enum
|
||||
|
||||
extern void vm_init (ecma_compiled_code_t *);
|
||||
extern void vm_finalize (void);
|
||||
extern jerry_completion_code_t vm_run_global (ecma_object_t **);
|
||||
extern jerry_completion_code_t vm_run_global (ecma_value_t *);
|
||||
extern ecma_value_t vm_run_eval (ecma_compiled_code_t *, bool);
|
||||
|
||||
extern ecma_value_t vm_run (const ecma_compiled_code_t *, ecma_value_t,
|
||||
|
||||
Reference in New Issue
Block a user