Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 function reallyDeepNestedExit(schedule)
2 {
3 var c = 0, j = 0;
4 for (var i = 0; i < 5; i++) {
5 for (j = 0; j < 4; j++) {
6 c += (schedule[i*4 + j] == 1) ? 1 : 2;
7 }
8 }
9 return c;
10 }
11 function testReallyDeepNestedExit()
12 {
13 var c = 0;
14 var schedule1 = new Array(5*4);
15 var schedule2 = new Array(5*4);
16 for (var i = 0; i < 5*4; i++) {
17 schedule1[i] = 0;
18 schedule2[i] = 0;
19 }
20 /**
21 * First innermost compile: true branch runs through.
22 * Second '': false branch compiles new loop edge.
23 * First outer compile: expect true branch.
24 * Second '': hit false branch.
25 */
26 schedule1[0*4 + 3] = 1;
27 var schedules = [schedule1,
28 schedule2,
29 schedule1,
30 schedule2,
31 schedule2];
33 for (var i = 0; i < 5; i++) {
34 c += reallyDeepNestedExit(schedules[i]);
35 }
36 return c;
37 }
38 assertEq(testReallyDeepNestedExit(), 198);