⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 194423 in webkit


Ignore:
Timestamp:
Dec 26, 2015, 10:27:03 PM (11 years ago)
Author:
mark.lam@apple.com
Message:

Rename NodeMayOverflowInXXX to NodeMayOverflowInt32InXXX.
https://bugs.webkit.org/show_bug.cgi?id=152555

Reviewed by Alex Christensen.

That's because the NodeMayOverflowInBaseline and NodeMayOverflowInDFG flags only
indicates potential overflowing of Int32 values. We'll be adding overflow
profiling for Int52 values later, and we should disambiguate between the 2 types.

This is purely a renaming patch. There are no semantic changes.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::makeSafe):
(JSC::DFG::ByteCodeParser::makeDivSafe):
(JSC::DFG::ByteCodeParser::handleIntrinsicCall):

  • dfg/DFGNodeFlags.cpp:

(JSC::DFG::dumpNodeFlags):

  • dfg/DFGNodeFlags.h:

(JSC::DFG::nodeMayOverflowInt32):
(JSC::DFG::nodeCanSpeculateInt32):
(JSC::DFG::nodeMayOverflow): Deleted.

Location:
trunk/Source/JavaScriptCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r194409 r194423  
     12015-12-26  Mark Lam  <mark.lam@apple.com>
     2
     3        Rename NodeMayOverflowInXXX to NodeMayOverflowInt32InXXX.
     4        https://bugs.webkit.org/show_bug.cgi?id=152555
     5
     6        Reviewed by Alex Christensen.
     7
     8        That's because the NodeMayOverflowInBaseline and NodeMayOverflowInDFG flags only
     9        indicates potential overflowing of Int32 values.  We'll be adding overflow
     10        profiling for Int52 values later, and we should disambiguate between the 2 types.
     11
     12        This is purely a renaming patch.  There are no semantic changes.
     13
     14        * dfg/DFGByteCodeParser.cpp:
     15        (JSC::DFG::ByteCodeParser::makeSafe):
     16        (JSC::DFG::ByteCodeParser::makeDivSafe):
     17        (JSC::DFG::ByteCodeParser::handleIntrinsicCall):
     18        * dfg/DFGNodeFlags.cpp:
     19        (JSC::DFG::dumpNodeFlags):
     20        * dfg/DFGNodeFlags.h:
     21        (JSC::DFG::nodeMayOverflowInt32):
     22        (JSC::DFG::nodeCanSpeculateInt32):
     23        (JSC::DFG::nodeMayOverflow): Deleted.
     24
    1252015-12-23  Andreas Kling  <akling@apple.com>
    226
  • trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp

    r194293 r194423  
    883883    {
    884884        if (m_inlineStackTop->m_exitProfile.hasExitSite(m_currentIndex, Overflow))
    885             node->mergeFlags(NodeMayOverflowInDFG);
     885            node->mergeFlags(NodeMayOverflowInt32InDFG);
    886886        if (m_inlineStackTop->m_exitProfile.hasExitSite(m_currentIndex, NegativeZero))
    887887            node->mergeFlags(NodeMayNegZeroInDFG);
     
    899899        case ValueAdd:
    900900        case ArithMod: // for ArithMod "MayOverflow" means we tried to divide by zero, or we saw double.
    901             node->mergeFlags(NodeMayOverflowInBaseline);
     901            node->mergeFlags(NodeMayOverflowInt32InBaseline);
    902902            break;
    903903           
     
    906906            // (i.e. -(1 << 31)) or generating negative zero (i.e. -0). If it took slow
    907907            // path then we assume that it did both of those things.
    908             node->mergeFlags(NodeMayOverflowInBaseline);
     908            node->mergeFlags(NodeMayOverflowInt32InBaseline);
    909909            node->mergeFlags(NodeMayNegZeroInBaseline);
    910910            break;
     
    916916            if (m_inlineStackTop->m_profiledBlock->likelyToTakeDeepestSlowCase(m_currentIndex)
    917917                || m_inlineStackTop->m_exitProfile.hasExitSite(m_currentIndex, Overflow))
    918                 node->mergeFlags(NodeMayOverflowInBaseline | NodeMayNegZeroInBaseline);
     918                node->mergeFlags(NodeMayOverflowInt32InBaseline | NodeMayNegZeroInBaseline);
    919919            else if (m_inlineStackTop->m_profiledBlock->likelyToTakeSlowCase(m_currentIndex)
    920920                || m_inlineStackTop->m_exitProfile.hasExitSite(m_currentIndex, NegativeZero))
     
    935935       
    936936        if (m_inlineStackTop->m_exitProfile.hasExitSite(m_currentIndex, Overflow))
    937             node->mergeFlags(NodeMayOverflowInDFG);
     937            node->mergeFlags(NodeMayOverflowInt32InDFG);
    938938        if (m_inlineStackTop->m_exitProfile.hasExitSite(m_currentIndex, NegativeZero))
    939939            node->mergeFlags(NodeMayNegZeroInDFG);
     
    949949       
    950950        // FIXME: It might be possible to make this more granular.
    951         node->mergeFlags(NodeMayOverflowInBaseline | NodeMayNegZeroInBaseline);
     951        node->mergeFlags(NodeMayOverflowInt32InBaseline | NodeMayNegZeroInBaseline);
    952952       
    953953        return node;
     
    20112011        Node* node = addToGraph(ArithAbs, get(virtualRegisterForArgument(1, registerOffset)));
    20122012        if (m_inlineStackTop->m_exitProfile.hasExitSite(m_currentIndex, Overflow))
    2013             node->mergeFlags(NodeMayOverflowInDFG);
     2013            node->mergeFlags(NodeMayOverflowInt32InDFG);
    20142014        set(VirtualRegister(resultOperand), node);
    20152015        return true;
  • trunk/Source/JavaScriptCore/dfg/DFGNodeFlags.cpp

    r179840 r194423  
    8585            out.print(comma, "UseAsOther");
    8686    }
    87    
    88     if (flags & NodeMayOverflowInBaseline)
    89         out.print(comma, "MayOverflowInBaseline");
    90    
    91     if (flags & NodeMayOverflowInDFG)
    92         out.print(comma, "MayOverflowInDFG");
    93    
     87
     88    if (flags & NodeMayOverflowInt32InBaseline)
     89        out.print(comma, "MayOverflowInt32InBaseline");
     90
     91    if (flags & NodeMayOverflowInt32InDFG)
     92        out.print(comma, "MayOverflowInt32InDFG");
     93
    9494    if (flags & NodeMayNegZeroInBaseline)
    9595        out.print(comma, "MayNegZeroInBaseline");
  • trunk/Source/JavaScriptCore/dfg/DFGNodeFlags.h

    r183497 r194423  
    5050                               
    5151#define NodeBehaviorMask                 0x0780
    52 #define NodeMayOverflowInBaseline        0x0080
    53 #define NodeMayOverflowInDFG             0x0100
     52#define NodeMayOverflowInt32InBaseline   0x0080
     53#define NodeMayOverflowInt32InDFG        0x0100
    5454#define NodeMayNegZeroInBaseline         0x0200
    5555#define NodeMayNegZeroInDFG              0x0400
     
    9595};
    9696
    97 static inline bool nodeMayOverflow(NodeFlags flags, RareCaseProfilingSource source)
     97static inline bool nodeMayOverflowInt32(NodeFlags flags, RareCaseProfilingSource source)
    9898{
    9999    NodeFlags mask = 0;
    100100    switch (source) {
    101101    case BaselineRareCase:
    102         mask = NodeMayOverflowInBaseline;
     102        mask = NodeMayOverflowInt32InBaseline;
    103103        break;
    104104    case DFGRareCase:
    105         mask = NodeMayOverflowInDFG;
     105        mask = NodeMayOverflowInt32InDFG;
    106106        break;
    107107    case AllRareCases:
    108         mask = NodeMayOverflowInBaseline | NodeMayOverflowInDFG;
     108        mask = NodeMayOverflowInt32InBaseline | NodeMayOverflowInt32InDFG;
    109109        break;
    110110    }
     
    131131static inline bool nodeCanSpeculateInt32(NodeFlags flags, RareCaseProfilingSource source)
    132132{
    133     if (nodeMayOverflow(flags, source))
     133    if (nodeMayOverflowInt32(flags, source))
    134134        return !bytecodeUsesAsNumber(flags);
    135135   
Note: See TracChangeset for help on using the changeset viewer.