[ARM,MIPS] Skip slow tests
[WebKit-https.git] / JSTests / stress / check-sub-class.js
1 var createDOMJITNodeObject = $vm.createDOMJITNodeObject;
2 var createDOMJITCheckSubClassObject = $vm.createDOMJITCheckSubClassObject;
3
4 function shouldBe(actual, expected) {
5     if (actual !== expected)
6         throw new Error('bad value: ' + actual);
7 }
8
9 function shouldThrow(func, errorMessage) {
10     var errorThrown = false;
11     var error = null;
12     try {
13         func();
14     } catch (e) {
15         errorThrown = true;
16         error = e;
17     }
18     if (!errorThrown)
19         throw new Error('not thrown');
20     if (String(error) !== errorMessage)
21         throw new Error(`bad error: ${String(error)}`);
22 }
23
24 var array = [];
25 for (var i = 0; i < 100; ++i)
26     array.push(createDOMJITCheckSubClassObject());
27
28 // DOMJITNode is an instance of a super class (DOMJITNode) of DOMJITCheckSubClassObject.
29 var node = createDOMJITNodeObject();
30 node.func = createDOMJITCheckSubClassObject().func;
31
32 function calling(dom)
33 {
34     return dom.func();
35 }
36 noInline(calling);
37
38 array.forEach((obj) => {
39     shouldBe(calling(obj), 42);
40 });
41
42 shouldThrow(() => {
43     calling(node);
44 }, `TypeError: Type error`);
45
46 for (var i = 0; i < 1e3; ++i) {
47     array.forEach((obj) => {
48         shouldBe(calling(obj), 42);
49     });
50 }
51
52 shouldThrow(() => {
53     calling(node);
54 }, `TypeError: Type error`);