Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2147)

Unified Diff: base/memory/discardable_memory_provider.cc

Issue 59083011: base: Avoid purging more discardable memory than necessary. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/memory/discardable_memory_provider.cc
diff --git a/base/memory/discardable_memory_provider.cc b/base/memory/discardable_memory_provider.cc
index a0ba0ad0e9f40a5b4db632558a565944234b76c0..9567384ea1d609afda13f445a20fb463d8ab2d62 100644
--- a/base/memory/discardable_memory_provider.cc
+++ b/base/memory/discardable_memory_provider.cc
@@ -86,7 +86,6 @@ void DiscardableMemoryProvider::SetBytesToReclaimUnderModeratePressure(
size_t bytes) {
AutoLock lock(lock_);
bytes_to_reclaim_under_moderate_pressure_ = bytes;
- EnforcePolicyWithLockAcquired();
}
void DiscardableMemoryProvider::Register(
@@ -191,7 +190,7 @@ void DiscardableMemoryProvider::Purge() {
return;
size_t limit = 0;
- if (bytes_to_reclaim_under_moderate_pressure_ < discardable_memory_limit_)
+ if (bytes_to_reclaim_under_moderate_pressure_ < bytes_allocated_)
limit = bytes_allocated_ - bytes_to_reclaim_under_moderate_pressure_;
PurgeLRUWithLockAcquiredUntilUsageIsWithin(limit);
@@ -223,17 +222,7 @@ void DiscardableMemoryProvider::PurgeLRUWithLockAcquiredUntilUsageIsWithin(
}
void DiscardableMemoryProvider::EnforcePolicyWithLockAcquired() {
- lock_.AssertAcquired();
-
- bool exceeded_bound = bytes_allocated_ > discardable_memory_limit_;
- if (!exceeded_bound || !bytes_to_reclaim_under_moderate_pressure_)
- return;
-
- size_t limit = 0;
- if (bytes_to_reclaim_under_moderate_pressure_ < discardable_memory_limit_)
- limit = bytes_allocated_ - bytes_to_reclaim_under_moderate_pressure_;
-
- PurgeLRUWithLockAcquiredUntilUsageIsWithin(limit);
+ PurgeLRUWithLockAcquiredUntilUsageIsWithin(discardable_memory_limit_);
}
} // namespace internal

Powered by Google App Engine
This is Rietveld 408576698