Due to https://bugs.webkit.org/show_bug.cgi?id=151521 when deathRate() now returns 0 (when heap reported that e.g. m_sizeAfterLastEdenCollect > m_sizeBeforeLastEdenCollect or m_sizeAfterLastFullCollect > m_sizeBeforeLastFullCollect after garbage collecting) GCActivityCallback::didAllocate uses double bytesExpectedToReclaim = static_cast<double>(bytes) * deathRate(); double newDelay = lastGCLength() / gcTimeSlice(bytesExpectedToReclaim); scheduleTimer(newDelay); which causes newDelay to be positive inf. GCActivityCallback::scheduleTimer configures the timer to std::chrono::microseconds::max(); and the timer never invoked.