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