Remove 'ecma_completion_value_t'

Remove ecma_completion_value_t, and add an extra bit to
ecma_value_t to represent errors. From the long list of
completion types only normal and error remained.

JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
Zoltan Herczeg
2016-02-16 04:06:18 -08:00
committed by László Langó
parent c25d8617a5
commit b2426a7a94
96 changed files with 2691 additions and 3272 deletions
+20 -20
View File
@@ -37,15 +37,15 @@
* rightNum = ToNumber (rightValue);
* result = leftNum ArithmeticOp rightNum;
*
* @return completion value
* Returned value must be freed with ecma_free_completion_value
* @return ecma value
* Returned value must be freed with ecma_free_value
*/
ecma_completion_value_t
ecma_value_t
do_number_arithmetic (number_arithmetic_op op, /**< number arithmetic operation */
ecma_value_t left_value, /**< left value */
ecma_value_t right_value) /**< right value */
{
ecma_completion_value_t ret_value = ecma_make_empty_completion_value ();
ecma_value_t ret_value = ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY);
ECMA_OP_TO_NUMBER_TRY_CATCH (num_left, left_value, ret_value);
ECMA_OP_TO_NUMBER_TRY_CATCH (num_right, right_value, ret_value);
@@ -81,7 +81,7 @@ do_number_arithmetic (number_arithmetic_op op, /**< number arithmetic operation
}
}
ret_value = ecma_make_completion_value (ECMA_COMPLETION_TYPE_NORMAL, ecma_make_number_value (res_p));
ret_value = ecma_make_number_value (res_p);
ECMA_OP_TO_NUMBER_FINALIZE (num_right);
ECMA_OP_TO_NUMBER_FINALIZE (num_left);
@@ -94,14 +94,14 @@ do_number_arithmetic (number_arithmetic_op op, /**< number arithmetic operation
*
* See also: ECMA-262 v5, 11.6.1
*
* @return completion value
* Returned value must be freed with ecma_free_completion_value
* @return ecma value
* Returned value must be freed with ecma_free_value
*/
ecma_completion_value_t
ecma_value_t
opfunc_addition (ecma_value_t left_value, /**< left value */
ecma_value_t right_value) /**< right value */
{
ecma_completion_value_t ret_value = ecma_make_empty_completion_value ();
ecma_value_t ret_value = ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY);
ECMA_TRY_CATCH (prim_left_value,
ecma_op_to_primitive (left_value,
@@ -123,7 +123,7 @@ opfunc_addition (ecma_value_t left_value, /**< left value */
ecma_string_t *concat_str_p = ecma_concat_ecma_strings (string1_p, string2_p);
ret_value = ecma_make_completion_value (ECMA_COMPLETION_TYPE_NORMAL, ecma_make_string_value (concat_str_p));
ret_value = ecma_make_string_value (concat_str_p);
ECMA_FINALIZE (str_right_value);
ECMA_FINALIZE (str_left_value);
@@ -146,13 +146,13 @@ opfunc_addition (ecma_value_t left_value, /**< left value */
*
* See also: ECMA-262 v5, 11.4, 11.4.6
*
* @return completion value
* Returned value must be freed with ecma_free_completion_value
* @return ecma value
* Returned value must be freed with ecma_free_value
*/
ecma_completion_value_t
ecma_value_t
opfunc_unary_plus (ecma_value_t left_value) /**< left value */
{
ecma_completion_value_t ret_value = ecma_make_empty_completion_value ();
ecma_value_t ret_value = ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY);
ECMA_OP_TO_NUMBER_TRY_CATCH (num_var_value,
left_value,
@@ -161,7 +161,7 @@ opfunc_unary_plus (ecma_value_t left_value) /**< left value */
ecma_number_t *tmp_p = ecma_alloc_number ();
*tmp_p = num_var_value;
ret_value = ecma_make_completion_value (ECMA_COMPLETION_TYPE_NORMAL, ecma_make_number_value (tmp_p));
ret_value = ecma_make_number_value (tmp_p);
ECMA_OP_TO_NUMBER_FINALIZE (num_var_value);
@@ -173,13 +173,13 @@ opfunc_unary_plus (ecma_value_t left_value) /**< left value */
*
* See also: ECMA-262 v5, 11.4, 11.4.7
*
* @return completion value
* Returned value must be freed with ecma_free_completion_value
* @return ecma value
* Returned value must be freed with ecma_free_value
*/
ecma_completion_value_t
ecma_value_t
opfunc_unary_minus (ecma_value_t left_value) /**< left value */
{
ecma_completion_value_t ret_value = ecma_make_empty_completion_value ();
ecma_value_t ret_value = ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY);
ECMA_OP_TO_NUMBER_TRY_CATCH (num_var_value,
left_value,
@@ -188,7 +188,7 @@ opfunc_unary_minus (ecma_value_t left_value) /**< left value */
ecma_number_t *tmp_p = ecma_alloc_number ();
*tmp_p = ecma_number_negate (num_var_value);
ret_value = ecma_make_completion_value (ECMA_COMPLETION_TYPE_NORMAL, ecma_make_number_value (tmp_p));
ret_value = ecma_make_number_value (tmp_p);
ECMA_OP_TO_NUMBER_FINALIZE (num_var_value);