Skip to content
  • dbates@webkit.org's avatar
    Add SPI to disable the garbage collector timer · 6122a1af
    dbates@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=122921
    
    Reviewed by Geoffrey Garen.
    
    Based on a patch by Mark Hahnenberg.
    
    * API/JSBase.cpp:
    (JSDisableGCTimer): Added; SPI function.
    * API/JSBasePrivate.h:
    * heap/BlockAllocator.cpp:
    (JSC::createBlockFreeingThread): Added.
    (JSC::BlockAllocator::BlockAllocator): Modified to use JSC::createBlockFreeingThread()
    to conditionally create the "block freeing" thread depending on the value of
    GCActivityCallback::s_shouldCreateGCTimer.
    (JSC::BlockAllocator::~BlockAllocator):
    * heap/BlockAllocator.h:
    (JSC::BlockAllocator::deallocate):
    * heap/Heap.cpp:
    (JSC::Heap::didAbandon):
    (JSC::Heap::collect):
    (JSC::Heap::didAllocate):
    * heap/HeapTimer.cpp:
    (JSC::HeapTimer::timerDidFire):
    * runtime/GCActivityCallback.cpp:
    * runtime/GCActivityCallback.h:
    (JSC::DefaultGCActivityCallback::create): Only instantiate a DefaultGCActivityCallback object
    when GCActivityCallback::s_shouldCreateGCTimer is true so as to prevent allocating a HeapTimer
    object (since DefaultGCActivityCallback ultimately extends HeapTimer).
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    6122a1af