void DefaultGCActivityCallback::doWork() { Heap* heap = &m_vm->heap; if (!isEnabled()) return; APIEntryShim shim(m_vm); #if !PLATFORM(IOS) double startTime = WTF::monotonicallyIncreasingTime(); if (heap->isPagedOut(startTime + pagingTimeOut)) { heap->activityCallback()->cancel(); heap->increaseLastGCLength(pagingTimeOut); return; } #endif heap->collect(); }
void DefaultGCActivityCallback::doWork() { Heap* heap = &m_vm->heap; if (!isEnabled()) return; JSLockHolder locker(m_vm); if (heap->isDeferred()) { scheduleTimer(0); return; } #if !PLATFORM(IOS) double startTime = WTF::monotonicallyIncreasingTime(); if (heap->isPagedOut(startTime + pagingTimeOut)) { heap->activityCallback()->cancel(); heap->increaseLastGCLength(pagingTimeOut); return; } #endif heap->gcTimerDidFire(); heap->collect(); }