Changeset 160328 in webkit for trunk/Source/JavaScriptCore/dfg/DFGCSEPhase.cpp
- Timestamp:
- Dec 9, 2013, 2:02:46 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGCSEPhase.cpp
r160295 r160328 49 49 bool run() 50 50 { 51 ASSERT((cseMode == NormalCSE) == (m_graph.m_fixpointState == FixpointNotConverged));52 51 ASSERT(m_graph.m_fixpointState != BeforeFixpoint); 53 52 … … 56 55 m_graph.clearReplacements(); 57 56 58 for (unsigned blockIndex = 0; blockIndex < m_graph.numBlocks(); ++blockIndex) 59 performBlockCSE(m_graph.block(blockIndex)); 57 if (m_graph.m_form == SSA) { 58 Vector<BasicBlock*> depthFirst; 59 m_graph.getBlocksInDepthFirstOrder(depthFirst); 60 for (unsigned i = 0; i < depthFirst.size(); ++i) 61 performBlockCSE(depthFirst[i]); 62 } else { 63 for (unsigned blockIndex = 0; blockIndex < m_graph.numBlocks(); ++blockIndex) 64 performBlockCSE(m_graph.block(blockIndex)); 65 } 60 66 61 67 return m_changed; … … 1016 1022 m_graph.performSubstitution(node); 1017 1023 1018 if (node->op() == SetLocal) 1024 if (node->containsMovHint()) { 1025 ASSERT(node->op() != ZombieHint); 1019 1026 node->child1()->mergeFlags(NodeRelevantToOSR); 1027 } 1020 1028 1021 1029 switch (node->op()) { … … 1121 1129 1122 1130 case Flush: { 1131 if (m_graph.m_form == SSA) { 1132 // FIXME: Enable Flush store elimination in SSA form. 1133 // https://bugs.webkit.org/show_bug.cgi?id=125429 1134 break; 1135 } 1123 1136 VariableAccessData* variableAccessData = node->variableAccessData(); 1124 1137 VirtualRegister local = variableAccessData->local();
Note:
See TracChangeset
for help on using the changeset viewer.