// 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);