Ignore:
Timestamp:
Apr 22, 2015, 7:36:08 PM (10 years ago)
Author:
[email protected]
Message:

Nodes should have an optional epoch field
https://bugs.webkit.org/show_bug.cgi?id=144084

Reviewed by Ryosuke Niwa and Mark Lam.

This makes it easier to do epoch-based analyses on nodes. I plan to do just that in
https://bugs.webkit.org/show_bug.cgi?id=143735. Currently the epoch field is not yet
used.

  • dfg/DFGCPSRethreadingPhase.cpp:

(JSC::DFG::CPSRethreadingPhase::canonicalizeGetLocalFor):

  • dfg/DFGCSEPhase.cpp:
  • dfg/DFGEpoch.h:

(JSC::DFG::Epoch::fromUnsigned):
(JSC::DFG::Epoch::toUnsigned):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::clearReplacements):
(JSC::DFG::Graph::clearEpochs):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::performSubstitutionForEdge):

  • dfg/DFGNode.h:

(JSC::DFG::Node::Node):
(JSC::DFG::Node::replaceWith):
(JSC::DFG::Node::replacement):
(JSC::DFG::Node::setReplacement):
(JSC::DFG::Node::epoch):
(JSC::DFG::Node::setEpoch):

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/dfg/DFGCSEPhase.cpp

    r181993 r183162  
    236236                if (m_node->op() == Identity) {
    237237                    m_node->convertToCheck();
    238                     m_node->replacement = m_node->child1().node();
     238                    m_node->setReplacement(m_node->child1().node());
    239239                    m_changed = true;
    240240                } else {
     
    439439                if (m_node->op() == Identity) {
    440440                    m_node->convertToCheck();
    441                     m_node->replacement = m_node->child1().node();
     441                    m_node->setReplacement(m_node->child1().node());
    442442                    m_changed = true;
    443443                } else
Note: See TracChangeset for help on using the changeset viewer.