Ignore:
Timestamp:
Sep 20, 2014, 10:59:58 AM (11 years ago)
Author:
[email protected]
Message:

StorageAccessData should be referenced in a sensible way
https://bugs.webkit.org/show_bug.cgi?id=136963

Reviewed and rubber stamped by Michael Saboff.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleGetByOffset):
(JSC::DFG::ByteCodeParser::handlePutByOffset):
(JSC::DFG::ByteCodeParser::handlePutById):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::emitGetByOffset):
(JSC::DFG::ConstantFoldingPhase::emitPutByOffset):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGGraph.h:
  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToGetByOffset):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::storageAccessData):
(JSC::DFG::Node::storageAccessDataIndex): Deleted.

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileGetByOffset):
(JSC::FTL::LowerDFGToLLVM::compilePutByOffset):

File:
1 edited

Legend:

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

    r173069 r173793  
    487487        }
    488488       
    489         node->convertToGetByOffset(m_graph.m_storageAccessData.size(), propertyStorage);
    490        
    491         StorageAccessData storageAccessData;
    492         storageAccessData.offset = variant.offset();
    493         storageAccessData.identifierNumber = identifierNumber;
    494         m_graph.m_storageAccessData.append(storageAccessData);
     489        StorageAccessData& data = *m_graph.m_storageAccessData.add();
     490        data.offset = variant.offset();
     491        data.identifierNumber = identifierNumber;
     492       
     493        node->convertToGetByOffset(data, propertyStorage);
    495494    }
    496495
     
    545544        }
    546545
    547         node->convertToPutByOffset(m_graph.m_storageAccessData.size(), propertyStorage);
     546        StorageAccessData& data = *m_graph.m_storageAccessData.add();
     547        data.offset = variant.offset();
     548        data.identifierNumber = identifierNumber;
     549       
     550        node->convertToPutByOffset(data, propertyStorage);
    548551        m_insertionSet.insertNode(
    549552            indexInBlock, SpecNone, StoreBarrier, origin,
    550553            Edge(node->child2().node(), KnownCellUse));
    551 
    552         StorageAccessData storageAccessData;
    553         storageAccessData.offset = variant.offset();
    554         storageAccessData.identifierNumber = identifierNumber;
    555         m_graph.m_storageAccessData.append(storageAccessData);
    556554    }
    557555   
Note: See TracChangeset for help on using the changeset viewer.