Index: runtime/vm/cpu_ia32.h |
=================================================================== |
--- runtime/vm/cpu_ia32.h (revision 0) |
+++ runtime/vm/cpu_ia32.h (revision 0) |
@@ -0,0 +1,38 @@ |
+// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
+// 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_CPU_IA32_H_ |
+#define VM_CPU_IA32_H_ |
+ |
+#include "vm/allocation.h" |
+ |
+namespace dart { |
+ |
+class CPUFeatures : public AllStatic { |
+ public: |
+ static void InitOnce(); |
+ // x64 always has at least SSE2. |
+ static bool sse2_supported(); |
+ static bool sse4_1_supported(); |
+ static bool double_truncate_round_supported() { return sse4_1_supported(); } |
+ static char* hardware(); |
+ |
+ private: |
+ static const uint64_t kSSE2BitMask = static_cast<uint64_t>(1) << 26; |
Cutch
2014/01/02 19:39:19
Should this be here or inside the .cc file?
|
+ static const uint64_t kSSE4_1BitMask = static_cast<uint64_t>(1) << 51; |
+ |
+ static bool sse2_supported_; |
+ static bool sse4_1_supported_; |
+ |
+#define HARDWARE_LEN 64 |
Cutch
2014/01/02 19:39:19
This #define and hardware_ is repeated in all file
|
+ static char hardware_[HARDWARE_LEN]; |
+ |
+#if defined(DEBUG) |
+ static bool initialized_; |
+#endif |
+}; |
+ |
+} // namespace dart |
+ |
+#endif // VM_CPU_IA32_H_ |