Optimising the ToString operation
Create new ecma-string from positive integers without cast it to ecma_number JerryScript-DCO-1.0-Signed-off-by: Robert Sipka rsipka.uszeged@partner.samsung.com
This commit is contained in:
@@ -355,7 +355,20 @@ ecma_op_to_string (ecma_value_t value) /**< ecma value */
|
|||||||
res_p = ecma_get_string_from_value (value);
|
res_p = ecma_get_string_from_value (value);
|
||||||
res_p = ecma_copy_or_ref_ecma_string (res_p);
|
res_p = ecma_copy_or_ref_ecma_string (res_p);
|
||||||
}
|
}
|
||||||
else if (ecma_is_value_number (value))
|
else if (ecma_is_value_integer_number (value))
|
||||||
|
{
|
||||||
|
ecma_integer_value_t num = ecma_get_integer_from_value (value);
|
||||||
|
|
||||||
|
if (num < 0)
|
||||||
|
{
|
||||||
|
res_p = ecma_new_ecma_string_from_number ((ecma_number_t) num);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
res_p = ecma_new_ecma_string_from_uint32 ((uint32_t) num);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (ecma_is_value_float_number (value))
|
||||||
{
|
{
|
||||||
ecma_number_t num = ecma_get_number_from_value (value);
|
ecma_number_t num = ecma_get_number_from_value (value);
|
||||||
res_p = ecma_new_ecma_string_from_number (num);
|
res_p = ecma_new_ecma_string_from_number (num);
|
||||||
|
|||||||
Reference in New Issue
Block a user