Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(97)

Side by Side Diff: runtime/vm/cpuinfo.h

Issue 1677043003: 1. Fix memory leaks reported by running a simple test using ASAN (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: address-code-review Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/cpuid.h ('k') | runtime/vm/cpuinfo_android.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef VM_CPUINFO_H_ 5 #ifndef VM_CPUINFO_H_
6 #define VM_CPUINFO_H_ 6 #define VM_CPUINFO_H_
7 7
8 #include "platform/assert.h" 8 #include "platform/assert.h"
9 #include "vm/allocation.h" 9 #include "vm/allocation.h"
10 10
(...skipping 27 matching lines...) Expand all
38 static void InitOnce(); 38 static void InitOnce();
39 static void Cleanup(); 39 static void Cleanup();
40 40
41 static const char* FieldName(CpuInfoIndices idx) { 41 static const char* FieldName(CpuInfoIndices idx) {
42 ASSERT((idx >= 0) && (idx < kCpuInfoMax)); 42 ASSERT((idx >= 0) && (idx < kCpuInfoMax));
43 return fields_[idx]; 43 return fields_[idx];
44 } 44 }
45 45
46 // Returns true if the cpuinfo field contains the string. 46 // Returns true if the cpuinfo field contains the string.
47 static bool FieldContains(CpuInfoIndices idx, const char* search_string); 47 static bool FieldContains(CpuInfoIndices idx, const char* search_string);
48 static bool FieldContainsByString(
49 const char* field, const char* search_string);
50 48
51 // Returns true if the cpuinfo field [field] exists and is non-empty. 49 // Returns true if the cpuinfo field [field] exists and is non-empty.
52 static bool HasField(const char* field); 50 static bool HasField(const char* field);
53 51
54 // Returns the field. Caller is responsible for freeing the result.
55 static const char* ExtractField(CpuInfoIndices idx);
56 static const char* ExtractFieldByString(const char* field);
57
58 // Returns the field describing the CPU model. Caller is responsible for 52 // Returns the field describing the CPU model. Caller is responsible for
59 // freeing the result. 53 // freeing the result.
60 static const char* GetCpuModel() { 54 static const char* GetCpuModel() {
61 if (HasField(FieldName(kCpuInfoHardware))) { 55 if (HasField(FieldName(kCpuInfoHardware))) {
62 return ExtractField(kCpuInfoHardware); 56 return ExtractField(kCpuInfoHardware);
63 } else { 57 } else {
64 return strdup("Unknown"); 58 return strdup("Unknown");
65 } 59 }
66 } 60 }
67 61
68 private: 62 private:
63 // Returns the field. Caller is responsible for freeing the result.
64 static const char* ExtractField(CpuInfoIndices idx);
65
69 // The method to use to acquire info about the CPU. 66 // The method to use to acquire info about the CPU.
70 static CpuInfoMethod method_; 67 static CpuInfoMethod method_;
71 68
72 // Cpuinfo field names. 69 // Cpuinfo field names.
73 static const char* fields_[kCpuInfoMax]; 70 static const char* fields_[kCpuInfoMax];
74 }; 71 };
75 72
76 } // namespace dart 73 } // namespace dart
77 74
78 #endif // VM_CPUINFO_H_ 75 #endif // VM_CPUINFO_H_
OLDNEW
« no previous file with comments | « runtime/vm/cpuid.h ('k') | runtime/vm/cpuinfo_android.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698