summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/gc/bug-1698543.js
blob: 865607d12b438d1c1b249423e00a302ff17b46c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// |jit-test| allow-overrecursed; skip-if: !getJitCompilerOptions()['blinterp.enable']

foo = "";

doit(`
  // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  function u() { broken(
  // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
  // XXXXXXXXXXXXXXXXXXXXXXXXXXX
`);

gczeal(4);

doit("");

unescape(foo);

function doit(x) {
  try {
    evaluate(x);
  } catch (e) {
    if (e instanceof SyntaxError)
      doit(x);
  }
  try {
    x = x.replace(/!/g, "");
  } catch (e) {}
  foo += x + " ";
}