diff options
Diffstat (limited to 'js/src/jit-test/tests/gc/bug-1698543.js')
-rw-r--r-- | js/src/jit-test/tests/gc/bug-1698543.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/gc/bug-1698543.js b/js/src/jit-test/tests/gc/bug-1698543.js new file mode 100644 index 0000000000..865607d12b --- /dev/null +++ b/js/src/jit-test/tests/gc/bug-1698543.js @@ -0,0 +1,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 + " "; +} |