Change the arguments list in ecma_builtin_array_reduce_from . (#3638)

This change deletes two routine arguments and creates an argument list in their place.

JerryScript-DCO-1.0-Signed-off-by: Virag Orkenyi orkvi@inf.u-szeged.hu
This commit is contained in:
Virag Orkenyi
2020-03-27 11:20:25 +01:00
committed by GitHub
parent 43a36c9673
commit 14bcc98089
@@ -2097,15 +2097,14 @@ ecma_builtin_array_prototype_object_filter (ecma_value_t arg1, /**< callbackfn *
* Returned value must be freed with ecma_free_value.
*/
static ecma_value_t
ecma_builtin_array_reduce_from (ecma_value_t callbackfn, /**< routine's 1st argument */
ecma_value_t initial_value, /**< routine's 2nd argument */
ecma_builtin_array_reduce_from (const ecma_value_t args_p[], /**< routine's arguments */
ecma_length_t args_number, /**< arguments list length */
bool start_from_left, /**< whether the reduce starts from left or right */
ecma_object_t *obj_p, /**< array object */
uint32_t len) /**< array object's length */
{
/* 4. */
if (!ecma_op_is_callable (callbackfn))
if (!ecma_op_is_callable (args_p[0]))
{
return ecma_raise_type_error (ECMA_ERR_MSG ("Callback function is not callable."));
}
@@ -2116,8 +2115,8 @@ ecma_builtin_array_reduce_from (ecma_value_t callbackfn, /**< routine's 1st argu
return ecma_raise_type_error (ECMA_ERR_MSG ("Reduce of empty array with no initial value."));
}
JERRY_ASSERT (ecma_is_value_object (callbackfn));
ecma_object_t *func_object_p = ecma_get_object_from_value (callbackfn);
JERRY_ASSERT (ecma_is_value_object (args_p[0]));
ecma_object_t *func_object_p = ecma_get_object_from_value (args_p[0]);
ecma_value_t accumulator = ECMA_VALUE_UNDEFINED;
@@ -2128,7 +2127,7 @@ ecma_builtin_array_reduce_from (ecma_value_t callbackfn, /**< routine's 1st argu
/* 7.a */
if (args_number > 1)
{
accumulator = ecma_copy_value (initial_value);
accumulator = ecma_copy_value (args_p[1]);
}
else
{
@@ -2716,8 +2715,7 @@ ecma_builtin_array_prototype_dispatch_routine (uint16_t builtin_routine_id, /**<
case ECMA_ARRAY_PROTOTYPE_REDUCE:
case ECMA_ARRAY_PROTOTYPE_REDUCE_RIGHT:
{
ret_value = ecma_builtin_array_reduce_from (routine_arg_1,
routine_arg_2,
ret_value = ecma_builtin_array_reduce_from (arguments_list_p,
arguments_number,
builtin_routine_id == ECMA_ARRAY_PROTOTYPE_REDUCE,
obj_p,