Ignore:
Timestamp:
Feb 21, 2014, 12:37:19 PM (11 years ago)
Author:
[email protected]
Message:

DFG write barriers should do more speculations
https://bugs.webkit.org/show_bug.cgi?id=129160

Reviewed by Mark Hahnenberg.

Replace ConditionalStoreBarrier with the cheapest speculation that you could do
instead.

Miniscule speed-up on some things. It's a decent difference in code size, though.

  • bytecode/SpeculatedType.cpp:

(JSC::speculationToAbbreviatedString):

  • bytecode/SpeculatedType.h:

(JSC::isNotCellSpeculation):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::insertStoreBarrier):
(JSC::DFG::FixupPhase::insertPhantomCheck):

  • dfg/DFGNode.h:

(JSC::DFG::Node::shouldSpeculateOther):
(JSC::DFG::Node::shouldSpeculateNotCell):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compareEqObjectOrOtherToObject):
(JSC::FTL::LowerDFGToLLVM::equalNullOrUndefined):
(JSC::FTL::LowerDFGToLLVM::isNotOther):
(JSC::FTL::LowerDFGToLLVM::isOther):
(JSC::FTL::LowerDFGToLLVM::speculate):
(JSC::FTL::LowerDFGToLLVM::speculateObjectOrOther):
(JSC::FTL::LowerDFGToLLVM::speculateOther):
(JSC::FTL::LowerDFGToLLVM::speculateNotCell):

File:
1 edited

Legend:

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

    r164424 r164493  
    14821482    }
    14831483
     1484    bool shouldSpeculateOther()
     1485    {
     1486        return isOtherSpeculation(prediction());
     1487    }
     1488
    14841489    bool shouldSpeculateCell()
    14851490    {
    14861491        return isCellSpeculation(prediction());
     1492    }
     1493   
     1494    bool shouldSpeculateNotCell()
     1495    {
     1496        return isNotCellSpeculation(prediction());
    14871497    }
    14881498   
Note: See TracChangeset for help on using the changeset viewer.