Bug 84477

Summary: Heap should cancel GC timer at the start of the collection
Product: WebKit Reporter: Mark Hahnenberg <mhahnenberg>
Component: JavaScriptCoreAssignee: Mark Hahnenberg <mhahnenberg>
Status: RESOLVED FIXED    
Severity: Normal CC: ggaren
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch ggaren: review+

Mark Hahnenberg
Reported 2012-04-20 12:20:04 PDT
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.
Attachments
Patch (4.33 KB, patch)
2012-04-20 12:47 PDT, Mark Hahnenberg
no flags
Patch (5.04 KB, patch)
2012-04-20 12:53 PDT, Mark Hahnenberg
ggaren: review+
Mark Hahnenberg
Comment 1 2012-04-20 12:47:48 PDT
Geoffrey Garen
Comment 2 2012-04-20 12:49:28 PDT
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!
Mark Hahnenberg
Comment 3 2012-04-20 12:53:05 PDT
Geoffrey Garen
Comment 4 2012-04-20 12:53:44 PDT
Comment on attachment 138147 [details] Patch r=me
Mark Hahnenberg
Comment 5 2012-04-20 12:55:39 PDT
Note You need to log in before you can comment on or make changes to this bug.