Title: [276779] trunk/Source
- Revision
- 276779
- Author
- [email protected]
- Date
- 2021-04-29 09:26:38 -0700 (Thu, 29 Apr 2021)
Log Message
Unreviewed, reverting r276619.
Source/WebKit:
Causes multiple regressions on perf bots, as multiple tests test hot page loads in
WebContent processes that are in the process cache. Dropping the memory cache in those
processes caused multiple benchmarks to regress.
Reverted changeset:
"Reduce memory footprint for background tabs"
https://bugs.webkit.org/show_bug.cgi?id=225007
https://commits.webkit.org/r276619
Source/WTF:
Causes multiple regressions on perf bots.
Reverted changeset:
"Reduce memory footprint for background tabs"
https://bugs.webkit.org/show_bug.cgi?id=225007
https://commits.webkit.org/r276619
Modified Paths
Diff
Modified: trunk/Source/WTF/ChangeLog (276778 => 276779)
--- trunk/Source/WTF/ChangeLog 2021-04-29 16:17:49 UTC (rev 276778)
+++ trunk/Source/WTF/ChangeLog 2021-04-29 16:26:38 UTC (rev 276779)
@@ -1,3 +1,15 @@
+2021-04-29 Ben Nham <[email protected]>
+
+ Unreviewed, reverting r276619.
+
+ Causes multiple regressions on perf bots.
+
+ Reverted changeset:
+
+ "Reduce memory footprint for background tabs"
+ https://bugs.webkit.org/show_bug.cgi?id=225007
+ https://commits.webkit.org/r276619
+
2021-04-28 Devin Rousso <[email protected]>
experiment with averaging sampling colors across the top of the page as the scroll area background
Modified: trunk/Source/WTF/wtf/PlatformEnableCocoa.h (276778 => 276779)
--- trunk/Source/WTF/wtf/PlatformEnableCocoa.h 2021-04-29 16:17:49 UTC (rev 276778)
+++ trunk/Source/WTF/wtf/PlatformEnableCocoa.h 2021-04-29 16:26:38 UTC (rev 276779)
@@ -390,10 +390,6 @@
#define ENABLE_NETWORK_CACHE_STALE_WHILE_REVALIDATE 1
#endif
-#if !defined(ENABLE_NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER) && (PLATFORM(MAC) || PLATFORM(MACCATALYST))
-#define ENABLE_NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER 1
-#endif
-
#if !defined(ENABLE_NOTIFICATIONS) && PLATFORM(MAC)
#define ENABLE_NOTIFICATIONS 1
#endif
Modified: trunk/Source/WebKit/ChangeLog (276778 => 276779)
--- trunk/Source/WebKit/ChangeLog 2021-04-29 16:17:49 UTC (rev 276778)
+++ trunk/Source/WebKit/ChangeLog 2021-04-29 16:26:38 UTC (rev 276779)
@@ -1,3 +1,17 @@
+2021-04-29 Ben Nham <[email protected]>
+
+ Unreviewed, reverting r276619.
+
+ Causes multiple regressions on perf bots, as multiple tests test hot page loads in
+ WebContent processes that are in the process cache. Dropping the memory cache in those
+ processes caused multiple benchmarks to regress.
+
+ Reverted changeset:
+
+ "Reduce memory footprint for background tabs"
+ https://bugs.webkit.org/show_bug.cgi?id=225007
+ https://commits.webkit.org/r276619
+
2021-04-29 Chris Dumez <[email protected]>
Improve local storage size estimation for quota limitation
Modified: trunk/Source/WebKit/WebProcess/WebProcess.cpp (276778 => 276779)
--- trunk/Source/WebKit/WebProcess/WebProcess.cpp 2021-04-29 16:17:49 UTC (rev 276778)
+++ trunk/Source/WebKit/WebProcess/WebProcess.cpp 2021-04-29 16:26:38 UTC (rev 276779)
@@ -230,14 +230,8 @@
static const Seconds plugInAutoStartExpirationTimeUpdateThreshold { 29 * 24 * 60 * 60 };
// This should be greater than tileRevalidationTimeout in TileController.
-static const Seconds nonVisibleProcessGraphicsCleanupDelay { 10_s };
+static const Seconds nonVisibleProcessCleanupDelay { 10_s };
-#if ENABLE(NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER)
-// This should be long enough to support a workload where a user is actively switching between multiple tabs,
-// since our memory cleanup routine could potentially delete a good amount of JIT code.
-static const Seconds nonVisibleProcessMemoryCleanupDelay { 120_s };
-#endif
-
namespace WebKit {
using namespace JSC;
using namespace WebCore;
@@ -271,10 +265,7 @@
#if ENABLE(NETSCAPE_PLUGIN_API)
, m_pluginProcessConnectionManager(PluginProcessConnectionManager::create())
#endif
- , m_nonVisibleProcessGraphicsCleanupTimer(*this, &WebProcess::nonVisibleProcessGraphicsCleanupTimerFired)
-#if ENABLE(NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER)
- , m_nonVisibleProcessMemoryCleanupTimer(*this, &WebProcess::nonVisibleProcessMemoryCleanupTimerFired)
-#endif
+ , m_nonVisibleProcessCleanupTimer(*this, &WebProcess::nonVisibleProcessCleanupTimerFired)
#if PLATFORM(IOS_FAMILY)
, m_webSQLiteDatabaseTracker([this](bool isHoldingLockedFiles) { parentProcessConnection()->send(Messages::WebProcessProxy::SetIsHoldingLockedFiles(isHoldingLockedFiles), 0); })
#endif
@@ -1563,11 +1554,7 @@
void WebProcess::pageDidEnterWindow(PageIdentifier pageID)
{
m_pagesInWindows.add(pageID);
- m_nonVisibleProcessGraphicsCleanupTimer.stop();
-
-#if ENABLE(NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER)
- m_nonVisibleProcessMemoryCleanupTimer.stop();
-#endif
+ m_nonVisibleProcessCleanupTimer.stop();
}
void WebProcess::pageWillLeaveWindow(PageIdentifier pageID)
@@ -1574,18 +1561,11 @@
{
m_pagesInWindows.remove(pageID);
- if (m_pagesInWindows.isEmpty()) {
- if (!m_nonVisibleProcessGraphicsCleanupTimer.isActive())
- m_nonVisibleProcessGraphicsCleanupTimer.startOneShot(nonVisibleProcessGraphicsCleanupDelay);
-
-#if ENABLE(NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER)
- if (!m_nonVisibleProcessMemoryCleanupTimer.isActive())
- m_nonVisibleProcessMemoryCleanupTimer.startOneShot(nonVisibleProcessMemoryCleanupDelay);
-#endif
- }
+ if (m_pagesInWindows.isEmpty() && !m_nonVisibleProcessCleanupTimer.isActive())
+ m_nonVisibleProcessCleanupTimer.startOneShot(nonVisibleProcessCleanupDelay);
}
-void WebProcess::nonVisibleProcessGraphicsCleanupTimerFired()
+void WebProcess::nonVisibleProcessCleanupTimerFired()
{
ASSERT(m_pagesInWindows.isEmpty());
if (!m_pagesInWindows.isEmpty())
@@ -1596,19 +1576,6 @@
#endif
}
-#if ENABLE(NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER)
-void WebProcess::nonVisibleProcessMemoryCleanupTimerFired()
-{
- ASSERT(m_pagesInWindows.isEmpty());
- if (!m_pagesInWindows.isEmpty())
- return;
-
- WebCore::releaseMemory(Critical::Yes, Synchronous::No, WebCore::MaintainBackForwardCache::Yes, WebCore::MaintainMemoryCache::No);
- for (auto& page : m_pageMap.values())
- page->releaseMemory(Critical::Yes);
-}
-#endif
-
void WebProcess::registerStorageAreaMap(StorageAreaMap& storageAreaMap)
{
ASSERT(storageAreaMap.identifier());
Modified: trunk/Source/WebKit/WebProcess/WebProcess.h (276778 => 276779)
--- trunk/Source/WebKit/WebProcess/WebProcess.h 2021-04-29 16:17:49 UTC (rev 276778)
+++ trunk/Source/WebKit/WebProcess/WebProcess.h 2021-04-29 16:26:38 UTC (rev 276779)
@@ -265,12 +265,8 @@
void pageDidEnterWindow(WebCore::PageIdentifier);
void pageWillLeaveWindow(WebCore::PageIdentifier);
- void nonVisibleProcessGraphicsCleanupTimerFired();
+ void nonVisibleProcessCleanupTimerFired();
-#if ENABLE(NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER)
- void nonVisibleProcessMemoryCleanupTimerFired();
-#endif
-
void registerStorageAreaMap(StorageAreaMap&);
void unregisterStorageAreaMap(StorageAreaMap&);
StorageAreaMap* storageAreaMap(StorageAreaIdentifier) const;
@@ -666,12 +662,8 @@
bool m_processIsSuspended { false };
HashSet<WebCore::PageIdentifier> m_pagesInWindows;
- WebCore::Timer m_nonVisibleProcessGraphicsCleanupTimer;
+ WebCore::Timer m_nonVisibleProcessCleanupTimer;
-#if ENABLE(NON_VISIBLE_WEBPROCESS_MEMORY_CLEANUP_TIMER)
- WebCore::Timer m_nonVisibleProcessMemoryCleanupTimer;
-#endif
-
RefPtr<WebCore::ApplicationCacheStorage> m_applicationCacheStorage;
#if PLATFORM(IOS_FAMILY)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes