diff options
Diffstat (limited to 'js/src/jit-test/tests/debug/bug-1584195.js')
-rw-r--r-- | js/src/jit-test/tests/debug/bug-1584195.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/bug-1584195.js b/js/src/jit-test/tests/debug/bug-1584195.js new file mode 100644 index 0000000000..93aca7291d --- /dev/null +++ b/js/src/jit-test/tests/debug/bug-1584195.js @@ -0,0 +1,31 @@ +// |jit-test| skip-if: !('gczeal' in this) +// Bug 1584195: Debugger.Frame finalizer should't try to apply +// IsAboutToBeFinalized to cells of other alloc kinds, whose arenas may have +// been turned over to fresh allocations. + +try { + evaluate(` + var g9 = newGlobal({newCompartment: true}); + g9.parent = this; + g9.eval(\` + var dbg = new Debugger(parent); + dbg.onEnterFrame = frame => {}; + \`); + function lfPromise(x) { + return new Promise(resolve => {}); + } + async function lfAsync() { + await lfPromise(); + } lfAsync(); + `); + gczeal(20, 2); + evaluate(` + async function lfAsync() {} lfAsync(); + `); + gczeal(12, 7); + drainJobQueue(); + evaluate(` + new { ... v22 => { + `); +} catch (exc) {} +evaluate(""); |