Changeset 134682 in webkit


Ignore:
Timestamp:
Nov 14, 2012, 3:34:19 PM (12 years ago)
Author:
fpizlo@apple.com
Message:

Don't access Node& after adding nodes to the graph.
https://bugs.webkit.org/show_bug.cgi?id=102005

Reviewed by Oliver Hunt.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r134634 r134682  
     12012-11-13  Filip Pizlo  <fpizlo@apple.com>
     2
     3        Don't access Node& after adding nodes to the graph.
     4        https://bugs.webkit.org/show_bug.cgi?id=102005
     5
     6        Reviewed by Oliver Hunt.
     7
     8        * dfg/DFGFixupPhase.cpp:
     9        (JSC::DFG::FixupPhase::fixupNode):
     10
    1112012-11-14  Valery Ignatyev  <valery.ignatyev@ispras.ru>
    212
  • trunk/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp

    r134168 r134682  
    136136            blessArrayOperation(node.child1(), node.child2(), 2);
    137137           
    138             ArrayMode arrayMode = node.arrayMode();
     138            Node* nodePtr = &m_graph[m_compileIndex];
     139            ArrayMode arrayMode = nodePtr->arrayMode();
    139140            if (arrayMode.type() == Array::Double
    140141                && arrayMode.arrayClass() == Array::OriginalArray
    141142                && arrayMode.speculation() == Array::InBounds
    142143                && arrayMode.conversion() == Array::AsIs
    143                 && m_graph.globalObjectFor(node.codeOrigin)->arrayPrototypeChainIsSane()
    144                 && !(node.flags() & NodeUsedAsOther))
    145                 node.setArrayMode(arrayMode.withSpeculation(Array::SaneChain));
     144                && m_graph.globalObjectFor(nodePtr->codeOrigin)->arrayPrototypeChainIsSane()
     145                && !(nodePtr->flags() & NodeUsedAsOther))
     146                nodePtr->setArrayMode(arrayMode.withSpeculation(Array::SaneChain));
    146147           
    147148            break;
Note: See TracChangeset for help on using the changeset viewer.