Ignore:
Timestamp:
Aug 26, 2014, 9:46:10 AM (11 years ago)
Author:
[email protected]
Message:

Unreviewed, rolling out r172940.
https://bugs.webkit.org/show_bug.cgi?id=136256

Caused assertions on fast/storage/serialized-script-
value.html, and possibly flakiness on more tests (Requested by
ap on #webkit).

Reverted changeset:

"FTL should be able to do polymorphic call inlining"
https://bugs.webkit.org/show_bug.cgi?id=135145
http://trac.webkit.org/changeset/172940

File:
1 edited

Legend:

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

    r172940 r172961  
    5151            return false;
    5252       
    53         if (m_graph.m_profiledBlock->m_didFailFTLCompilation) {
    54             removeFTLProfiling();
     53        if (m_graph.m_profiledBlock->m_didFailFTLCompilation)
    5554            return false;
    56         }
    5755       
    5856#if ENABLE(FTL_JIT)
    5957        FTL::CapabilityLevel level = FTL::canCompile(m_graph);
    60         if (level == FTL::CannotCompile) {
    61             removeFTLProfiling();
     58        if (level == FTL::CannotCompile)
    6259            return false;
    63         }
    6460       
    6561        if (!Options::enableOSREntryToFTL())
     
    123119#endif // ENABLE(FTL_JIT)
    124120    }
    125 
    126 private:
    127     void removeFTLProfiling()
    128     {
    129         for (BlockIndex blockIndex = m_graph.numBlocks(); blockIndex--;) {
    130             BasicBlock* block = m_graph.block(blockIndex);
    131             if (!block)
    132                 continue;
    133            
    134             for (unsigned nodeIndex = 0; nodeIndex < block->size(); ++nodeIndex) {
    135                 Node* node = block->at(nodeIndex);
    136                 switch (node->op()) {
    137                 case ProfiledCall:
    138                     node->setOp(Call);
    139                     break;
    140                    
    141                 case ProfiledConstruct:
    142                     node->setOp(Construct);
    143                     break;
    144                    
    145                 default:
    146                     break;
    147                 }
    148             }
    149         }
    150     }
    151121};
    152122
Note: See TracChangeset for help on using the changeset viewer.