Title: [179767] trunk/Source/_javascript_Core
- Revision
- 179767
- Author
- [email protected]
- Date
- 2015-02-06 15:37:39 -0800 (Fri, 06 Feb 2015)
Log Message
DFG SSA shouldn't have SetArgument nodes
https://bugs.webkit.org/show_bug.cgi?id=141342
Reviewed by Mark Lam.
I was wondering why we kept the SetArgument around for captured
variables. It turns out we did so because we thought we had to, even
though we didn't have to. The node is meaningless in SSA.
* dfg/DFGSSAConversionPhase.cpp:
(JSC::DFG::SSAConversionPhase::run):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (179766 => 179767)
--- trunk/Source/_javascript_Core/ChangeLog 2015-02-06 23:31:30 UTC (rev 179766)
+++ trunk/Source/_javascript_Core/ChangeLog 2015-02-06 23:37:39 UTC (rev 179767)
@@ -1,5 +1,21 @@
2015-02-06 Filip Pizlo <[email protected]>
+ DFG SSA shouldn't have SetArgument nodes
+ https://bugs.webkit.org/show_bug.cgi?id=141342
+
+ Reviewed by Mark Lam.
+
+ I was wondering why we kept the SetArgument around for captured
+ variables. It turns out we did so because we thought we had to, even
+ though we didn't have to. The node is meaningless in SSA.
+
+ * dfg/DFGSSAConversionPhase.cpp:
+ (JSC::DFG::SSAConversionPhase::run):
+ * ftl/FTLLowerDFGToLLVM.cpp:
+ (JSC::FTL::LowerDFGToLLVM::compileNode):
+
+2015-02-06 Filip Pizlo <[email protected]>
+
It should be possible to use the DFG SetArgument node to indicate that someone set the value of a local out-of-band
https://bugs.webkit.org/show_bug.cgi?id=141337
Modified: trunk/Source/_javascript_Core/dfg/DFGSSAConversionPhase.cpp (179766 => 179767)
--- trunk/Source/_javascript_Core/dfg/DFGSSAConversionPhase.cpp 2015-02-06 23:31:30 UTC (rev 179766)
+++ trunk/Source/_javascript_Core/dfg/DFGSSAConversionPhase.cpp 2015-02-06 23:37:39 UTC (rev 179767)
@@ -198,8 +198,7 @@
// - PhantomLocal becomes Phantom, and its child is whatever is specified by
// valueForOperand.
//
- // - SetArgument is removed unless it's a captured variable. Note that GetArgument nodes
- // have already been inserted.
+ // - SetArgument is removed. Note that GetArgument nodes have already been inserted.
Operands<Node*> valueForOperand(OperandsLike, m_graph.block(0)->variablesAtHead);
for (BasicBlock* block : m_graph.blocksInPreOrder()) {
valueForOperand.clear();
@@ -334,9 +333,6 @@
}
case SetArgument: {
- VariableAccessData* variable = node->variableAccessData();
- if (variable->isCaptured())
- break;
node->convertToPhantom();
break;
}
Modified: trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp (179766 => 179767)
--- trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp 2015-02-06 23:31:30 UTC (rev 179766)
+++ trunk/Source/_javascript_Core/ftl/FTLLowerDFGToLLVM.cpp 2015-02-06 23:37:39 UTC (rev 179767)
@@ -735,7 +735,6 @@
break;
case PhantomLocal:
- case SetArgument:
case LoopHint:
case VariableWatchpoint:
case FunctionReentryWatchpoint:
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes