Bug 154986

Summary: Drop DocumentSharedObjectPool immediately when going into PageCache.
Product: WebKit Reporter: Andreas Kling <kling>
Component: DOMAssignee: Andreas Kling <kling>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, commit-queue, esprehn+autocc, kangil.han
Priority: P2 Keywords: Performance
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Andreas Kling 2016-03-03 15:32:20 PST
We can reclaim ElementData memory sooner if we drop the DocumentSharedObjectPool the instant we go into PageCache.
Comment 1 Andreas Kling 2016-03-03 15:32:57 PST
Created attachment 272780 [details]
Patch
Comment 2 Antti Koivisto 2016-03-03 15:39:21 PST
Comment on attachment 272780 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=272780&action=review

> Source/WebCore/dom/Document.cpp:5049
> -void Document::sharedObjectPoolClearTimerFired()
> +void Document::clearSharedObjectPool()

I often keep *TimerFired function that just calls a payload function. Makes it easier to see what is what.
Comment 3 WebKit Commit Bot 2016-03-04 01:02:51 PST
Comment on attachment 272780 [details]
Patch

Clearing flags on attachment: 272780

Committed r197552: <http://trac.webkit.org/changeset/197552>
Comment 4 WebKit Commit Bot 2016-03-04 01:02:55 PST
All reviewed patches have been landed.  Closing bug.
Comment 5 Chris Dumez 2016-03-21 15:07:36 PDT
Reverted r197552 for reason:

May have caused a ~2% PLT regression on iOS

Committed r198500: <http://trac.webkit.org/changeset/198500>
Comment 6 Chris Dumez 2016-03-24 19:24:53 PDT
Reverted r198500 for reason:

Roll back in r197552 as it did not seem to cause a PLT regression after all

Committed r198658: <http://trac.webkit.org/changeset/198658>
Comment 7 Chris Dumez 2016-03-24 19:25:59 PDT
Re-landed in r198658 as it does not seem it caused a PLT regression after all. Sorry about the noise.