Remove ecma_simple_value_t and refactor ecma_make_simple_value (#2135)

This patch removes all ecma_make_simple_value calls to make the code more easy to understand.
Also removes the type ecma_simple_value_t which improves the performance in related code paths by calculating the value of new ecma_value_t is no longer needed.

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik frobert@inf.u-szeged.hu
This commit is contained in:
Robert Fancsik
2017-12-06 18:06:07 +01:00
committed by Dániel Bátyai
parent 1007b63024
commit e83de3accd
60 changed files with 470 additions and 482 deletions
+12 -12
View File
@@ -148,12 +148,12 @@ ecma_op_create_mutable_binding (ecma_object_t *lex_env_p, /**< lexical environme
ecma_value_t completion;
if (!ecma_get_object_extensible (binding_obj_p))
{
return ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY);
return ECMA_VALUE_EMPTY;
}
completion = ecma_builtin_helper_def_prop (binding_obj_p,
name_p,
ecma_make_simple_value (ECMA_SIMPLE_VALUE_UNDEFINED),
ECMA_VALUE_UNDEFINED,
true, /* Writable */
true, /* Enumerable */
is_deletable, /* Configurable */
@@ -169,7 +169,7 @@ ecma_op_create_mutable_binding (ecma_object_t *lex_env_p, /**< lexical environme
}
}
return ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY);
return ECMA_VALUE_EMPTY;
} /* ecma_op_create_mutable_binding */
/**
@@ -228,7 +228,7 @@ ecma_op_set_mutable_binding (ecma_object_t *lex_env_p, /**< lexical environment
}
}
return ecma_make_simple_value (ECMA_SIMPLE_VALUE_EMPTY);
return ECMA_VALUE_EMPTY;
} /* ecma_op_set_mutable_binding */
/**
@@ -271,7 +271,7 @@ ecma_op_get_binding_value (ecma_object_t *lex_env_p, /**< lexical environment */
}
else
{
result = ecma_make_simple_value (ECMA_SIMPLE_VALUE_UNDEFINED);
result = ECMA_VALUE_UNDEFINED;
}
}
@@ -300,11 +300,11 @@ ecma_op_delete_binding (ecma_object_t *lex_env_p, /**< lexical environment */
if (ecma_get_lex_env_type (lex_env_p) == ECMA_LEXICAL_ENVIRONMENT_DECLARATIVE)
{
ecma_property_t *prop_p = ecma_find_named_property (lex_env_p, name_p);
ecma_simple_value_t ret_val;
ecma_value_t ret_val;
if (prop_p == NULL)
{
ret_val = ECMA_SIMPLE_VALUE_TRUE;
ret_val = ECMA_VALUE_TRUE;
}
else
{
@@ -312,17 +312,17 @@ ecma_op_delete_binding (ecma_object_t *lex_env_p, /**< lexical environment */
if (!ecma_is_property_configurable (*prop_p))
{
ret_val = ECMA_SIMPLE_VALUE_FALSE;
ret_val = ECMA_VALUE_FALSE;
}
else
{
ecma_delete_property (lex_env_p, ECMA_PROPERTY_VALUE_PTR (prop_p));
ret_val = ECMA_SIMPLE_VALUE_TRUE;
ret_val = ECMA_VALUE_TRUE;
}
}
return ecma_make_simple_value (ret_val);
return ret_val;
}
else
{
@@ -351,7 +351,7 @@ ecma_op_implicit_this_value (ecma_object_t *lex_env_p) /**< lexical environment
if (ecma_get_lex_env_type (lex_env_p) == ECMA_LEXICAL_ENVIRONMENT_DECLARATIVE)
{
return ecma_make_simple_value (ECMA_SIMPLE_VALUE_UNDEFINED);
return ECMA_VALUE_UNDEFINED;
}
else
{
@@ -367,7 +367,7 @@ ecma_op_implicit_this_value (ecma_object_t *lex_env_p) /**< lexical environment
}
else
{
return ecma_make_simple_value (ECMA_SIMPLE_VALUE_UNDEFINED);
return ECMA_VALUE_UNDEFINED;
}
}
} /* ecma_op_implicit_this_value */