[webkit-changes] [WebKit/WebKit] 2f2fe4: [macOS] Release memory in WebProcesses before full...
Chris Dumez
noreply at github.com
Mon May 8 14:06:52 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2f2fe47009094437126a5cf55d07b429fae71fff
https://github.com/WebKit/WebKit/commit/2f2fe47009094437126a5cf55d07b429fae71fff
Author: Chris Dumez <cdumez at apple.com>
Date: 2023-05-08 (Mon, 08 May 2023)
Changed paths:
M Source/WebKit/UIProcess/ProcessThrottler.cpp
M Source/WebKit/UIProcess/ProcessThrottlerClient.h
M Source/WebKit/UIProcess/WebProcessProxy.cpp
M Source/WebKit/UIProcess/WebProcessProxy.h
M Source/WebKit/WebProcess/WebProcess.cpp
M Source/WebKit/WebProcess/WebProcess.h
M Source/WebKit/WebProcess/WebProcess.messages.in
Log Message:
-----------
[macOS] Release memory in WebProcesses before fully suspending them
https://bugs.webkit.org/show_bug.cgi?id=256332
rdar://108625394
Reviewed by Geoffrey Garen.
Before dropping the last assertion for a WebProcess on macOS, send
a ReleaseMemory IPC to it and slim down the process as much as possible
before suspension.
We don't do this for processes in the WebProcessCache for performance
reasons. These processes exit on memory pressure anyway.
* Source/WebKit/UIProcess/ProcessThrottler.cpp:
(WebKit::ProcessThrottler::setThrottleState):
(WebKit::ProcessThrottler::dropNearSuspendedAssertionTimerFired):
(WebKit::ProcessThrottler::numberOfPagesAllowedToRunInTheBackgroundChanged):
* Source/WebKit/UIProcess/ProcessThrottlerClient.h:
(WebKit::ProcessThrottlerClient::prepareToDropLastAssertion):
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::prepareToDropLastAssertion):
* Source/WebKit/UIProcess/WebProcessProxy.h:
* Source/WebKit/WebProcess/WebProcess.cpp:
(WebKit::WebProcess::releaseMemory):
* Source/WebKit/WebProcess/WebProcess.h:
* Source/WebKit/WebProcess/WebProcess.messages.in:
Canonical link: https://commits.webkit.org/263823@main
More information about the webkit-changes
mailing list