diff options
Diffstat (limited to 'js/src/jit-test/tests/basic/bug1532265.js')
-rw-r--r-- | js/src/jit-test/tests/basic/bug1532265.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/bug1532265.js b/js/src/jit-test/tests/basic/bug1532265.js new file mode 100644 index 0000000000..500b6e4a64 --- /dev/null +++ b/js/src/jit-test/tests/basic/bug1532265.js @@ -0,0 +1,33 @@ +// |jit-test| allow-oom; skip-if: !('oomTest' in this) + +ignoreUnhandledRejections(); + +var v = {} +async function f() { + // Increasing level of stack size during await to make OOM more likely when + // saving the stack state. + [await v]; + [[await v]]; + [[[await v]]]; + [[[[await v]]]]; + [[[[[await v]]]]]; + [[[[[[await v]]]]]]; + [[[[[[[await v]]]]]]]; + [[[[[[[[await v]]]]]]]]; + [[[[[[[[[await v]]]]]]]]]; + [[[[[[[[[[await v]]]]]]]]]]; +} + +oomTest(function() { + for (var i = 0; i < 8; ++i) { + f(); + } + + // Drain all jobs, ignoring any OOM errors. + while (true) { + try { + drainJobQueue(); + break; + } catch {} + } +}); |