Currently the Heap cancels the GC timer at the conclusion of a collection. We should change this to be at the beginning because something (e.g. a finalizer) could call didAbandonObjectGraph(), which will schedule the timer, but then we'll immediately unschedule the timer at the conclusion of the collection, thus potentially preventing large swaths of memory from being reclaimed in a timely manner.
Created attachment 138146 [details] Patch
Comment on attachment 138146 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=138146&action=review > Source/JavaScriptCore/API/JSBase.cpp:104 > if (!globalData.heap.isBusy()) We want to allow this during GC finalizers!
Created attachment 138147 [details] Patch
Comment on attachment 138147 [details] Patch r=me
Committed r114772: <http://trac.webkit.org/changeset/114772>