[Webkit-unassigned] [Bug 12900] Page tear-down forces garbage collection once per frame
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Mar 1 08:47:02 PST 2007
http://bugs.webkit.org/show_bug.cgi?id=12900
------- Comment #2 from ggaren at apple.com 2007-03-01 08:46 PDT -------
I realized that a very simple way to fix this would be to schedule manual GC on
a single zero-delay timer. That way, multiple manual GCs would coalesce. This
would have the fortunate side-effect of doing GC when the stack was very small,
reducing false positives in the conservative marking algorithm, and generally
reducing marking overhead.
I tried this and it reduced the number of GCs during the PLT by 2/3. In the
PLT, that didn't affect performance one way or the other. I suspect that's
because there are very few live objects in the PLT when we GC.
In the pathological case of closing a tab containing many frames while many
other JS-heavy tabs were open, I bet this would help a lot.
Not a priority right now, though, since it doesn't help page load performance.
(Sorry, but I lost the patch. It just changed Collector::collect() calls in
WebCore to KJSProxy::garbageCollectSoon() calls. It implemented
garbageCollectSoon() with GarbageCollectTimer : public TimerBase, that
implemented fire() as Collector::collect().)
--
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list