summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/debug/bug-1576862-2.js
blob: 6f7c31e98a67153951df88b0b1b665ef33da7020 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// |jit-test| skip-if: !('stackTest' in this)
// Failure to rewrap an exception in Completion::fromJSResult should be propagated.

var dbgGlobal = newGlobal({ newCompartment: true });
var dbg = new dbgGlobal.Debugger();
dbg.addDebuggee(this);

function test() {
  // Make this call's stack frame a debuggee, to ensure that
  // slowPathOnLeaveFrame runs when this frame exits. That calls
  // Completion::fromJSResult to capture this frame's completion value.
  dbg.getNewestFrame();

  // Throw from the non-debuggee compartment, to force Completion::fromJSResult
  // to rewrap the exception.
  dbgGlobal.assertEq(1,2);
}

stackTest(test, {
  // When the bug is fixed, the failure to rewrap the exception turns the throw
  // into a termination, so we won't get an exception.
  expectExceptionOnFailure: false
});