Title: [207210] branches/safari-602-branch
- Revision
- 207210
- Author
- [email protected]
- 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 <[email protected]>
+ Merge r206472. rdar://problem/28545009
+
+ 2016-09-27 Filip Pizlo <[email protected]>
+
+ 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 <[email protected]>
+
Merge r204868. rdar://problem/28216263
2016-08-23 Keith Miller <[email protected]>
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 <[email protected]>
+ Merge r206472. rdar://problem/28545009
+
+ 2016-09-27 Filip Pizlo <[email protected]>
+
+ 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 <[email protected]>
+
Merge r204868. rdar://problem/28216263
2016-08-23 Keith Miller <[email protected]>
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
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes