Source/JavaScriptCore/ChangeLog

 12016-01-26 Filip Pizlo <fpizlo@apple.com>
 2
 3 Tail duplication should break critical edges first
 4 https://bugs.webkit.org/show_bug.cgi?id=153530
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 This speeds up Octane/boyer.
 9
 10 * b3/B3DuplicateTails.cpp:
 11
1122016-01-26 Joseph Pecoraro <pecoraro@apple.com>
213
314 Generalize ResourceUsageData gathering to be used outside of ResourceUsageOverlay
195651

Source/JavaScriptCore/b3/B3DuplicateTails.cpp

2929#if ENABLE(B3_JIT)
3030
3131#include "B3BasicBlockInlines.h"
 32#include "B3BreakCriticalEdges.h"
3233#include "B3ControlValue.h"
3334#include "B3Dominators.h"
3435#include "B3FixSSA.h"

@@public:
5859
5960 void run()
6061 {
 62 // Breaking critical edges introduces blocks that jump to things. Those Jumps' successors
 63 // become candidates for tail duplication. Prior to critical edge breaking, some of those
 64 // Jumps would have been Branches, and so no tail duplication would have happened.
 65 breakCriticalEdges(m_proc);
 66
6167 // Find blocks that would be candidates for tail duplication. They must be small enough
6268 // and they much not have too many successors.
6369
195637