Bug 141313 - [iOS] Run a full garbage collection on memory warning.
Summary: [iOS] Run a full garbage collection on memory warning.
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Andreas Kling
Keywords: InRadar, Performance
Depends on:
Reported: 2015-02-05 16:17 PST by Andreas Kling
Modified: 2015-02-12 15:19 PST (History)
5 users (show)

See Also:

Patch (1.52 KB, patch)
2015-02-05 17:48 PST, Andreas Kling
no flags Details | Formatted Diff | Diff
Patch (1.49 KB, patch)
2015-02-05 18:40 PST, Andreas Kling
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Kling 2015-02-05 16:17:08 PST
In the iOS/WebKit1 world, we would synchronously GC upon receiving a memory warning. We should have the same behavior in iOS/WebKit2.
Comment 1 Radar WebKit Bug Importer 2015-02-05 16:18:09 PST
Comment 2 Andreas Kling 2015-02-05 17:48:00 PST
Created attachment 246142 [details]
Comment 3 Chris Dumez 2015-02-05 18:09:46 PST
Comment on attachment 246142 [details]

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

> Source/WebCore/platform/MemoryPressureHandler.cpp:139

Since this is iOS-specific, it seems like this should be in MemoryPressureHandler::platformReleaseMemory(bool) in MemoryPressureHandlerCocoa.mm, right?
Comment 4 Andreas Kling 2015-02-05 18:40:23 PST
Created attachment 246143 [details]

Moved the logic per Chris's excellent suggestion.
Comment 5 Chris Dumez 2015-02-05 18:41:49 PST
Comment on attachment 246143 [details]

Comment 6 Andreas Kling 2015-02-05 19:14:25 PST
Comment on attachment 246143 [details]

Clearing flags on attachment: 246143

Committed r179737: <http://trac.webkit.org/changeset/179737>
Comment 7 Andreas Kling 2015-02-05 19:14:30 PST
All reviewed patches have been landed.  Closing bug.
Comment 8 Geoffrey Garen 2015-02-12 15:19:48 PST
I'm worried about cost here in the edge case of pathological pressure. Let's do what you suggested in person -- GC now in response to background, GC soon in response to memory warning.