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