bug925067-1.js (313B)
1 var c = 0; 2 function g(o) { 3 try { 4 for(;;) 5 o.next(); 6 } catch(e) { 7 c += e; 8 } 9 return o.x; 10 } 11 function f() { 12 var o = {x: 0, next: function() { 13 if (this.x++ > 100) 14 throw 3; 15 }}; 16 17 g(o); 18 assertEq(o.x, 102); 19 20 o.x = 0; 21 g(o); 22 assertEq(o.x, 102); 23 } 24 f(); 25 assertEq(c, 6);