|
1 // Binary: cache/js-dbg-64-6f1a38b94754-linux |
|
2 // Flags: -j |
|
3 // |
|
4 /* vim: set ts=8 sts=4 et sw=4 tw=99: */ |
|
5 |
|
6 var x = 0; |
|
7 var y = 0; |
|
8 |
|
9 function h() { |
|
10 if (x == 1) |
|
11 y++; |
|
12 else |
|
13 y--; |
|
14 } |
|
15 |
|
16 function F() { |
|
17 var m = null; |
|
18 |
|
19 function g(i) { |
|
20 /* Force outgoing typemaps to have a string. */ |
|
21 m = "badness"; |
|
22 |
|
23 /* Loop a bit. */ |
|
24 for (var i = 0; i < 10; i++) { |
|
25 h(); |
|
26 } |
|
27 } |
|
28 |
|
29 /* Spin for a while so trees build. */ |
|
30 for (var i = 0; i < 100; i++) { |
|
31 /* Capture m == TT_NULL in outgoing fi for rp[0] */ |
|
32 g(); |
|
33 |
|
34 /* Flip the switch to bail out with deep nested frames. */ |
|
35 if (i > 50) |
|
36 x = 1; |
|
37 |
|
38 /* Set m = null on the loop tail to get better traces. */ |
|
39 m = null; |
|
40 } |
|
41 } |
|
42 |
|
43 F(); |
|
44 |