[ARM,MIPS] Skip slow tests
[WebKit-https.git] / JSTests / stress / ftl-call-varargs-bad-args-exception-interesting-live-state.js
1 // This failure will be resolved by https://bugs.webkit.org/show_bug.cgi?id=150279.
2 //@ skip
3
4 function foo(f, p, args) {
5     var x = 100;
6     var result = 101;
7     var pf = p.g;
8     try {
9         x = 102;
10         pf++;
11         result = f.apply(this, args);
12         f = 104;
13         pf++;
14         x = 106;
15     } catch (e) {
16         return {outcome: "exception", values: [f, pf, x, result]};
17     }
18     return {outcome: "return", values: [f, pf, x, result]};
19 }
20
21 noInline(foo);
22
23 function bar(a, b, c) {
24     return a + b + c;
25 }
26
27 noInline(bar);
28
29 // Warm up foo().
30 for (var i = 0; i < 100000; ++i) {
31     var result = foo(bar, {g:200}, [105, 1, 1]);
32     if (result.outcome !== "return")
33         throw "Error in loop: bad outcome: " + result.outcome;
34     if (result.values.length !== 4)
35         throw "Error in loop: bad number of values: " + result.values.length;
36     if (result.values[0] !== 104)
37         throw "Error in loop: bad values[0]: " + result.values[0];
38     if (result.values[1] !== 202)
39         throw "Error in loop: bad values[1]: " + result.values[1];
40     if (result.values[2] !== 106)
41         throw "Error in loop: bad values[2]: " + result.values[2];
42     if (result.values[3] !== 107)
43         throw "Error in loop: bad values[3]: " + result.values[3];
44 }
45
46 // Now throw an exception.
47 var result = foo(bar, {g:300}, 42);
48 if (result.outcome !== "exception")
49     throw "Error at end: bad outcome: " + result.outcome;
50 if (result.values.length !== 4)
51     throw "Error at end: bad number of values: " + result.values.length;
52 if (result.values[0] !== bar)
53     throw "Error at end: bad values[0]: " + result.values[0];
54 if (result.values[1] !== 301)
55     throw "Error at end: bad values[1]: " + result.values[1];
56 if (result.values[2] !== 102)
57     throw "Error at end: bad values[2]: " + result.values[2];
58 if (result.values[3] !== 101)
59     throw "Error at end: bad values[3]: " + result.values[3];
60