| Index: base/sys_info_win.cc
|
| diff --git a/base/sys_info_win.cc b/base/sys_info_win.cc
|
| index af0ce7e6d8ef1c0c8effef4f4bb609851d78d515..1d15b62669810c70e3320b486398d6406439a6a0 100644
|
| --- a/base/sys_info_win.cc
|
| +++ b/base/sys_info_win.cc
|
| @@ -13,15 +13,9 @@
|
| #include "base/threading/thread_restrictions.h"
|
| #include "base/win/windows_version.h"
|
|
|
| -namespace base {
|
| -
|
| -// static
|
| -int SysInfo::NumberOfProcessors() {
|
| - return win::OSInfo::GetInstance()->processors();
|
| -}
|
| +namespace {
|
|
|
| -// static
|
| -int64 SysInfo::AmountOfPhysicalMemory() {
|
| +int64 AmountOfMemory(DWORDLONG MEMORYSTATUSEX::* memory_field) {
|
| MEMORYSTATUSEX memory_info;
|
| memory_info.dwLength = sizeof(memory_info);
|
| if (!GlobalMemoryStatusEx(&memory_info)) {
|
| @@ -29,25 +23,29 @@ int64 SysInfo::AmountOfPhysicalMemory() {
|
| return 0;
|
| }
|
|
|
| - int64 rv = static_cast<int64>(memory_info.ullTotalPhys);
|
| + int64 rv = static_cast<int64>(memory_info.*memory_field);
|
| if (rv < 0)
|
| rv = kint64max;
|
| return rv;
|
| }
|
|
|
| +} // namespace
|
| +
|
| +namespace base {
|
| +
|
| // static
|
| -int64 SysInfo::AmountOfAvailablePhysicalMemory() {
|
| - MEMORYSTATUSEX memory_info;
|
| - memory_info.dwLength = sizeof(memory_info);
|
| - if (!GlobalMemoryStatusEx(&memory_info)) {
|
| - NOTREACHED();
|
| - return 0;
|
| - }
|
| +int SysInfo::NumberOfProcessors() {
|
| + return win::OSInfo::GetInstance()->processors();
|
| +}
|
|
|
| - int64 rv = static_cast<int64>(memory_info.ullAvailPhys);
|
| - if (rv < 0)
|
| - rv = kint64max;
|
| - return rv;
|
| +// static
|
| +int64 SysInfo::AmountOfPhysicalMemory() {
|
| + return AmountOfMemory(&MEMORYSTATUSEX::ullTotalPhys);
|
| +}
|
| +
|
| +// static
|
| +int64 SysInfo::AmountOfAvailablePhysicalMemory() {
|
| + return AmountOfMemory(&MEMORYSTATUSEX::ullAvailPhys);
|
| }
|
|
|
| // static
|
|
|