diff options
Diffstat (limited to 'js/src/jit-test/tests/ion/bug1233343.js')
-rw-r--r-- | js/src/jit-test/tests/ion/bug1233343.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/bug1233343.js b/js/src/jit-test/tests/ion/bug1233343.js new file mode 100644 index 0000000000..c3144053a8 --- /dev/null +++ b/js/src/jit-test/tests/ion/bug1233343.js @@ -0,0 +1,36 @@ +function addRemove() { + dbg.addDebuggee(g); + f = dbg.getNewestFrame().older; +} +function removeAdd() { + dbg.addDebuggee(g); + var f = dbg.getNewestFrame(); + while (f) { + f = f.older; + } +} +function testInterrupt() { + g = newGlobal({newCompartment: true}); + dbg = new Debugger; + g.eval("" + function f() { + return g(); + }); + g.eval("" + function g() { + return h(); + }); + g.eval("" + function h() { + for (var i = 0; i < 100; i++) { + interruptIf(5); + } + }); + setInterruptCallback(function() { + toggleSeq(); + return true; + }); + g.f(); +} +toggleSeq = addRemove; +testInterrupt(); +toggleSeq = removeAdd; +testInterrupt(); + |