Index: runtime/vm/cpu_dbc.h |
diff --git a/runtime/vm/cpu_dbc.h b/runtime/vm/cpu_dbc.h |
index b437beb36c3ae2922dd6511e5c1fcb9572ea2109..486acdb7684cd4c35f44a0fefbfc28caa570d8a8 100644 |
--- a/runtime/vm/cpu_dbc.h |
+++ b/runtime/vm/cpu_dbc.h |
@@ -12,13 +12,33 @@ namespace dart { |
class HostCPUFeatures: public AllStatic { |
public: |
- static const char* hardware() { return "simdbc"; } |
+ static void InitOnce(); |
+ static void Cleanup(); |
+ |
+ static const char* hardware() { |
+ DEBUG_ASSERT(initialized_); |
+ return hardware_; |
+ } |
+ |
+ private: |
+ static const char* hardware_; |
+#if defined(DEBUG) |
+ static bool initialized_; |
+#endif |
}; |
class TargetCPUFeatures : public AllStatic { |
public: |
- static void InitOnce() {} |
- static void Cleanup() {} |
+ static void InitOnce() { |
+ HostCPUFeatures::InitOnce(); |
+ } |
+ static void Cleanup() { |
+ HostCPUFeatures::Cleanup(); |
+ } |
+ |
+ static const char* hardware() { |
+ return CPU::Id(); |
+ } |
static bool double_truncate_round_supported() { |
return true; |