Chromium Code Reviews| Index: base/sys_info_mac.mm |
| diff --git a/base/sys_info_mac.mm b/base/sys_info_mac.mm |
| index aab1103d4c401d14efc6bf7eecb30c208b9a5d98..6e4e6cc9009a152592e0ceeefe86290c90c2a04c 100644 |
| --- a/base/sys_info_mac.mm |
| +++ b/base/sys_info_mac.mm |
| @@ -19,6 +19,7 @@ |
| #include "base/mac/scoped_mach_port.h" |
| #import "base/mac/sdk_forward_declarations.h" |
| #include "base/macros.h" |
| +#include "base/process/process_metrics.h" |
| #include "base/strings/stringprintf.h" |
| namespace base { |
| @@ -83,20 +84,14 @@ int64_t SysInfo::AmountOfPhysicalMemory() { |
| // static |
| int64_t SysInfo::AmountOfAvailablePhysicalMemory() { |
| - base::mac::ScopedMachSendRight host(mach_host_self()); |
| - vm_statistics_data_t vm_info; |
| - mach_msg_type_number_t count = HOST_VM_INFO_COUNT; |
| - |
| - if (host_statistics(host.get(), |
| - HOST_VM_INFO, |
| - reinterpret_cast<host_info_t>(&vm_info), |
| - &count) != KERN_SUCCESS) { |
| + SystemMemoryInfoKB info; |
| + if (!GetSystemMemoryInfo(&info)) { |
| NOTREACHED(); |
|
danakj
2017/03/10 17:13:49
the NOTREACHED+return anti-pattern is common in th
Michael K. (Yandex Team)
2017/03/10 18:22:37
Done.
|
| return 0; |
| } |
| - |
| - return static_cast<int64_t>(vm_info.free_count - vm_info.speculative_count) * |
| - PAGE_SIZE; |
| + // We should add inactive file-backed memory also but there is no such |
| + // information from Mac OS unfortunately. |
| + return static_cast<int64_t>(info.free + info.speculative) * 1024; |
| } |
| // static |