summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/basic/arrayPopShift.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/basic/arrayPopShift.js')
-rw-r--r--js/src/jit-test/tests/basic/arrayPopShift.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/arrayPopShift.js b/js/src/jit-test/tests/basic/arrayPopShift.js
new file mode 100644
index 0000000000..9213f3c9ac
--- /dev/null
+++ b/js/src/jit-test/tests/basic/arrayPopShift.js
@@ -0,0 +1,30 @@
+
+/* Test pop/shift compiler paths. */
+
+function a() {
+ var x = [];
+ for (var i = 0; i < 50; i++)
+ x.push(i);
+ for (var j = 0; j < 100; j++) {
+ var z = x.shift();
+ if (j < 50)
+ assertEq(z, j);
+ else
+ assertEq(z, undefined);
+ }
+}
+a();
+
+function b() {
+ var x = [];
+ for (var i = 0; i < 50; i++)
+ x.push(i);
+ for (var j = 0; j < 100; j++) {
+ var z = x.pop();
+ if (j < 50)
+ assertEq(z, 49 - j);
+ else
+ assertEq(z, undefined);
+ }
+}
+b();