diff options
Diffstat (limited to 'Source/JavaScriptCore/dfg/DFGCSEPhase.cpp')
-rw-r--r-- | Source/JavaScriptCore/dfg/DFGCSEPhase.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/Source/JavaScriptCore/dfg/DFGCSEPhase.cpp b/Source/JavaScriptCore/dfg/DFGCSEPhase.cpp index 19051c174..36acb2c21 100644 --- a/Source/JavaScriptCore/dfg/DFGCSEPhase.cpp +++ b/Source/JavaScriptCore/dfg/DFGCSEPhase.cpp @@ -79,7 +79,7 @@ private: result++; ASSERT(result <= m_indexInBlock); #if DFG_ENABLE(DEBUG_PROPAGATION_VERBOSE) - dataLog(" limit %u: ", result); + dataLogF(" limit %u: ", result); #endif return result; } @@ -372,7 +372,7 @@ private: return NoNode; } - bool checkFunctionElimination(JSFunction* function, NodeIndex child1) + bool checkFunctionElimination(JSCell* function, NodeIndex child1) { for (unsigned i = endIndexForPureCSE(); i--;) { NodeIndex index = m_currentBlock->at(i); @@ -970,7 +970,7 @@ private: return false; #if DFG_ENABLE(DEBUG_PROPAGATION_VERBOSE) - dataLog(" Replacing @%u -> @%u", m_compileIndex, replacement); + dataLogF(" Replacing @%u -> @%u", m_compileIndex, replacement); #endif Node& node = m_graph[m_compileIndex]; @@ -988,7 +988,7 @@ private: void eliminate() { #if DFG_ENABLE(DEBUG_PROPAGATION_VERBOSE) - dataLog(" Eliminating @%u", m_compileIndex); + dataLogF(" Eliminating @%u", m_compileIndex); #endif Node& node = m_graph[m_compileIndex]; @@ -1029,7 +1029,7 @@ private: return; #if DFG_ENABLE(DEBUG_PROPAGATION_VERBOSE) - dataLog(" %s @%u: ", Graph::opName(m_graph[m_compileIndex].op()), m_compileIndex); + dataLogF(" %s @%u: ", Graph::opName(m_graph[m_compileIndex].op()), m_compileIndex); #endif // NOTE: there are some nodes that we deliberately don't CSE even though we @@ -1043,6 +1043,10 @@ private: switch (node.op()) { + case Identity: + setReplacement(node.child1().index()); + break; + // Handle the pure nodes. These nodes never have any side-effects. case BitAnd: case BitOr: @@ -1313,7 +1317,7 @@ private: m_lastSeen[node.op()] = m_indexInBlock; #if DFG_ENABLE(DEBUG_PROPAGATION_VERBOSE) - dataLog("\n"); + dataLogF("\n"); #endif } |