[ARM,MIPS] Skip slow tests
[WebKit-https.git] / JSTests / stress / ftl-get-by-id-slow-exception-no-catch.js
1 function foo(o, p) {
2     var x = 100;
3     var result = 101;
4     x = 102;
5     p = 103;
6     result = o.f;
7     o = 104;
8     p = 105;
9     x = 106;
10     return {outcome: "return", values: [o, p, x, result]};
11 }
12
13 noInline(foo);
14
15 // Warm up foo() with polymorphic objects.
16 for (var i = 0; i < 100000; ++i) {
17     var o;
18     o = {f:107};
19     o["i" + i] = i; // Make it polymorphic.
20     var result = foo(o);
21     if (result.outcome !== "return")
22         throw "Error in loop: bad outcome: " + result.outcome;
23     if (result.values.length !== 4)
24         throw "Error in loop: bad number of values: " + result.values.length;
25     if (result.values[0] !== 104)
26         throw "Error in loop: bad values[0]: " + result.values[0];
27     if (result.values[1] !== 105)
28         throw "Error in loop: bad values[1]: " + result.values[1];
29     if (result.values[2] !== 106)
30         throw "Error in loop: bad values[2]: " + result.values[2];
31     if (result.values[3] !== 107)
32         throw "Error in loop: bad values[3]: " + result.values[3];
33 }
34
35 // Now throw an exception.
36 var result;
37 try {
38     var o = {};
39     o.__defineGetter__("f", function() {
40         throw "Error42";
41     });
42     result = foo(o, 108);
43 } catch (e) {
44     if (e != "Error42")
45         throw "Error at end: bad exception: " + e;
46     result = {outcome: "exception"};
47 }
48 if (result.outcome !== "exception")
49     throw "Error at end: bad outcome: " + result.outcome;