diff options
Diffstat (limited to 'js/src/jit-test/tests/debug/Frame-identity-05.js')
-rw-r--r-- | js/src/jit-test/tests/debug/Frame-identity-05.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Frame-identity-05.js b/js/src/jit-test/tests/debug/Frame-identity-05.js new file mode 100644 index 0000000000..ee92cf9c41 --- /dev/null +++ b/js/src/jit-test/tests/debug/Frame-identity-05.js @@ -0,0 +1,20 @@ +// Suspended generators keep their associated Debugger.Frames gc-alive. + +var g = newGlobal({newCompartment: true}); +g.eval("function* f() { debugger; yield 1; debugger; }"); +var dbg = new Debugger(g); +var hits = 0; +dbg.onDebuggerStatement = function (frame) { + if (hits === 0) + frame.seen = true; + else + assertEq(frame.seen, true); + gc(); + hits++; +}; +var it = g.f(); +gc(); +assertEq(it.next().value, 1); +gc(); +assertEq(it.next().done, true); +assertEq(hits, 2); |