exc-bailout-float32-reg.js (495B)
1 var x = 0; 2 var o1 = {x: 1}; 3 var o2 = {}; 4 for (var o of [o1, o2]) { 5 Object.defineProperty(o, "thrower", {get: function() { 6 if (x++ > 1900) { 7 throw "error"; 8 } 9 }}); 10 } 11 function f() { 12 var res = 0; 13 try { 14 for (var i = 0; i < 2000; i++) { 15 res = Math.fround(i - 123456.7); 16 var o = (i & 1) ? o1 : o2; 17 o.thrower; 18 res++; 19 } 20 } catch(e) {} 21 assertEq(res, -121555.703125); 22 return res; 23 } 24 f();