blob: 483bda5e796f3109971b05b94957d69aed5271c5 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
--- base/allocator/partition_allocator/page_allocator_internals_posix.h.orig 2022-03-25 21:59:56 UTC
+++ base/allocator/partition_allocator/page_allocator_internals_posix.h
@@ -352,8 +352,12 @@ bool TryRecommitSystemPagesInternal(
void DiscardSystemPagesInternal(uintptr_t address, size_t length) {
void* ptr = reinterpret_cast<void*>(address);
-#if BUILDFLAG(IS_APPLE)
+#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_BSD)
+#if BUILDFLAG(IS_BSD)
+ int ret = madvise(ptr, length, MADV_FREE);
+#else
int ret = madvise(ptr, length, MADV_FREE_REUSABLE);
+#endif
if (ret) {
// MADV_FREE_REUSABLE sometimes fails, so fall back to MADV_DONTNEED.
ret = madvise(ptr, length, MADV_DONTNEED);
|