DFG JIT should support integer division
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