michael@0: var magicNumbers = [1, -1, 0, 0]; michael@0: var magicIndex = 0; michael@0: michael@0: var sum = 0; michael@0: michael@0: function foo(n) { michael@0: for (var i = 0; i < n; ++i) { michael@0: sum += 10; michael@0: bar(); michael@0: } michael@0: } michael@0: michael@0: function bar() { michael@0: var q = magicNumbers[magicIndex++]; michael@0: if (q != -1) { michael@0: sum += 1; michael@0: foo(q); michael@0: } michael@0: } michael@0: michael@0: foo(3); michael@0: assertEq(sum, 43);