[JSC] Do not use asArrayModes() with Structures because it discards TypedArray inform...
[WebKit-https.git] / JSTests / stress / exception-dfg-throw-from-catch-block.js
1 "use strict";
2 function assert(cond, m) {
3     if (!cond)
4         throw new Error("broke assertion: '" + m + "'");
5 }
6 noInline(assert);
7
8 function baz(b) {
9     if (b)
10         throw new Error("Baz");
11 }
12
13 function bar(b) {
14     var exception = null;
15     try {
16         baz(b);
17     } catch(e) {
18         exception = e;
19         baz(b);
20     } finally {
21         if (b) 
22             assert(exception);
23     }
24 }
25
26 function foo(b) {
27     var exception = null;
28     try {
29         bar(b);
30     } catch(e) {
31         exception = e;
32     }
33     if (b)
34         assert(exception);
35 }
36
37 const NUM_LOOPS = 1000;
38 for (var i = 0; i < NUM_LOOPS; i++) {
39     foo(i === NUM_LOOPS - 1);
40 }