Title: [169185] branches/ftlopt/Source/_javascript_Core
- Revision
- 169185
- Author
- [email protected]
- Date
- 2014-05-21 18:55:25 -0700 (Wed, 21 May 2014)
Log Message
Merge trunk r169184 to ftlopt.
2014-05-21 Filip Pizlo <[email protected]>
Store barrier elision should run after DCE in both the DFG path and the FTL path
https://bugs.webkit.org/show_bug.cgi?id=129718
Rubber stamped by Mark Hahnenberg.
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::compileInThreadImpl):
Modified Paths
Diff
Modified: branches/ftlopt/Source/_javascript_Core/ChangeLog (169184 => 169185)
--- branches/ftlopt/Source/_javascript_Core/ChangeLog 2014-05-22 01:36:23 UTC (rev 169184)
+++ branches/ftlopt/Source/_javascript_Core/ChangeLog 2014-05-22 01:55:25 UTC (rev 169185)
@@ -1,3 +1,17 @@
+2014-05-21 Filip Pizlo <[email protected]>
+
+ Merge trunk r169184 to ftlopt.
+
+ 2014-05-21 Filip Pizlo <[email protected]>
+
+ Store barrier elision should run after DCE in both the DFG path and the FTL path
+ https://bugs.webkit.org/show_bug.cgi?id=129718
+
+ Rubber stamped by Mark Hahnenberg.
+
+ * dfg/DFGPlan.cpp:
+ (JSC::DFG::Plan::compileInThreadImpl):
+
2014-05-16 Filip Pizlo <[email protected]>
[ftlopt] A StructureSet with one element should only require one word and no allocation
Modified: branches/ftlopt/Source/_javascript_Core/dfg/DFGPlan.cpp (169184 => 169185)
--- branches/ftlopt/Source/_javascript_Core/dfg/DFGPlan.cpp 2014-05-22 01:36:23 UTC (rev 169184)
+++ branches/ftlopt/Source/_javascript_Core/dfg/DFGPlan.cpp 2014-05-22 01:55:25 UTC (rev 169185)
@@ -264,8 +264,6 @@
dfg.m_fixpointState = FixpointConverged;
- performStoreBarrierElision(dfg);
-
// If we're doing validation, then run some analyses, to give them an opportunity
// to self-validate. Now is as good a time as any to do this.
if (validationEnabled()) {
@@ -277,6 +275,7 @@
case DFGMode: {
performTierUpCheckInjection(dfg);
+ performStoreBarrierElision(dfg);
performStoreElimination(dfg);
performCPSRethreading(dfg);
performDCE(dfg);
@@ -316,6 +315,11 @@
performLICM(dfg);
performIntegerCheckCombining(dfg);
performCSE(dfg);
+
+ // At this point we're not allowed to do any further code motion because our reasoning
+ // about code motion assumes that it's OK to insert GC points in random places.
+
+ performStoreBarrierElision(dfg);
performLivenessAnalysis(dfg);
performCFA(dfg);
if (Options::validateFTLOSRExitLiveness())
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes