Bug 164472

Summary: REGRESSION (r192721): GC timers stop to work when Heap claims it grew
Product: WebKit Reporter: VaL <valkov>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: NEW    
Severity: Normal CC: ap, fpizlo, ivlev.igor, kling, mark.lam
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Linux   
See Also: https://bugs.webkit.org/show_bug.cgi?id=151521

VaL
Reported 2016-11-07 03:28:04 PST
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.
Attachments
Note You need to log in before you can comment on or make changes to this bug.