Handle negative zero in number multiplication (#1856)
Keep sign for zero. For example, 1 / (0 * (-1)) should be -Infinity, not +Infinity. JerryScript-DCO-1.0-Signed-off-by: Sanggyu Lee sg5.lee@samsung.com
This commit is contained in:
committed by
Zoltan Herczeg
parent
631e9f9f80
commit
ae60ff0aa3
+3
-1
@@ -1772,7 +1772,9 @@ vm_loop (vm_frame_ctx_t *frame_ctx_p) /**< frame context */
|
||||
if (-ECMA_INTEGER_MULTIPLY_MAX <= left_integer
|
||||
&& left_integer <= ECMA_INTEGER_MULTIPLY_MAX
|
||||
&& -ECMA_INTEGER_MULTIPLY_MAX <= right_integer
|
||||
&& right_integer <= ECMA_INTEGER_MULTIPLY_MAX)
|
||||
&& right_integer <= ECMA_INTEGER_MULTIPLY_MAX
|
||||
&& left_value != 0
|
||||
&& right_value != 0)
|
||||
{
|
||||
result = ecma_make_integer_value (left_integer * right_integer);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user