summaryrefslogtreecommitdiffstats
path: root/chromium/base/sys_info_ios.mm
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/base/sys_info_ios.mm')
-rw-r--r--chromium/base/sys_info_ios.mm19
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);