Skip to content
  • fpizlo@apple.com's avatar
    DFG CompareEq optimization should be retuned · 66e3f25b
    fpizlo@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=109545
    
    Reviewed by Mark Hahnenberg.
            
    - Made the object-to-object equality case work again by hoisting the if statement
      for it. Previously, object-to-object equality would be compiled as
      object-to-object-or-other.
            
    - Added AbstractState guards for most of the type checks that the object equality
      code uses.
            
    Looks like a hint of a speed-up on all of the things.
    
    * dfg/DFGAbstractState.cpp:
    (JSC::DFG::AbstractState::execute):
    * dfg/DFGSpeculativeJIT.cpp:
    (JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
    (JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
    (JSC::DFG::SpeculativeJIT::compare):
    * dfg/DFGSpeculativeJIT32_64.cpp:
    (JSC::DFG::SpeculativeJIT::compileObjectEquality):
    (JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
    (JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
    * dfg/DFGSpeculativeJIT64.cpp:
    (JSC::DFG::SpeculativeJIT::compileObjectEquality):
    (JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
    (JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@142636 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    66e3f25b