Refactoring function call operations to return 'normal' completion values instead of 'return' completion values. Removing ECMA_FUNCTION_CALL macro.

This commit is contained in:
Ruben Ayrapetyan
2014-09-24 14:21:03 +04:00
parent 3a31bf6eb1
commit 25ec2bea17
9 changed files with 58 additions and 89 deletions
@@ -144,8 +144,8 @@ ecma_builtin_global_object_is_nan (ecma_value_t arg) /**< routine's first argume
bool is_nan = ecma_number_is_nan (*num_p);
ret_value = ecma_make_return_completion_value (ecma_make_simple_value (is_nan ? ECMA_SIMPLE_VALUE_TRUE
: ECMA_SIMPLE_VALUE_FALSE));
ret_value = ecma_make_simple_completion_value (is_nan ? ECMA_SIMPLE_VALUE_TRUE
: ECMA_SIMPLE_VALUE_FALSE);
ECMA_FINALIZE (num_value);
@@ -173,8 +173,8 @@ ecma_builtin_global_object_is_finite (ecma_value_t arg) /**< routine's first arg
bool is_finite = !(ecma_number_is_nan (*num_p)
|| ecma_number_is_infinity (*num_p));
ret_value = ecma_make_return_completion_value (ecma_make_simple_value (is_finite ? ECMA_SIMPLE_VALUE_TRUE
: ECMA_SIMPLE_VALUE_FALSE));
ret_value = ecma_make_simple_completion_value (is_finite ? ECMA_SIMPLE_VALUE_TRUE
: ECMA_SIMPLE_VALUE_FALSE);
ECMA_FINALIZE (num_value);
@@ -190,7 +190,7 @@ ecma_builtin_math_object_abs (ecma_value_t arg) /**< routine's argument */
*num_p = ecma_number_negate (arg_num);
}
ret_value = ecma_make_return_completion_value (ecma_make_number_value (num_p));
ret_value = ecma_make_normal_completion_value (ecma_make_number_value (num_p));
ECMA_FINALIZE (arg_num_value);
@@ -420,7 +420,7 @@ ecma_builtin_math_object_max (ecma_value_t args[], /**< arguments list */
ecma_number_t *num_p = ecma_alloc_number ();
*num_p = ret_num;
return ecma_make_return_completion_value (ecma_make_number_value (num_p));
return ecma_make_normal_completion_value (ecma_make_number_value (num_p));
} /* ecma_builtin_math_object_max */
/**
@@ -510,7 +510,7 @@ ecma_builtin_math_object_min (ecma_value_t args[], /**< arguments list */
ecma_number_t *num_p = ecma_alloc_number ();
*num_p = ret_num;
return ecma_make_return_completion_value (ecma_make_number_value (num_p));
return ecma_make_normal_completion_value (ecma_make_number_value (num_p));
} /* ecma_builtin_math_object_min */
/**
@@ -567,7 +567,7 @@ ecma_builtin_math_object_random (void)
ecma_number_t *rand_p = ecma_alloc_number ();
*rand_p = rand;
return ecma_make_return_completion_value (ecma_make_number_value (rand_p));
return ecma_make_normal_completion_value (ecma_make_number_value (rand_p));
} /* ecma_builtin_math_object_random */
/**
@@ -620,7 +620,7 @@ ecma_builtin_math_object_round (ecma_value_t arg) /**< routine's argument */
}
}
ret_value = ecma_make_return_completion_value (ecma_make_number_value (num_p));
ret_value = ecma_make_normal_completion_value (ecma_make_number_value (num_p));
ECMA_FINALIZE (arg_num_value);
@@ -707,7 +707,7 @@ ecma_builtin_math_object_sqrt (ecma_value_t arg) /**< routine's argument */
ecma_number_t *num_p = ecma_alloc_number ();
*num_p = ret_num;
ret_value = ecma_make_return_completion_value (ecma_make_number_value (num_p));
ret_value = ecma_make_normal_completion_value (ecma_make_number_value (num_p));
ECMA_FINALIZE (arg_num_value);
@@ -121,25 +121,20 @@ ecma_builtin_object_dispatch_call (ecma_value_t *arguments_list_p, /**< argument
{
JERRY_ASSERT (arguments_list_len == 0 || arguments_list_p != NULL);
ecma_completion_value_t ret_value;
if (arguments_list_len == 0
|| ecma_is_value_undefined (arguments_list_p[0])
|| ecma_is_value_null (arguments_list_p [0]))
{
return ecma_builtin_object_dispatch_construct (arguments_list_p, arguments_list_len);
ret_value = ecma_builtin_object_dispatch_construct (arguments_list_p, arguments_list_len);
}
else
{
ecma_completion_value_t new_obj_value = ecma_op_to_object (arguments_list_p [0]);
if (!ecma_is_completion_value_normal (new_obj_value))
{
return new_obj_value;
}
else
{
return ecma_make_return_completion_value (new_obj_value.u.value);
}
ret_value = ecma_op_to_object (arguments_list_p [0]);
}
return ret_value;
} /* ecma_builtin_object_dispatch_call */
/**
@@ -157,7 +152,7 @@ ecma_builtin_object_dispatch_construct (ecma_value_t *arguments_list_p, /**< arg
{
ecma_object_t *obj_p = ecma_op_create_object_object_noarg ();
return ecma_make_return_completion_value (ecma_make_object_value (obj_p));
return ecma_make_normal_completion_value (ecma_make_object_value (obj_p));
}
else
{
@@ -169,7 +164,7 @@ ecma_builtin_object_dispatch_construct (ecma_value_t *arguments_list_p, /**< arg
}
else
{
return ecma_make_return_completion_value (new_obj_value.u.value);
return ecma_make_normal_completion_value (new_obj_value.u.value);
}
}
} /* ecma_builtin_object_dispatch_construct */