summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/gc/bug-1698543.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/gc/bug-1698543.js')
-rw-r--r--js/src/jit-test/tests/gc/bug-1698543.js34
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 + " ";
+}