summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/bug1375074.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/bug1375074.js')
-rw-r--r--js/src/jit-test/tests/bug1375074.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/bug1375074.js b/js/src/jit-test/tests/bug1375074.js
new file mode 100644
index 0000000000..8bf01d9690
--- /dev/null
+++ b/js/src/jit-test/tests/bug1375074.js
@@ -0,0 +1,18 @@
+// This forces the VM to start creating unboxed objects and thus stresses a
+// particular path into generated code for a specialized unboxed object
+// constructor.
+
+var K = 2000; // 2000 should be plenty
+var s = "[";
+var i;
+for ( i=0; i < K-1; i++ )
+ s = s + `{"i":${i}},`;
+s += `{"i":${i}}]`;
+var v = JSON.parse(s);
+
+assertEq(v.length == K, true);
+
+for ( i=0; i < K; i++) {
+ assertEq(v[i] instanceof Object, true);
+ assertEq(v[i].i, i);
+}