OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/sys_info.h" | 5 #include "base/sys_info.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 | 8 |
9 #include "base/file_util.h" | 9 #include "base/file_util.h" |
| 10 #include "base/lazy_instance.h" |
10 #include "base/logging.h" | 11 #include "base/logging.h" |
11 #include "base/string_number_conversions.h" | 12 #include "base/string_number_conversions.h" |
| 13 #if defined(OS_ANDROID) |
| 14 #include "base/android/dalvik_heap_size.h" |
| 15 #endif |
12 | 16 |
13 namespace base { | 17 namespace base { |
14 | 18 |
| 19 #if defined(OS_ANDROID) |
| 20 static base::LazyInstance<android::DalvikHeapSize> g_dalvik_heap_size = |
| 21 LAZY_INSTANCE_INITIALIZER; |
| 22 |
| 23 int SysInfo::DalvikHeapSizeMB() { |
| 24 return g_dalvik_heap_size.Get().HeapSizeMB(); |
| 25 } |
| 26 #endif |
| 27 |
15 int64 SysInfo::AmountOfPhysicalMemory() { | 28 int64 SysInfo::AmountOfPhysicalMemory() { |
16 long pages = sysconf(_SC_PHYS_PAGES); | 29 long pages = sysconf(_SC_PHYS_PAGES); |
17 long page_size = sysconf(_SC_PAGE_SIZE); | 30 long page_size = sysconf(_SC_PAGE_SIZE); |
18 if (pages == -1 || page_size == -1) { | 31 if (pages == -1 || page_size == -1) { |
19 NOTREACHED(); | 32 NOTREACHED(); |
20 return 0; | 33 return 0; |
21 } | 34 } |
22 | 35 |
23 return static_cast<int64>(pages) * page_size; | 36 return static_cast<int64>(pages) * page_size; |
24 } | 37 } |
(...skipping 15 matching lines...) Expand all Loading... |
40 limit_valid = true; | 53 limit_valid = true; |
41 } else { | 54 } else { |
42 NOTREACHED(); | 55 NOTREACHED(); |
43 return 0; | 56 return 0; |
44 } | 57 } |
45 } | 58 } |
46 return static_cast<size_t>(limit); | 59 return static_cast<size_t>(limit); |
47 } | 60 } |
48 | 61 |
49 } // namespace base | 62 } // namespace base |
OLD | NEW |