1var count = 0; 2 3function bar(f) { 4 if (++count < 10) 5 return; 6 count = 0; 7 throw f; 8} 9 10noInline(bar); 11 12function foo(a) { 13 var x = a + 1; 14 for (;;) { 15 bar(function() { return x; }); 16 } 17} 18 19noInline(foo); 20 21for (var i = 0; i < 10000; ++i) { 22 try { 23 foo(i); 24 } catch (f) { 25 var result = f(); 26 if (result != i + 1) 27 throw "Error: bad result for i = " + i + ": " + result; 28 } 29} 30 31