[ARM,MIPS] Skip slow tests
[WebKit-https.git] / JSTests / stress / double-rep-real-number-use-on-nan.js
1 // Original test case.
2 function isNaNOnDouble(value)
3 {
4     return (+value) !== value;
5 }
6 noInline(isNaNOnDouble);
7
8 function testIsNaNOnDoubles()
9 {
10     var value = isNaNOnDouble(-0);
11     if (value)
12         throw "isNaNOnDouble(-0) = " + value;
13
14     var value = isNaNOnDouble(NaN);
15     if (!value)
16         throw "isNaNOnDouble(NaN) = " + value;
17
18     var value = isNaNOnDouble(Number.POSITIVE_INFINITY);
19     if (value)
20         throw "isNaNOnDouble(Number.POSITIVE_INFINITY) = " + value;
21 }
22 noInline(testIsNaNOnDoubles);
23
24 for (let i = 0; i < 1e6; ++i) {
25     testIsNaNOnDoubles();
26 }
27
28 // Simplified test case.
29 function isNaNOnDouble2(value)
30 {
31     let valueToNumber = (+value);
32     return valueToNumber !== valueToNumber;
33 }
34 noInline(isNaNOnDouble2);
35
36 // Warm up without NaN.
37 for (let i = 0; i < 1e6; ++i) {
38     if (isNaNOnDouble2(1.5))
39         throw "Failed isNaNOnDouble(1.5)";
40 }
41
42 // Then pass some NaNs.
43 for (let i = 0; i < 1e6; ++i) {
44     if (!isNaNOnDouble2(NaN))
45         throw "Failed isNaNOnDouble(NaN)";
46 }