Index: runtime/vm/cpuid.h |
=================================================================== |
--- runtime/vm/cpuid.h (revision 0) |
+++ runtime/vm/cpuid.h (revision 0) |
@@ -0,0 +1,40 @@ |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
siva
2014/02/21 19:28:55
2014
zra
2014/02/21 21:51:55
Done.
|
+// for details. All rights reserved. Use of this source code is governed by a |
+// BSD-style license that can be found in the LICENSE file. |
+ |
+#ifndef VM_CPUID_H_ |
+#define VM_CPUID_H_ |
+ |
+#include "vm/globals.h" |
+#include "vm/allocation.h" |
+#include "vm/cpuinfo.h" |
+ |
+namespace dart { |
+ |
+class CpuId : public AllStatic { |
+ public: |
+#if defined(HOST_ARCH_IA32) || defined(HOST_ARCH_X64) |
+ static void InitOnce(); |
+ static const char* field(CpuInfoIndices idx); |
+#else |
+ static void InitOnce() {} |
+ static const char* field(CpuInfoIndices idx) { return NULL; } |
+#endif |
siva
2014/02/21 19:28:55
Why not move the implementation of these methods t
zra
2014/02/21 21:51:55
As discussed, leaving here to avoid polluting arch
|
+ |
+ static bool sse2() { return sse2_; } |
+ static bool sse41() { return sse41_; } |
+ static const char* id_string() { return id_string_; } |
+ static const char* brand_string() { return brand_string_; } |
+ |
+ private: |
+ static bool sse2_; |
+ static bool sse41_; |
+ static const char* id_string_; |
+ static const char* brand_string_; |
+ |
+ static void GetCpuId(int32_t level, uint32_t info[4]); |
+}; |
+ |
+} // namespace dart |
+ |
+#endif // VM_CPUID_H_ |