Merged conditions of if statements where possible. (#2380)

JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
This commit is contained in:
László Langó
2018-06-06 08:08:17 +02:00
committed by yichoi
parent b61d0ed856
commit b4b0b7d572
11 changed files with 138 additions and 173 deletions
+3 -5
View File
@@ -1511,12 +1511,10 @@ ecma_string_get_chars (const ecma_string_t *string_p, /**< ecma-string */
}
*size_p = size;
if (*flags_p & ECMA_STRING_FLAG_IS_ASCII)
if ((*flags_p & ECMA_STRING_FLAG_IS_ASCII)
&& length != size)
{
if (length != size)
{
*flags_p = (uint8_t) (*flags_p & ~ECMA_STRING_FLAG_IS_ASCII);
}
*flags_p = (uint8_t) (*flags_p & ~ECMA_STRING_FLAG_IS_ASCII);
}
return result_p;
+5 -7
View File
@@ -771,14 +771,12 @@ ecma_free_property (ecma_object_t *object_p, /**< object the property belongs to
{
case ECMA_PROPERTY_TYPE_NAMEDDATA:
{
if (ECMA_PROPERTY_GET_NAME_TYPE (*property_p) == ECMA_DIRECT_STRING_MAGIC)
if (ECMA_PROPERTY_GET_NAME_TYPE (*property_p) == ECMA_DIRECT_STRING_MAGIC
&& (name_cp == LIT_INTERNAL_MAGIC_STRING_NATIVE_HANDLE
|| name_cp == LIT_INTERNAL_MAGIC_STRING_NATIVE_POINTER))
{
if (name_cp == LIT_INTERNAL_MAGIC_STRING_NATIVE_HANDLE
|| name_cp == LIT_INTERNAL_MAGIC_STRING_NATIVE_POINTER)
{
ecma_free_native_pointer (property_p);
break;
}
ecma_free_native_pointer (property_p);
break;
}
ecma_free_value_if_not_object (ECMA_PROPERTY_VALUE_PTR (property_p)->value);
@@ -1716,13 +1716,11 @@ ecma_builtin_array_prototype_object_index_of (ecma_value_t this_arg, /**< this a
/* 9.a */
ECMA_TRY_CATCH (get_value, ecma_op_object_find (obj_p, idx_str_p), ret_value);
if (ecma_is_value_found (get_value))
/* 9.b.i, 9.b.ii */
if (ecma_is_value_found (get_value)
&& ecma_op_strict_equality_compare (arg1, get_value))
{
/* 9.b.i, 9.b.ii */
if (ecma_op_strict_equality_compare (arg1, get_value))
{
found_index = ((ecma_number_t) from_idx);
}
found_index = ((ecma_number_t) from_idx);
}
ECMA_FINALIZE (get_value);
@@ -1863,13 +1861,11 @@ ecma_builtin_array_prototype_object_last_index_of (ecma_value_t this_arg, /**< t
/* 8.a */
ECMA_TRY_CATCH (get_value, ecma_op_object_find (obj_p, idx_str_p), ret_value);
if (ecma_is_value_found (get_value))
/* 8.b.i, 8.b.ii */
if (ecma_is_value_found (get_value)
&& ecma_op_strict_equality_compare (search_element, get_value))
{
/* 8.b.i, 8.b.ii */
if (ecma_op_strict_equality_compare (search_element, get_value))
{
num = ((ecma_number_t) from_idx);
}
num = ((ecma_number_t) from_idx);
}
ECMA_FINALIZE (get_value);
@@ -190,17 +190,16 @@ ecma_builtin_global_object_parse_int (ecma_value_t this_arg, /**< this argument
if (ecma_is_value_empty (ret_value))
{
/* 10. */
if (strip_prefix)
if (strip_prefix
&& ((end_p - start_p) >= 2)
&& (current == LIT_CHAR_0))
{
if (end_p - start_p >= 2 && current == LIT_CHAR_0)
ecma_char_t next = *string_curr_p;
if (next == LIT_CHAR_LOWERCASE_X || next == LIT_CHAR_UPPERCASE_X)
{
ecma_char_t next = *string_curr_p;
if (next == LIT_CHAR_LOWERCASE_X || next == LIT_CHAR_UPPERCASE_X)
{
/* Skip the 'x' or 'X' characters. */
start_p = ++string_curr_p;
rad = 16;
}
/* Skip the 'x' or 'X' characters. */
start_p = ++string_curr_p;
rad = 16;
}
}
@@ -213,27 +213,25 @@ ecma_builtin_math_dispatch_routine (uint16_t builtin_routine_id, /**< built-in w
}
}
if (builtin_routine_id >= ECMA_MATH_OBJECT_ATAN2)
if (builtin_routine_id >= ECMA_MATH_OBJECT_ATAN2
&& arguments_number >= 2)
{
if (arguments_number >= 2)
if (ecma_is_value_number (arguments_list[1]))
{
if (ecma_is_value_number (arguments_list[1]))
y = ecma_get_number_from_value (arguments_list[1]);
}
else
{
ecma_value_t value = ecma_op_to_number (arguments_list[1]);
if (ECMA_IS_VALUE_ERROR (value))
{
y = ecma_get_number_from_value (arguments_list[1]);
return value;
}
else
{
ecma_value_t value = ecma_op_to_number (arguments_list[1]);
if (ECMA_IS_VALUE_ERROR (value))
{
return value;
}
y = ecma_get_number_from_value (value);
y = ecma_get_number_from_value (value);
ecma_fast_free_value (value);
}
ecma_fast_free_value (value);
}
}
@@ -198,12 +198,10 @@ ecma_builtin_typedarray_prototype_exec_routine (ecma_value_t this_arg, /**< this
ret_value = ECMA_VALUE_FALSE;
}
}
else if (mode == TYPEDARRAY_ROUTINE_SOME)
else if (mode == TYPEDARRAY_ROUTINE_SOME
&& ecma_op_to_boolean (call_value))
{
if (ecma_op_to_boolean (call_value))
{
ret_value = ECMA_VALUE_TRUE;
}
ret_value = ECMA_VALUE_TRUE;
}
ECMA_FINALIZE (call_value);
+3 -7
View File
@@ -775,14 +775,10 @@ ecma_op_to_property_descriptor (ecma_value_t obj_value, /**< object value */
JERRY_ASSERT (ecma_is_value_empty (ret_value));
/* 9. */
if (prop_desc.is_get_defined
|| prop_desc.is_set_defined)
if ((prop_desc.is_get_defined || prop_desc.is_set_defined)
&& (prop_desc.is_value_defined || prop_desc.is_writable_defined))
{
if (prop_desc.is_value_defined
|| prop_desc.is_writable_defined)
{
ret_value = ecma_raise_type_error (ECMA_ERR_MSG ("Accessors cannot be writable."));
}
ret_value = ecma_raise_type_error (ECMA_ERR_MSG ("Accessors cannot be writable."));
}
}
+38 -44
View File
@@ -264,29 +264,27 @@ ecma_op_object_get_own_property (ecma_object_t *object_p, /**< the object */
{
uint32_t index = ecma_string_get_array_index (property_name_p);
if (index != ECMA_STRING_NOT_ARRAY_INDEX)
if (index != ECMA_STRING_NOT_ARRAY_INDEX
&& index < ext_object_p->u.pseudo_array.u1.length)
{
if (index < ext_object_p->u.pseudo_array.u1.length)
ecma_value_t *arg_Literal_p = (ecma_value_t *) (ext_object_p + 1);
if (arg_Literal_p[index] != ECMA_VALUE_EMPTY)
{
ecma_value_t *arg_Literal_p = (ecma_value_t *) (ext_object_p + 1);
ecma_string_t *arg_name_p = ecma_get_string_from_value (arg_Literal_p[index]);
if (arg_Literal_p[index] != ECMA_VALUE_EMPTY)
{
ecma_string_t *arg_name_p = ecma_get_string_from_value (arg_Literal_p[index]);
ecma_object_t *lex_env_p = ECMA_GET_INTERNAL_VALUE_POINTER (ecma_object_t,
ext_object_p->u.pseudo_array.u2.lex_env_cp);
ecma_object_t *lex_env_p = ECMA_GET_INTERNAL_VALUE_POINTER (ecma_object_t,
ext_object_p->u.pseudo_array.u2.lex_env_cp);
JERRY_ASSERT (lex_env_p != NULL
&& ecma_is_lexical_environment (lex_env_p));
JERRY_ASSERT (lex_env_p != NULL
&& ecma_is_lexical_environment (lex_env_p));
ecma_value_t binding_value = ecma_op_get_binding_value (lex_env_p, arg_name_p, true);
ecma_value_t binding_value = ecma_op_get_binding_value (lex_env_p, arg_name_p, true);
ecma_named_data_property_assign_value (object_p,
ECMA_PROPERTY_VALUE_PTR (property_p),
binding_value);
ecma_free_value (binding_value);
}
ecma_named_data_property_assign_value (object_p,
ECMA_PROPERTY_VALUE_PTR (property_p),
binding_value);
ecma_free_value (binding_value);
}
}
}
@@ -456,24 +454,22 @@ ecma_op_object_find_own (ecma_value_t base_value, /**< base value */
{
uint32_t index = ecma_string_get_array_index (property_name_p);
if (index != ECMA_STRING_NOT_ARRAY_INDEX)
if (index != ECMA_STRING_NOT_ARRAY_INDEX
&& index < ext_object_p->u.pseudo_array.u1.length)
{
if (index < ext_object_p->u.pseudo_array.u1.length)
ecma_value_t *arg_Literal_p = (ecma_value_t *) (ext_object_p + 1);
if (arg_Literal_p[index] != ECMA_VALUE_EMPTY)
{
ecma_value_t *arg_Literal_p = (ecma_value_t *) (ext_object_p + 1);
ecma_string_t *arg_name_p = ecma_get_string_from_value (arg_Literal_p[index]);
if (arg_Literal_p[index] != ECMA_VALUE_EMPTY)
{
ecma_string_t *arg_name_p = ecma_get_string_from_value (arg_Literal_p[index]);
ecma_object_t *lex_env_p = ECMA_GET_INTERNAL_VALUE_POINTER (ecma_object_t,
ext_object_p->u.pseudo_array.u2.lex_env_cp);
ecma_object_t *lex_env_p = ECMA_GET_INTERNAL_VALUE_POINTER (ecma_object_t,
ext_object_p->u.pseudo_array.u2.lex_env_cp);
JERRY_ASSERT (lex_env_p != NULL
&& ecma_is_lexical_environment (lex_env_p));
JERRY_ASSERT (lex_env_p != NULL
&& ecma_is_lexical_environment (lex_env_p));
return ecma_op_get_binding_value (lex_env_p, arg_name_p, true);
}
return ecma_op_get_binding_value (lex_env_p, arg_name_p, true);
}
}
}
@@ -781,25 +777,23 @@ ecma_op_object_put (ecma_object_t *object_p, /**< the object */
{
uint32_t index = ecma_string_get_array_index (property_name_p);
if (index != ECMA_STRING_NOT_ARRAY_INDEX)
if (index != ECMA_STRING_NOT_ARRAY_INDEX
&& index < ext_object_p->u.pseudo_array.u1.length)
{
if (index < ext_object_p->u.pseudo_array.u1.length)
ecma_value_t *arg_Literal_p = (ecma_value_t *) (ext_object_p + 1);
if (arg_Literal_p[index] != ECMA_VALUE_EMPTY)
{
ecma_value_t *arg_Literal_p = (ecma_value_t *) (ext_object_p + 1);
ecma_string_t *arg_name_p = ecma_get_string_from_value (arg_Literal_p[index]);
if (arg_Literal_p[index] != ECMA_VALUE_EMPTY)
{
ecma_string_t *arg_name_p = ecma_get_string_from_value (arg_Literal_p[index]);
ecma_object_t *lex_env_p = ECMA_GET_INTERNAL_VALUE_POINTER (ecma_object_t,
ext_object_p->u.pseudo_array.u2.lex_env_cp);
ecma_object_t *lex_env_p = ECMA_GET_INTERNAL_VALUE_POINTER (ecma_object_t,
ext_object_p->u.pseudo_array.u2.lex_env_cp);
JERRY_ASSERT (lex_env_p != NULL
&& ecma_is_lexical_environment (lex_env_p));
JERRY_ASSERT (lex_env_p != NULL
&& ecma_is_lexical_environment (lex_env_p));
ecma_op_set_mutable_binding (lex_env_p, arg_name_p, value, true);
return ECMA_VALUE_TRUE;
}
ecma_op_set_mutable_binding (lex_env_p, arg_name_p, value, true);
return ECMA_VALUE_TRUE;
}
}
}