Skip to content
  • oliver@apple.com's avatar
    fourthTier: DFG CFA shouldn't filter ArrayModes with ALL_NON_ARRAY_ARRAY_MODES... · afa7e3aa
    oliver@apple.com authored
    fourthTier: DFG CFA shouldn't filter ArrayModes with ALL_NON_ARRAY_ARRAY_MODES if the speculated type is not SpecArray
    https://bugs.webkit.org/show_bug.cgi?id=117279
    
    Reviewed by Mark Hahnenberg.
    
    The normalization of abstract value clarity introduced in r151229 revealed a
    long-standing bug where we filtered ArrayModes incorrectly and sometimes ended
    up with BOTTOM incorrectly.
    
    This patch fixes that bug, and cleans up a bunch of debugging infrastructure
    that I needed to resurrect to track this down.
    
    * bytecode/CodeBlock.cpp:
    (JSC::CodeBlock::resetStubInternal):
    (JSC::CodeBlock::noticeIncomingCall):
    * dfg/DFGAbstractValue.cpp:
    (JSC::DFG::AbstractValue::filterArrayModesByType):
    * dfg/DFGCFAPhase.cpp:
    (CFAPhase):
    (JSC::DFG::CFAPhase::run):
    (JSC::DFG::CFAPhase::performBlockCFA):
    (JSC::DFG::CFAPhase::performForwardCFA):
    * runtime/Options.h:
    (JSC):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153210 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    afa7e3aa