Skip to content

Commit 3796987

Browse files
committed
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
1 parent fec6944 commit 3796987

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

jerry-core/ecma/operations/ecma-conversion.c

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,20 @@ ecma_op_to_string (ecma_value_t value) /**< ecma value */
355355
res_p = ecma_get_string_from_value (value);
356356
res_p = ecma_copy_or_ref_ecma_string (res_p);
357357
}
358-
else if (ecma_is_value_number (value))
358+
else if (ecma_is_value_integer_number (value))
359+
{
360+
ecma_integer_value_t num = ecma_get_integer_from_value (value);
361+
362+
if (num < 0)
363+
{
364+
res_p = ecma_new_ecma_string_from_number ((ecma_number_t) num);
365+
}
366+
else
367+
{
368+
res_p = ecma_new_ecma_string_from_uint32 ((uint32_t) num);
369+
}
370+
}
371+
else if (ecma_is_value_float_number (value))
359372
{
360373
ecma_number_t num = ecma_get_number_from_value (value);
361374
res_p = ecma_new_ecma_string_from_number (num);

0 commit comments

Comments
 (0)