]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - tests/stress/double-rep-with-non-cell.js
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / tests / stress / double-rep-with-non-cell.js
diff --git a/tests/stress/double-rep-with-non-cell.js b/tests/stress/double-rep-with-non-cell.js
new file mode 100644 (file)
index 0000000..bc6a192
--- /dev/null
@@ -0,0 +1,32 @@
+// Only bool, undefined and null
+function addNullBoolUndefined(a, b) {
+    return a + b;
+}
+noInline(addNullBoolUndefined);
+
+for (var i = 0; i < 1e4; ++i) {
+    var value = addNullBoolUndefined(0.5, null);
+    if (value !== 0.5)
+        throw "addNullBoolUndefined(0.5, null) failed with i = " + i + " returned value = " + value;
+
+    var value = addNullBoolUndefined(null, undefined);
+    if (value === value)
+        throw "addNullBoolUndefined(null, undefined) failed with i = " + i + " returned value = " + value;
+
+    var value = addNullBoolUndefined(true, null);
+    if (value !== 1)
+        throw "addNullBoolUndefined(true, null) failed with i = " + i + " returned value = " + value;
+
+    var value = addNullBoolUndefined(undefined, false);
+    if (value === value)
+        throw "addNullBoolUndefined(undefined, false) failed with i = " + i + " returned value = " + value;
+
+    var value = addNullBoolUndefined(false, true);
+    if (value !== 1)
+        throw "addNullBoolUndefined(false, true) failed with i = " + i + " returned value = " + value;
+
+    var value = addNullBoolUndefined(null, 42);
+    if (value !== 42)
+        throw "addNullBoolUndefined(null, 42) failed with i = " + i + " returned value = " + value;
+
+}