Index: test/mjsunit/harmony/math-clz32.js |
diff --git a/test/mjsunit/harmony/math-clz32.js b/test/mjsunit/harmony/math-clz32.js |
index bc15ad2569f105224775298f1e5b97975ccba478..816f6a936e67c4e0c190d2e077c23810b547c61d 100644 |
--- a/test/mjsunit/harmony/math-clz32.js |
+++ b/test/mjsunit/harmony/math-clz32.js |
@@ -2,7 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-// Flags: --harmony-maths |
+// Flags: --harmony-maths --allow-natives-syntax |
[NaN, Infinity, -Infinity, 0, -0, "abc", "Infinity", "-Infinity", {}].forEach( |
function(x) { |
@@ -18,11 +18,19 @@ function testclz(x) { |
return 32; |
} |
-var max = Math.pow(2, 40); |
-for (var x = 0; x < max; x = x * 1.01 + 1) { |
- assertEquals(testclz(x), Math.clz32(x)); |
- assertEquals(testclz(-x), Math.clz32(-x)); |
- assertEquals(testclz(x), Math.clz32({ valueOf: function() { return x; } })); |
- assertEquals(testclz(-x), |
- Math.clz32({ toString: function() { return -x; } })); |
+ |
+function f(e) { |
+ var max = Math.pow(2, e); |
+ for (var x = 0; x < max; x = x * 1.01 + 1) { |
+ assertEquals(testclz(x), Math.clz32(x)); |
+ assertEquals(testclz(-x), Math.clz32(-x)); |
+ assertEquals(testclz(x), Math.clz32({ valueOf: function() { return x; } })); |
+ assertEquals(testclz(-x), |
+ Math.clz32({ toString: function() { return -x; } })); |
+ } |
} |
+ |
+f(5); |
+f(5); |
+%OptimizeFunctionOnNextCall(f); |
+f(40); |