summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/gc/alllcation-metadata-builder-over-recursion.js
blob: 67093026b4cdfa67d1c5c7854f8a95f19552b646 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// |jit-test| allow-unhandlable-oom

// Over-recursion should suppress alloation metadata builder, to avoid another
// over-recursion while generating an error object for the first over-recursion.
//
// This test should catch the error for the "load" testing function's arguments,
// or crash with unhandlable OOM inside allocation metadata builder.

const g = newGlobal();
g.enableShellAllocationMetadataBuilder();
function run() {
    const g_load = g.load;
    g_load.toString = run;
    return g_load(g_load);
}
let caught = false;
try {
  run();
} catch (e) {
  caught = true;
}
assertEq(caught, true);