diff options
Diffstat (limited to 'js/src/jit-test/tests/ion/recover-inline-arguments-debugger.js')
-rw-r--r-- | js/src/jit-test/tests/ion/recover-inline-arguments-debugger.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/recover-inline-arguments-debugger.js b/js/src/jit-test/tests/ion/recover-inline-arguments-debugger.js new file mode 100644 index 0000000000..4ad8994829 --- /dev/null +++ b/js/src/jit-test/tests/ion/recover-inline-arguments-debugger.js @@ -0,0 +1,32 @@ +// |jit-test| --fast-warmup + +g13 = newGlobal({newCompartment: true}) +g13.parent = this; +g13.eval("(" + function() { + Debugger(parent).onExceptionUnwind = function(frame) { + while (frame.older) { + frame = frame.older; + } + } +} + ")()"); + +function triggerUnwind() { + try { + throw 1; + } catch {} +} + +function foo(depth) { + var dummy = arguments; + if (depth == 0) { + triggerUnwind(); + } else { + bar(depth - 1); + } +} + +function bar(depth) { + foo(depth); +} + +bar(50); |