Fix round-down goof in Air.js's ShuffleCustom.forEachArg
authorfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 13 Jun 2016 18:08:36 +0000 (18:08 +0000)
committerfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 13 Jun 2016 18:08:36 +0000 (18:08 +0000)
https://bugs.webkit.org/show_bug.cgi?id=158674

Reviewed by Michael Saboff.

x / 3 * 3 is not how you round down to multiples of 3 in JavaScript. You need to do
Math.floor(x / 3) * 3 instead.

This is a benign change, because having extra arguments to a Shuffle is not something we
actually take advantage of yet. But I think it's best to match the original C++ code's
intent.

* Air.js/custom.js:
(const.ShuffleCustom.forEachArg):

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

PerformanceTests/Air.js/custom.js
PerformanceTests/ChangeLog

index 04d1e59..04c73cb 100644 (file)
@@ -27,7 +27,7 @@
 const ShuffleCustom = {
     forEachArg(inst, func)
     {
-        var limit = inst.args.length / 3 * 3;
+        var limit = Math.floor(inst.args.length / 3) * 3;
         for (let i = 0; i < limit; i += 3) {
             let src = inst.args[i + 0];
             let dst = inst.args[i + 1];
index 32f1dd2..8c20d53 100644 (file)
@@ -1,3 +1,20 @@
+2016-06-12  Filip Pizlo  <fpizlo@apple.com>
+
+        Fix round-down goof in Air.js's ShuffleCustom.forEachArg
+        https://bugs.webkit.org/show_bug.cgi?id=158674
+
+        Reviewed by Michael Saboff.
+        
+        x / 3 * 3 is not how you round down to multiples of 3 in JavaScript. You need to do
+        Math.floor(x / 3) * 3 instead.
+        
+        This is a benign change, because having extra arguments to a Shuffle is not something we
+        actually take advantage of yet. But I think it's best to match the original C++ code's
+        intent.
+
+        * Air.js/custom.js:
+        (const.ShuffleCustom.forEachArg):
+
 2016-06-11  Filip Pizlo  <fpizlo@apple.com>
 
         Unreviewed, skip Air.js. It got unskipped when I renamed it from JSAir.