summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/ion/recover-autounsafe-2.js
blob: 9738a8c6782839492ce2005ffd6856c22ff051dd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// |jit-test| --fast-warmup; --ion-offthread-compile=off

function f() {
  "use strict";

  // Recoverable instruction. Uses AutoUnsafeCallWithABI, so no pending
  // exceptions are allowed.
  const recoverable = Math.sqrt(4);

  // Throws because |not_defined| isn't defined and we're in strict mode.
  // The thrown exception attempts to close the iterator, which will then
  // lead to recovering all instructions, including |Math.sqrt(4)|.
  [not_defined] = "a";
}

for (let i = 0; i < 50; i++) {
  try {
    f();
  } catch {}
}