blob: 7d01461c887c9ff913ced3713b0b8d9f61d32be9 [file] [log] [blame]
sbarati@apple.com78e87c72017-02-11 04:05:06 +00001function e() { }
2noInline(e);
3
4function foo(b, c, d) {
5 let x;
6 function bar() { return x; }
7 if (b) {
8 let y = function() { return x; }
9 } else {
10 let y = function() { return x; }
11 }
12
13 if (c) {
14 function baz() { }
15 if (b) {
16 let y = function() { return x; }
17 e(y);
18 } else {
19 let y = function() { return x; }
20 e(y);
21 }
22 if (d)
23 d();
24 e(baz);
25 }
26
27}
28noInline(foo);
29
30for (let i = 0; i < 100000; i++) {
31 foo(!!(i % 2), true, false);
32}
33
34let threw = false;
35try {
36 foo(true, true, true);
37} catch(e) {
38 threw = true;
39}
40if (!threw)
41 throw new Error("Bad test")