From 4cc3fe04a12cebbc81b7b1970dcbadaff7048f42 Mon Sep 17 00:00:00 2001 From: "kasperl@chromium.org" Date: Mon, 15 Jun 2009 08:27:38 +0000 Subject: [PATCH] Avoid sign issues with the fast case code for Math.floor(). Review URL: http://codereview.chromium.org/126115 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/math.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/math.js b/src/math.js index c8dd0cd50..81c15a714 100644 --- a/src/math.js +++ b/src/math.js @@ -95,8 +95,8 @@ function MathExp(x) { // ECMA 262 - 15.8.2.9 function MathFloor(x) { if (!IS_NUMBER(x)) x = ToNumber(x); - if (0 < x && x <= 0xFFFFFFFF) { - // Numbers in the range [0, 2^32) can be floored by converting + if (0 < x && x <= 0x7FFFFFFF) { + // Numbers in the range [0, 2^31) can be floored by converting // them to an unsigned 32-bit value using the shift operator. // We avoid doing so for -0, because the result of Math.floor(-0) // has to be -0, which wouldn't be the case with the shift. -- 2.34.1