[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