Source/JavaScriptCore/ChangeLog
1
2016-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
1
12
2016-01-26 Joseph Pecoraro <pecoraro@apple.com>
2
13
3
14
Generalize ResourceUsageData gathering to be used outside of ResourceUsageOverlay
195651
Source/JavaScriptCore/b3/B3DuplicateTails.cpp
29
29
#if ENABLE(B3_JIT)
30
30
31
31
#include "B3BasicBlockInlines.h"
32
#include "B3BreakCriticalEdges.h"
32
33
#include "B3ControlValue.h"
33
34
#include "B3Dominators.h"
34
35
#include "B3FixSSA.h"
@
@
public:
58
59
59
60
void run()
60
61
{
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
61
67
// Find blocks that would be candidates for tail duplication. They must be small enough
62
68
// and they much not have too many successors.
63
69
195637