summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/ion/bug674694.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/ion/bug674694.js')
-rw-r--r--js/src/jit-test/tests/ion/bug674694.js63
1 files changed, 63 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/bug674694.js b/js/src/jit-test/tests/ion/bug674694.js
new file mode 100644
index 000000000..cbe5afe80
--- /dev/null
+++ b/js/src/jit-test/tests/ion/bug674694.js
@@ -0,0 +1,63 @@
+// Don't assert in the type analyzer.
+timeout(5);
+function f0(p0,p1,p2,p3) {
+ var v0;
+ var v1;
+ var v2;
+ var v3;
+ var v4;
+ var v5;
+ var v6;
+ do {
+ continue;
+ } while ((v1 ^ p2));
+ if (v5) {
+ p3;
+ while (p2) {
+ p0;
+ if (p2) {
+ } else {
+ break;
+ v3 = p0;
+ }
+ p0;
+ break;
+ while (((v3 & v0) | p2)) {
+ if (p2) {
+ break;
+ }
+ }
+ }
+ } else {
+ v2 = p1;
+ v3 = p2;
+ v4;
+ ((p3 | p3) + (v1 + p1));
+ }
+ v6 = (p0 + p3);
+ v3 = v3;
+ v2 = v1;
+ while (((v3 & p0) + v1)) {
+ v6 = (v5 + p1);
+ while (((p3 + (v4 + v3)) + v6)) {
+ v6 = (v2 | (v1 + (v0 | v2)));
+ break;
+ v3 = p0;
+ v0;
+ }
+ do {
+ while (p2) {
+ }
+ v3 = p0;
+ do {
+ v2 = v5;
+ } while (p2);
+ continue;
+ } while ((((p2 & p2) & p0) + p2));
+ v2 = p0;
+ v5 = v1;
+ }
+ v6 = (v4 & (v5 + v5));
+}
+f0(0,0,0,0);
+