diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/jit-test/tests/ion/exc-bailout-double-reg.js | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/exc-bailout-double-reg.js b/js/src/jit-test/tests/ion/exc-bailout-double-reg.js new file mode 100644 index 0000000000..62f5a95433 --- /dev/null +++ b/js/src/jit-test/tests/ion/exc-bailout-double-reg.js @@ -0,0 +1,24 @@ +var x = 0; +var o1 = {x: 1}; +var o2 = {}; +for (var o of [o1, o2]) { + Object.defineProperty(o, "thrower", {get: function() { + if (x++ > 1900) { + throw "error"; + } + }}); +} +function f() { + var res = 0; + try { + for (var i = 0; i < 2000; i++) { + res = Math.abs(i - 123456.7); + var o = (i & 1) ? o1 : o2; + o.thrower; + res++; + } + } catch(e) {} + assertEq(res, 121555.7); + return res; +} +f(); |