Reviewers: Mads Ager,

Description:
Avoid sign issues with the fast case code for Math.floor().

Please review this at http://codereview.chromium.org/126115

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
   M     src/math.js


Index: src/math.js
===================================================================
--- src/math.js (revision 2159)
+++ src/math.js (working copy)
@@ -95,8 +95,8 @@
  // 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.



--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to