Title: [145491] trunk/Source/_javascript_Core
- Revision
- 145491
- Author
- [email protected]
- Date
- 2013-03-12 00:02:51 -0700 (Tue, 12 Mar 2013)
Log Message
DFG prediction propagation phase should not rerun forward propagation if double voting has already converged
https://bugs.webkit.org/show_bug.cgi?id=111920
Reviewed by Oliver Hunt.
I don't know why we weren't exiting early after double voting if !m_changed.
This change also removes backwards propagation from the voting fixpoint, since at that
point short-circuiting loops is probably not particularly profitable. Profiling shows
that this reduces the time spent in prediction propagation even further.
This change appears to be a 1% SunSpider speed-up.
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::run):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (145490 => 145491)
--- trunk/Source/_javascript_Core/ChangeLog 2013-03-12 06:52:47 UTC (rev 145490)
+++ trunk/Source/_javascript_Core/ChangeLog 2013-03-12 07:02:51 UTC (rev 145491)
@@ -1,3 +1,21 @@
+2013-03-12 Filip Pizlo <[email protected]>
+
+ DFG prediction propagation phase should not rerun forward propagation if double voting has already converged
+ https://bugs.webkit.org/show_bug.cgi?id=111920
+
+ Reviewed by Oliver Hunt.
+
+ I don't know why we weren't exiting early after double voting if !m_changed.
+
+ This change also removes backwards propagation from the voting fixpoint, since at that
+ point short-circuiting loops is probably not particularly profitable. Profiling shows
+ that this reduces the time spent in prediction propagation even further.
+
+ This change appears to be a 1% SunSpider speed-up.
+
+ * dfg/DFGPredictionPropagationPhase.cpp:
+ (JSC::DFG::PredictionPropagationPhase::run):
+
2013-03-11 Filip Pizlo <[email protected]>
DFG overflow check elimination is too smart for its own good
Modified: trunk/Source/_javascript_Core/dfg/DFGPredictionPropagationPhase.cpp (145490 => 145491)
--- trunk/Source/_javascript_Core/dfg/DFGPredictionPropagationPhase.cpp 2013-03-12 06:52:47 UTC (rev 145490)
+++ trunk/Source/_javascript_Core/dfg/DFGPredictionPropagationPhase.cpp 2013-03-12 07:02:51 UTC (rev 145491)
@@ -73,13 +73,10 @@
do {
m_changed = false;
doRoundOfDoubleVoting();
- propagateForward();
if (!m_changed)
break;
-
m_changed = false;
- doRoundOfDoubleVoting();
- propagateBackward();
+ propagateForward();
} while (m_changed);
return true;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes