summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/ion/bug789420.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/ion/bug789420.js')
-rw-r--r--js/src/jit-test/tests/ion/bug789420.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/bug789420.js b/js/src/jit-test/tests/ion/bug789420.js
new file mode 100644
index 000000000..5debca5bf
--- /dev/null
+++ b/js/src/jit-test/tests/ion/bug789420.js
@@ -0,0 +1,38 @@
+function g1(x, y) {
+ return 0 & y;
+}
+var c1 = 0;
+function f1() {
+ for (var i=0; i<100; i++) {
+ g1(i, i);
+ g1(i, {valueOf: function() { c1++; return 0; }});
+ }
+}
+f1();
+assertEq(c1, 100);
+
+function g2(x, y) {
+ ~y;
+}
+var c2 = 0;
+function f2() {
+ for (var i=0; i<100; i++) {
+ g2(i, i);
+ g2(i, {valueOf: function() { c2++; return 0; }});
+ }
+}
+f2();
+assertEq(c2, 100);
+
+function g3(x, y) {
+ return 0 >>> y;
+}
+var c3 = 0;
+function f3() {
+ for (var i=0; i<100; i++) {
+ g3(i, i);
+ g3(i, {valueOf: function() { c3++; return 0; }});
+ }
+}
+f3();
+assertEq(c3, 100);