diff options
Diffstat (limited to 'chromium/base/sys_info_ios.mm')
-rw-r--r-- | chromium/base/sys_info_ios.mm | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/chromium/base/sys_info_ios.mm b/chromium/base/sys_info_ios.mm index de68fcf37c1..49d618c416f 100644 --- a/chromium/base/sys_info_ios.mm +++ b/chromium/base/sys_info_ios.mm @@ -65,7 +65,7 @@ void SysInfo::OperatingSystemVersionNumbers(int32* major_version, int64 SysInfo::AmountOfPhysicalMemory() { struct host_basic_info hostinfo; mach_msg_type_number_t count = HOST_BASIC_INFO_COUNT; - base::mac::ScopedMachPort host(mach_host_self()); + base::mac::ScopedMachSendRight host(mach_host_self()); int result = host_info(host, HOST_BASIC_INFO, reinterpret_cast<host_info_t>(&hostinfo), @@ -79,6 +79,23 @@ int64 SysInfo::AmountOfPhysicalMemory() { } // static +int64 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) { + NOTREACHED(); + return 0; + } + + return static_cast<int64>( + vm_info.free_count - vm_info.speculative_count) * PAGE_SIZE; +} + +// static std::string SysInfo::CPUModelName() { char name[256]; size_t len = arraysize(name); |