Skip to content
  • fpizlo@apple.com's avatar
    DFG JIT should support integer division · de08b63c
    fpizlo@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=68597
    
    Reviewed by Darin Adler.
            
    This adds support for ArithDiv speculating integer, and speculating
    that the result is integer (i.e. remainder = 0).
            
    This is a 4% win on Kraken and a 1% loss on V8.
    
    * bytecode/CodeBlock.h:
    * dfg/DFGByteCodeParser.cpp:
    (JSC::DFG::ByteCodeParser::makeDivSafe):
    (JSC::DFG::ByteCodeParser::parseBlock):
    * dfg/DFGNode.h:
    (JSC::DFG::Node::hasArithNodeFlags):
    * dfg/DFGPropagator.cpp:
    (JSC::DFG::Propagator::propagateArithNodeFlags):
    (JSC::DFG::Propagator::propagateNodePredictions):
    (JSC::DFG::Propagator::fixupNode):
    * dfg/DFGSpeculativeJIT.cpp:
    (JSC::DFG::SpeculativeJIT::compile):
    * jit/JITArithmetic.cpp:
    (JSC::JIT::emit_op_div):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@95754 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    de08b63c