Chromium Code Reviews| 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_ |