deepBailAfterRunTracer.js (328B)
1 var o = { }; 2 for (var i = 0; i <= 50; i++) 3 o[i] = i; 4 5 Object.defineProperty(o, "51", { get: assertEq }); 6 7 var threw = 0; 8 function g(o, i) { 9 try { 10 assertEq(o[i], i); 11 } catch (e) { 12 threw++; 13 } 14 } 15 16 function f() { 17 for (var i = 0; i <= 51; i++) 18 g(o, i); 19 } 20 21 f(); 22 f(); 23 f(); 24 assertEq(threw, 3);