| Index: test/mjsunit/math-floor-part3.js
|
| diff --git a/test/mjsunit/math-floor.js b/test/mjsunit/math-floor-part3.js
|
| similarity index 56%
|
| rename from test/mjsunit/math-floor.js
|
| rename to test/mjsunit/math-floor-part3.js
|
| index f211ce2e5684bfba339b3b2f340ce4be0ae94bb7..db2592343355d8d2273a6d01424f7a6d2f5da486 100644
|
| --- a/test/mjsunit/math-floor.js
|
| +++ b/test/mjsunit/math-floor-part3.js
|
| @@ -45,71 +45,6 @@ function zero() {
|
| }
|
|
|
| function test() {
|
| - testFloor(0, 0);
|
| - testFloor(0, zero());
|
| - testFloor(-0, -0);
|
| - testFloor(Infinity, Infinity);
|
| - testFloor(-Infinity, -Infinity);
|
| - testFloor(NaN, NaN);
|
| -
|
| - // Ensure that a negative zero coming from Math.floor is properly handled
|
| - // by other operations.
|
| - function ifloor(x) {
|
| - return 1 / Math.floor(x);
|
| - }
|
| - assertEquals(-Infinity, ifloor(-0));
|
| - assertEquals(-Infinity, ifloor(-0));
|
| - assertEquals(-Infinity, ifloor(-0));
|
| - %OptimizeFunctionOnNextCall(ifloor);
|
| - assertEquals(-Infinity, ifloor(-0));
|
| -
|
| - testFloor(0, 0.1);
|
| - testFloor(0, 0.49999999999999994);
|
| - testFloor(0, 0.5);
|
| - testFloor(0, 0.7);
|
| - testFloor(-1, -0.1);
|
| - testFloor(-1, -0.49999999999999994);
|
| - testFloor(-1, -0.5);
|
| - testFloor(-1, -0.7);
|
| - testFloor(1, 1);
|
| - testFloor(1, 1.1);
|
| - testFloor(1, 1.5);
|
| - testFloor(1, 1.7);
|
| - testFloor(-1, -1);
|
| - testFloor(-2, -1.1);
|
| - testFloor(-2, -1.5);
|
| - testFloor(-2, -1.7);
|
| -
|
| - testFloor(0, Number.MIN_VALUE);
|
| - testFloor(-1, -Number.MIN_VALUE);
|
| - testFloor(Number.MAX_VALUE, Number.MAX_VALUE);
|
| - testFloor(-Number.MAX_VALUE, -Number.MAX_VALUE);
|
| - testFloor(Infinity, Infinity);
|
| - testFloor(-Infinity, -Infinity);
|
| -
|
| - // 2^30 is a smi boundary.
|
| - var two_30 = 1 << 30;
|
| -
|
| - testFloor(two_30, two_30);
|
| - testFloor(two_30, two_30 + 0.1);
|
| - testFloor(two_30, two_30 + 0.5);
|
| - testFloor(two_30, two_30 + 0.7);
|
| -
|
| - testFloor(two_30 - 1, two_30 - 1);
|
| - testFloor(two_30 - 1, two_30 - 1 + 0.1);
|
| - testFloor(two_30 - 1, two_30 - 1 + 0.5);
|
| - testFloor(two_30 - 1, two_30 - 1 + 0.7);
|
| -
|
| - testFloor(-two_30, -two_30);
|
| - testFloor(-two_30, -two_30 + 0.1);
|
| - testFloor(-two_30, -two_30 + 0.5);
|
| - testFloor(-two_30, -two_30 + 0.7);
|
| -
|
| - testFloor(-two_30 + 1, -two_30 + 1);
|
| - testFloor(-two_30 + 1, -two_30 + 1 + 0.1);
|
| - testFloor(-two_30 + 1, -two_30 + 1 + 0.5);
|
| - testFloor(-two_30 + 1, -two_30 + 1 + 0.7);
|
| -
|
| // 2^52 is a precision boundary.
|
| var two_52 = (1 << 30) * (1 << 22);
|
|
|
| @@ -138,22 +73,6 @@ function test() {
|
|
|
|
|
| // Test in a loop to cover the custom IC and GC-related issues.
|
| -for (var i = 0; i < 500; i++) {
|
| +for (var i = 0; i < 100; i++) {
|
| test();
|
| }
|
| -
|
| -
|
| -// Regression test for a bug where a negative zero coming from Math.floor
|
| -// was not properly handled by other operations.
|
| -function floorsum(i, n) {
|
| - var ret = Math.floor(n);
|
| - while (--i > 0) {
|
| - ret += Math.floor(n);
|
| - }
|
| - return ret;
|
| -}
|
| -assertEquals(-0, floorsum(1, -0));
|
| -%OptimizeFunctionOnNextCall(floorsum);
|
| -// The optimized function will deopt. Run it with enough iterations to try
|
| -// to optimize via OSR (triggering the bug).
|
| -assertEquals(-0, floorsum(100000, -0));
|
|
|