[ARM,MIPS] Skip slow tests
[WebKit-https.git] / JSTests / stress / domjit-exception.js
1 var createDOMJITGetterComplexObject = $vm.createDOMJITGetterComplexObject;
2
3 function shouldBe(actual, expected) {
4     if (actual !== expected)
5         throw new Error(`bad value: ${String(actual)}`);
6 }
7
8 function shouldThrow(func, errorMessage) {
9     var errorThrown = false;
10     var error = null;
11     try {
12         func();
13     } catch (e) {
14         errorThrown = true;
15         error = e;
16     }
17     if (!errorThrown)
18         throw new Error('not thrown');
19     if (String(error) !== errorMessage)
20         throw new Error(`bad error: ${String(error)}`);
21 }
22 (function () {
23     let domjit = createDOMJITGetterComplexObject();
24     function access(object)
25     {
26         return object.customGetter;
27     }
28     noInline(access);
29     for (var i = 0; i < 1e4; ++i)
30         shouldBe(access(domjit), 42);
31     domjit.enableException();
32     shouldThrow(() => access(domjit), `Error: DOMJITGetterComplex slow call exception`);
33 }());
34 (function () {
35     let domjit = createDOMJITGetterComplexObject();
36     function access(object)
37     {
38         return object.customGetter;
39     }
40     noInline(access);
41     for (let i = 0; i < 1e2; ++i)
42         shouldBe(access(domjit), 42);
43     domjit.enableException();
44     shouldThrow(() => access(domjit), `Error: DOMJITGetterComplex slow call exception`);
45 }());
46 (function () {
47     let domjit = createDOMJITGetterComplexObject();
48     function access(object)
49     {
50         return object.customGetter;
51     }
52     noInline(access);
53     for (let i = 0; i < 50; ++i)
54         shouldBe(access(domjit), 42);
55     domjit.enableException();
56     shouldThrow(() => access(domjit), `Error: DOMJITGetterComplex slow call exception`);
57 }());
58 (function () {
59     let domjit = createDOMJITGetterComplexObject();
60     function access(object)
61     {
62         return object.customGetter;
63     }
64     noInline(access);
65     for (let i = 0; i < 10; ++i)
66         shouldBe(access(domjit), 42);
67     domjit.enableException();
68     shouldThrow(() => access(domjit), `Error: DOMJITGetterComplex slow call exception`);
69 }());