Ignore:
Timestamp:
Jan 13, 2014, 3:50:58 PM (11 years ago)
Author:
[email protected]
Message:

Performance regression on dromaeo due to generational marking
https://bugs.webkit.org/show_bug.cgi?id=126901

Reviewed by Oliver Hunt.

We were seeing some performance regression with ENABLE_GGC == 0, so this patch
ifdefs out more things to get rid of the additional overhead.

  • heap/Heap.cpp:

(JSC::Heap::markRoots):
(JSC::Heap::writeBarrier):

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::clearMarks):
(JSC::MarkedBlock::clearMarksWithCollectionType):

  • heap/MarkedSpace.cpp:

(JSC::MarkedSpace::resetAllocators):

  • heap/MarkedSpace.h:

(JSC::MarkedSpace::didAllocateInBlock):

  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::internalAppend):
(JSC::SlotVisitor::reportExtraMemoryUsage):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/heap/Heap.cpp

    r161615 r161914  
    490490    HeapRootVisitor heapRootVisitor(visitor);
    491491
     492#if ENABLE(GGC)
    492493    Vector<const JSCell*> rememberedSet(m_slotVisitor.markStack().size());
    493494    m_slotVisitor.markStack().fillVector(rememberedSet);
     495#endif
    494496
    495497    {
     
    596598    }
    597599
     600#if ENABLE(GGC)
    598601    {
    599602        GCPHASE(ClearRememberedSet);
     
    603606        }
    604607    }
     608#endif
    605609
    606610    GCCOUNTER(VisitedValueCount, visitor.visitCount());
     
    10771081void Heap::writeBarrier(const JSCell* from)
    10781082{
     1083#if ENABLE(GGC)
    10791084    ASSERT_GC_OBJECT_LOOKS_VALID(const_cast<JSCell*>(from));
    10801085    if (!from || !isMarked(from))
     
    10821087    Heap* heap = Heap::heap(from);
    10831088    heap->addToRememberedSet(from);
     1089#else
     1090    UNUSED_PARAM(from);
     1091#endif
    10841092}
    10851093
Note: See TracChangeset for help on using the changeset viewer.