Commit 4cc3fe04 authored by kasperl@chromium.org's avatar kasperl@chromium.org

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
parent a20757d7
......@@ -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.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment