Title: [207210] branches/safari-602-branch
Revision
207210
Author
matthew_han...@apple.com
Date
2016-10-12 01:41:51 -0700 (Wed, 12 Oct 2016)

Log Message

Merge r206472. rdar://problem/28545009

Modified Paths

Added Paths

Diff

Modified: branches/safari-602-branch/JSTests/ChangeLog (207209 => 207210)


--- branches/safari-602-branch/JSTests/ChangeLog	2016-10-12 08:41:48 UTC (rev 207209)
+++ branches/safari-602-branch/JSTests/ChangeLog	2016-10-12 08:41:51 UTC (rev 207210)
@@ -1,5 +1,19 @@
 2016-10-12  Matthew Hanson  <matthew_han...@apple.com>
 
+        Merge r206472. rdar://problem/28545009
+
+    2016-09-27  Filip Pizlo  <fpi...@apple.com>
+
+            B3::lowerMacros forgets to before->updatePredecessorsAfter() when lowering ChillMod on ARM64
+            https://bugs.webkit.org/show_bug.cgi?id=162644
+
+            Reviewed by Keith Miller.
+
+            * stress/chill-mod-chill-mod.js: Added.
+            (foo):
+
+2016-10-12  Matthew Hanson  <matthew_han...@apple.com>
+
         Merge r204868. rdar://problem/28216263
 
     2016-08-23  Keith Miller  <keith_mil...@apple.com>

Added: branches/safari-602-branch/JSTests/stress/chill-mod-chill-mod.js (0 => 207210)


--- branches/safari-602-branch/JSTests/stress/chill-mod-chill-mod.js	                        (rev 0)
+++ branches/safari-602-branch/JSTests/stress/chill-mod-chill-mod.js	2016-10-12 08:41:51 UTC (rev 207210)
@@ -0,0 +1,10 @@
+function foo(a, b)
+{
+    return (~~(a % b)) + (~~(b % a));
+}
+
+noInline(foo);
+
+for (var i = 0; i < 10000; ++i)
+    foo(1, 2);
+

Modified: branches/safari-602-branch/Source/_javascript_Core/ChangeLog (207209 => 207210)


--- branches/safari-602-branch/Source/_javascript_Core/ChangeLog	2016-10-12 08:41:48 UTC (rev 207209)
+++ branches/safari-602-branch/Source/_javascript_Core/ChangeLog	2016-10-12 08:41:51 UTC (rev 207210)
@@ -1,5 +1,22 @@
 2016-10-12  Matthew Hanson  <matthew_han...@apple.com>
 
+        Merge r206472. rdar://problem/28545009
+
+    2016-09-27  Filip Pizlo  <fpi...@apple.com>
+
+            B3::lowerMacros forgets to before->updatePredecessorsAfter() when lowering ChillMod on ARM64
+            https://bugs.webkit.org/show_bug.cgi?id=162644
+
+            Reviewed by Keith Miller.
+
+            If you forget to update the predecessors of your successors, then bad things will happen if you
+            do something that requires accurate predecessors for correctness. lowerMacros() uses
+            BlockInsertionSet, which relies on accurate predecessors.
+
+            * b3/B3LowerMacros.cpp:
+
+2016-10-12  Matthew Hanson  <matthew_han...@apple.com>
+
         Merge r204868. rdar://problem/28216263
 
     2016-08-23  Keith Miller  <keith_mil...@apple.com>

Modified: branches/safari-602-branch/Source/_javascript_Core/b3/B3LowerMacros.cpp (207209 => 207210)


--- branches/safari-602-branch/Source/_javascript_Core/b3/B3LowerMacros.cpp	2016-10-12 08:41:48 UTC (rev 207209)
+++ branches/safari-602-branch/Source/_javascript_Core/b3/B3LowerMacros.cpp	2016-10-12 08:41:51 UTC (rev 207210)
@@ -138,6 +138,7 @@
                     normalResult->setPhi(phi);
                     zeroResult->setPhi(phi);
                     m_value->replaceWithIdentity(phi);
+                    before->updatePredecessorsAfter();
                     m_changed = true;
                 } else
                     makeDivisionChill(Mod);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to