Ignore:
Timestamp:
Jan 22, 2018, 10:37:55 AM (8 years ago)
Author:
[email protected]
Message:

DFG abstract interpreter needs to properly model effects of some Math ops
https://bugs.webkit.org/show_bug.cgi?id=181886

Reviewed by Saam Barati.

JSTests:

New regression test.

  • stress/arith-nodes-abstract-interpreter-untypeduse.js: Added.

(test):

Source/JavaScriptCore:

Reviewed the processing of the various ArithXXX and CompareXXX and found that
several nodes don't handle UntypedUse. Added clobberWorld() for those cases.

  • dfg/DFGAbstractInterpreter.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeDoubleUnaryOpEffects):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/dfg/DFGAbstractInterpreter.h

    r225966 r227341  
    189189    void verifyEdge(Node*, Edge);
    190190    void verifyEdges(Node*);
    191     void executeDoubleUnaryOpEffects(Node*, double(*equivalentFunction)(double));
     191    void executeDoubleUnaryOpEffects(Node*, unsigned clobberLimit, double(*equivalentFunction)(double));
    192192   
    193193    CodeBlock* m_codeBlock;
Note: See TracChangeset for help on using the changeset viewer.