Add more tests for the double->String conversion in ValueAdd constant folding
authorsbarati@apple.com <sbarati@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 17 Oct 2016 21:44:43 +0000 (21:44 +0000)
committersbarati@apple.com <sbarati@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 17 Oct 2016 21:44:43 +0000 (21:44 +0000)
https://bugs.webkit.org/show_bug.cgi?id=163517

Reviewed by Yusuke Suzuki.

* microbenchmarks/string-add-constant-folding.js:
(test):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@207433 268f45cc-cd09-0410-ab3c-d52691b4dbfc

JSTests/ChangeLog
JSTests/microbenchmarks/string-add-constant-folding.js

index 90f162f..deca5dd 100644 (file)
@@ -1,3 +1,13 @@
+2016-10-17  Saam Barati  <sbarati@apple.com>
+
+        Add more tests for the double->String conversion in ValueAdd constant folding
+        https://bugs.webkit.org/show_bug.cgi?id=163517
+
+        Reviewed by Yusuke Suzuki.
+
+        * microbenchmarks/string-add-constant-folding.js:
+        (test):
+
 2016-10-17  JF Bastien  <jfbastien@apple.com>
 
         WebAssembly JS API: implement basic stub
index ebeba2c..6a2039e 100644 (file)
@@ -65,4 +65,81 @@ test(function() {
     assert(b + a === add(b, a));
 });
 
+test(function() {
+    let a = "foo";
+    let b = NaN;
+    assert(a + b === add(a, b));
+    assert(b + a === add(b, a));
+});
+
+test(function() {
+    let a = -0;
+    let b = "foo";
+    assert(a + b === add(a, b));
+    assert(b + a === add(b, a));
+});
+
+test(function() {
+    let a = "foo";
+    let b = 0.0;
+    assert(a + b === add(a, b));
+    assert(b + a === add(b, a));
+});
+
+test(function() {
+    let a = "foo";
+    let b = Infinity;
+    assert(a + b === add(a, b));
+    assert(b + a === add(b, a));
+});
+
+test(function() {
+    let a = -Infinity;
+    let b = "foo";
+    assert(a + b === add(a, b));
+    assert(b + a === add(b, a));
+});
+
+test(function() {
+    let a = "foo";
+    let b = 1e10;
+    assert(a + b === add(a, b));
+    assert(b + a === add(b, a));
+});
+
+test(function() {
+    let a = "foo";
+    let b = 1e-10;
+    assert(a + b === add(a, b));
+    assert(b + a === add(b, a));
+});
+
+test(function() {
+    let a = "foo";
+    let b = 1e5;
+    assert(a + b === add(a, b));
+    assert(b + a === add(b, a));
+});
+
+test(function() {
+    let a = "foo";
+    let b = 1e-5;
+    assert(a + b === add(a, b));
+    assert(b + a === add(b, a));
+});
+
+test(function() {
+    let a = "foo";
+    let b = 1e-40;
+    assert(a + b === add(a, b));
+    assert(b + a === add(b, a));
+});
+
+test(function() {
+    let a = "foo";
+    let b = 1e40;
+    assert(a + b === add(a, b));
+    assert(b + a === add(b, a));
+});
+
 runTests();