Title: [195653] trunk/Source/_javascript_Core
Revision
195653
Author
[email protected]
Date
2016-01-26 19:49:35 -0800 (Tue, 26 Jan 2016)

Log Message

Tail duplication should break critical edges first
https://bugs.webkit.org/show_bug.cgi?id=153530

Reviewed by Benjamin Poulain.

This speeds up Octane/boyer.

* b3/B3DuplicateTails.cpp:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (195652 => 195653)


--- trunk/Source/_javascript_Core/ChangeLog	2016-01-27 03:45:09 UTC (rev 195652)
+++ trunk/Source/_javascript_Core/ChangeLog	2016-01-27 03:49:35 UTC (rev 195653)
@@ -1,3 +1,14 @@
+2016-01-26  Filip Pizlo  <[email protected]>
+
+        Tail duplication should break critical edges first
+        https://bugs.webkit.org/show_bug.cgi?id=153530
+
+        Reviewed by Benjamin Poulain.
+
+        This speeds up Octane/boyer.
+
+        * b3/B3DuplicateTails.cpp:
+
 2016-01-26  Joseph Pecoraro  <[email protected]>
 
         Generalize ResourceUsageData gathering to be used outside of ResourceUsageOverlay

Modified: trunk/Source/_javascript_Core/b3/B3DuplicateTails.cpp (195652 => 195653)


--- trunk/Source/_javascript_Core/b3/B3DuplicateTails.cpp	2016-01-27 03:45:09 UTC (rev 195652)
+++ trunk/Source/_javascript_Core/b3/B3DuplicateTails.cpp	2016-01-27 03:49:35 UTC (rev 195653)
@@ -29,6 +29,7 @@
 #if ENABLE(B3_JIT)
 
 #include "B3BasicBlockInlines.h"
+#include "B3BreakCriticalEdges.h"
 #include "B3ControlValue.h"
 #include "B3Dominators.h"
 #include "B3FixSSA.h"
@@ -58,6 +59,11 @@
 
     void run()
     {
+        // Breaking critical edges introduces blocks that jump to things. Those Jumps' successors
+        // become candidates for tail duplication. Prior to critical edge breaking, some of those
+        // Jumps would have been Branches, and so no tail duplication would have happened.
+        breakCriticalEdges(m_proc);
+        
         // Find blocks that would be candidates for tail duplication. They must be small enough
         // and they much not have too many successors.
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to