Summary: | JSGarbageCollect should not call collectAllGarbage() | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Mark Hahnenberg <mhahnenberg> | ||||
Component: | JavaScriptCore | Assignee: | Mark Hahnenberg <mhahnenberg> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | ||||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Mark Hahnenberg
2012-04-20 12:09:18 PDT
Created attachment 138139 [details]
Patch
Comment on attachment 138139 [details]
Patch
Let's fix the FIXME by taking advantage of our new callback, like so:
- Cancel the GC timer at the start of collection (rename didCollect to willCollect)
- If collection causes a didAbandonObjectGraph, it can now start the timer, which will, in fact, cause another collection later.
In the same patch, you can remove the isBusy() check, since didAbandonObjectGraph is safe to call while the heap is busy.
Committed r114771: <http://trac.webkit.org/changeset/114771> |