Skip to content

Commit 7f4b5be

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 ac3aa30 commit 7f4b5be

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

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

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -352,10 +352,23 @@ ecma_op_to_string (ecma_value_t value) /**< ecma value */
352352

353353
if (ecma_is_value_string (value))
354354
{
355-
res_p = ecma_get_string_from_value (value);
355+
res_p = ecma_get_string_from_value (value);ecma-array-object.c
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)