DFG JIT - Where arguments passed are integers, speculate this.
authorbarraclough@apple.com <barraclough@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Jul 2011 21:57:35 +0000 (21:57 +0000)
committerbarraclough@apple.com <barraclough@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 15 Jul 2011 21:57:35 +0000 (21:57 +0000)
commit812951c4a53a9de245e9a2e50f9ea869ccd48649
treeeef1009ef541064785fdbb049766f86cf3efbbcc
parentf2ebcaf7729643ff3ddd0998fb5c6bd770c9b554
DFG JIT - Where arguments passed are integers, speculate this.
https://bugs.webkit.org/show_bug.cgi?id=64630

Reviewed by Sam Weinig.

Presently the DFG JIT is overly aggressively predicting double.
Use a bit of dynamic information, and curtail this a little.

* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::predictArgumentTypes):
    - Check for integer arguments.
* dfg/DFGGraph.h:
    - Function declaration.
* runtime/Executable.cpp:
(JSC::tryDFGCompile):
(JSC::FunctionExecutable::compileForCallInternal):
    - Add call to predictArgumentTypes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@91115 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/dfg/DFGGraph.cpp
Source/JavaScriptCore/dfg/DFGGraph.h
Source/JavaScriptCore/runtime/Executable.cpp