Ignore:
Timestamp:
Jul 24, 2013, 9:04:51 PM (12 years ago)
Author:
[email protected]
Message:

fourthTier: NaturalLoops should be able to quickly answer questions like "what loops own this basic block"
https://bugs.webkit.org/show_bug.cgi?id=118750

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

  • dfg/DFGBasicBlock.h:

(BasicBlock):

  • dfg/DFGNaturalLoops.cpp:

(JSC::DFG::NaturalLoops::compute):
(JSC::DFG::NaturalLoops::loopsOf):

  • dfg/DFGNaturalLoops.h:

(DFG):
(JSC::DFG::NaturalLoop::NaturalLoop):
(NaturalLoop):
(JSC::DFG::NaturalLoop::index):
(JSC::DFG::NaturalLoop::isOuterMostLoop):
(JSC::DFG::NaturalLoop::addBlock):
(JSC::DFG::NaturalLoops::headerOf):
(JSC::DFG::NaturalLoops::innerMostLoopOf):
(NaturalLoops):
(JSC::DFG::NaturalLoops::innerMostOuterLoop):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

Source/WTF:

Reviewed by Mark Hahnenberg.

Add a utility function for inserting an element into a vector that has bounded size,
and where the insertion causes things to drop off the end.

  • wtf/StdLibExtras.h:

(WTF):
(WTF::insertIntoBoundedVector):

File:
1 edited

Legend:

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

    r153274 r153277  
    128128    Operands<AbstractValue> valuesAtTail;
    129129   
     130    // These fields are reserved for NaturalLoops.
     131    static const unsigned numberOfInnerMostLoopIndices = 2;
     132    unsigned innerMostLoopIndices[numberOfInnerMostLoopIndices];
     133
    130134    struct SSAData {
    131135        Operands<FlushFormat> flushFormatAtHead;
Note: See TracChangeset for help on using the changeset viewer.