blob: 5da8a1f968a5dfbde358d9105cd5b4a751943bfc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
// Test stack reconstruction after a nested exit
function testNestedExitStackInner(j, counter) {
++counter;
var b = 0;
for (var i = 1; i <= 9; i++) {
++b;
var a;
// Make sure that once everything has been traced we suddenly switch to
// a different control flow the first time we run the outermost tree,
// triggering a side exit.
if (j < 9)
a = 1;
else
a = 0;
++b;
b += a;
}
return counter + b;
}
function testNestedExitStackOuter() {
var counter = 0;
for (var j = 1; j <= 9; ++j) {
for (var k = 1; k <= 9; ++k) {
counter = testNestedExitStackInner(j, counter);
}
}
return counter;
}
//assertEq(testNestedExitStackOuter(), 81);
|