summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/jaeger/testIfEqX.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/jit-test/tests/jaeger/testIfEqX.js')
-rw-r--r--js/src/jit-test/tests/jaeger/testIfEqX.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/jaeger/testIfEqX.js b/js/src/jit-test/tests/jaeger/testIfEqX.js
new file mode 100644
index 000000000..6940619e6
--- /dev/null
+++ b/js/src/jit-test/tests/jaeger/testIfEqX.js
@@ -0,0 +1,37 @@
+// Tests for IFEQX and GOTOX ops.
+function testIfElse() {
+ var src =
+ "var a = 0;\n" +
+ "if (x) {\n";
+ for (var i=0; i<7000; i++) {
+ src += "a = 1;";
+ }
+ src += "} else {\n";
+ for (var i=0; i<7000; i++) {
+ src += "a = 2;";
+ }
+ src += "}\n";
+ src += "return a;";
+
+ var f = new Function("x", src);
+ assertEq(f(true), 1);
+ assertEq(f(false), 2);
+ assertEq(f([1, 2, 3]), 1);
+ assertEq(f(), 2);
+}
+testIfElse();
+
+function testWhile() {
+ var src =
+ "var i = 0, j = 0;\n" +
+ "while (i++ < 50) {\n";
+ for (var i=0; i<5000; i++) {
+ src += "j = i;";
+ }
+ src += "}\n";
+ src += "return j;";
+
+ var f = new Function(src);
+ assertEq(f(), 50);
+}
+testWhile();