Title: [91156] trunk/Source/_javascript_Core
- Revision
- 91156
- Author
- [email protected]
- Date
- 2011-07-16 16:14:09 -0700 (Sat, 16 Jul 2011)
Log Message
DFG speculative JIT has dead code for slow calls for branches.
https://bugs.webkit.org/show_bug.cgi?id=64653
Patch by Filip Pizlo <[email protected]> on 2011-07-16
Reviewed by Gavin Barraclough.
Removed SpeculativeJIT::compilePeepHoleCall.
* dfg/DFGSpeculativeJIT.cpp:
* dfg/DFGSpeculativeJIT.h:
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (91155 => 91156)
--- trunk/Source/_javascript_Core/ChangeLog 2011-07-16 23:01:46 UTC (rev 91155)
+++ trunk/Source/_javascript_Core/ChangeLog 2011-07-16 23:14:09 UTC (rev 91156)
@@ -1,3 +1,15 @@
+2011-07-16 Filip Pizlo <[email protected]>
+
+ DFG speculative JIT has dead code for slow calls for branches.
+ https://bugs.webkit.org/show_bug.cgi?id=64653
+
+ Reviewed by Gavin Barraclough.
+
+ Removed SpeculativeJIT::compilePeepHoleCall.
+
+ * dfg/DFGSpeculativeJIT.cpp:
+ * dfg/DFGSpeculativeJIT.h:
+
2011-07-15 Mark Rowe <[email protected]>
Fix the build.
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp (91155 => 91156)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2011-07-16 23:01:46 UTC (rev 91155)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.cpp 2011-07-16 23:14:09 UTC (rev 91156)
@@ -380,37 +380,6 @@
addBranch(m_jit.jump(), notTaken);
}
-void SpeculativeJIT::compilePeepHoleCall(Node& node, NodeIndex branchNodeIndex, Z_DFGOperation_EJJ operation)
-{
- Node& branchNode = m_jit.graph()[branchNodeIndex];
- BlockIndex taken = m_jit.graph().blockIndexForBytecodeOffset(branchNode.takenBytecodeOffset());
- BlockIndex notTaken = m_jit.graph().blockIndexForBytecodeOffset(branchNode.notTakenBytecodeOffset());
-
- // The branch instruction will branch to the taken block.
- // If taken is next, switch taken with notTaken & invert the branch condition so we can fall through.
- JITCompiler::ResultCondition condition = JITCompiler::NonZero;
- if (taken == (m_block + 1)) {
- condition = JITCompiler::Zero;
- BlockIndex tmp = taken;
- taken = notTaken;
- notTaken = tmp;
- }
-
- JSValueOperand op1(this, node.child1());
- JSValueOperand op2(this, node.child2());
- GPRReg op1GPR = op1.gpr();
- GPRReg op2GPR = op2.gpr();
- flushRegisters();
-
- GPRResult result(this);
- callOperation(operation, result.gpr(), op1GPR, op2GPR);
- addBranch(m_jit.branchTest8(condition, result.gpr()), taken);
-
- // Check for fall through, otherwise we need to jump.
- if (notTaken != (m_block + 1))
- addBranch(m_jit.jump(), notTaken);
-}
-
// Returns true if the compare is fused with a subsequent branch.
bool SpeculativeJIT::compare(Node& node, MacroAssembler::RelationalCondition condition, Z_DFGOperation_EJJ operation)
{
Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h (91155 => 91156)
--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h 2011-07-16 23:01:46 UTC (rev 91155)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h 2011-07-16 23:14:09 UTC (rev 91156)
@@ -171,7 +171,6 @@
bool compare(Node&, MacroAssembler::RelationalCondition, Z_DFGOperation_EJJ);
void compilePeepHoleIntegerBranch(Node&, NodeIndex branchNodeIndex, JITCompiler::RelationalCondition);
- void compilePeepHoleCall(Node&, NodeIndex branchNodeIndex, Z_DFGOperation_EJJ);
// Add a speculation check without additional recovery.
void speculationCheck(MacroAssembler::Jump jumpToFail)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes