mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
call_0, call_1 opcode handlers: wrapping function calls using ECMA_FUNCTION_CALL helper
This commit is contained in:
parent
bf1841ce54
commit
a341fe044b
@ -599,18 +599,13 @@ opfunc_call_1 (OPCODE opdata __unused, struct __int_data *int_data)
|
||||
ecma_object_t *func_obj_p = ECMA_GET_POINTER (func_value.value.value);
|
||||
|
||||
ECMA_TRY_CATCH (this_value, ecma_op_implicit_this_value (int_data->lex_env_p), ret_value);
|
||||
ECMA_FUNCTION_CALL (call_completion,
|
||||
ecma_op_function_call (func_obj_p, this_value.value, &arg_value.value, 1),
|
||||
ret_value);
|
||||
|
||||
ret_value = ecma_op_function_call (func_obj_p, this_value.value, &arg_value.value, 1);
|
||||
|
||||
if (ret_value.type == ECMA_COMPLETION_TYPE_RETURN)
|
||||
{
|
||||
ecma_value_t returned_value = ret_value.value;
|
||||
|
||||
ret_value = set_variable_value (int_data, lhs_var_idx, returned_value);
|
||||
|
||||
ecma_free_value (returned_value, true);
|
||||
}
|
||||
ret_value = set_variable_value (int_data, lhs_var_idx, call_completion.value);
|
||||
|
||||
ECMA_FINALIZE (call_completion);
|
||||
ECMA_FINALIZE (this_value);
|
||||
}
|
||||
|
||||
@ -2009,18 +2004,13 @@ opfunc_call_0 (OPCODE opdata, /**< operation data */
|
||||
ecma_object_t *func_obj_p = ECMA_GET_POINTER (func_value.value.value);
|
||||
|
||||
ECMA_TRY_CATCH (this_value, ecma_op_implicit_this_value (int_data->lex_env_p), ret_value);
|
||||
ECMA_FUNCTION_CALL (call_completion,
|
||||
ecma_op_function_call (func_obj_p, this_value.value, NULL, 0),
|
||||
ret_value);
|
||||
|
||||
ret_value = ecma_op_function_call (func_obj_p, this_value.value, NULL, 0);
|
||||
|
||||
if (ret_value.type == ECMA_COMPLETION_TYPE_RETURN)
|
||||
{
|
||||
ecma_value_t returned_value = ret_value.value;
|
||||
|
||||
ret_value = set_variable_value (int_data, lhs_var_idx, returned_value);
|
||||
|
||||
ecma_free_value (returned_value, true);
|
||||
}
|
||||
ret_value = set_variable_value (int_data, lhs_var_idx, call_completion.value);
|
||||
|
||||
ECMA_FINALIZE (call_completion);
|
||||
ECMA_FINALIZE (this_value);
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user