< prev index next >

src/hotspot/share/runtime/abstract_vm_version.hpp

Print this page

 50 
 51 // Helper macro to test and set VM flag and corresponding cpu feature
 52 #define CHECK_CPU_FEATURE(vmflag, feature_id, predicate, warning_msg) \
 53   if (predicate) { \
 54     if (FLAG_IS_DEFAULT(vmflag)) { \
 55       FLAG_SET_DEFAULT(vmflag, true); \
 56     } else if (!vmflag) { \
 57       clear_feature(CPU_##feature_id); \
 58     } \
 59   } else if (vmflag) { \
 60     if (!FLAG_IS_DEFAULT(vmflag)) { \
 61       warning(warning_msg); \
 62     } \
 63     FLAG_SET_DEFAULT(vmflag, false); \
 64   }
 65 
 66 // Abstract_VM_Version provides information about the VM.
 67 
 68 class Abstract_VM_Version: AllStatic {
 69   friend class VMStructs;
 70   friend class JVMCIVMStructs;
 71 
 72  protected:
 73   static const char*  _s_vm_release;
 74   static const char*  _s_internal_vm_info_string;
 75 
 76   // CPU feature flags, can be affected by VM settings.
 77   static uint64_t _features;
 78 
 79   static const char* _features_string;
 80 
 81   static const char* _cpu_info_string;
 82 
 83   // Original CPU feature flags, not affected by VM settings.
 84   static uint64_t _cpu_features;
 85 
 86   // These are set by machine-dependent initializations
 87 #ifndef SUPPORTS_NATIVE_CX8
 88   static bool         _supports_cx8;
 89 #endif
 90   static bool         _supports_atomic_getset4;

 50 
 51 // Helper macro to test and set VM flag and corresponding cpu feature
 52 #define CHECK_CPU_FEATURE(vmflag, feature_id, predicate, warning_msg) \
 53   if (predicate) { \
 54     if (FLAG_IS_DEFAULT(vmflag)) { \
 55       FLAG_SET_DEFAULT(vmflag, true); \
 56     } else if (!vmflag) { \
 57       clear_feature(CPU_##feature_id); \
 58     } \
 59   } else if (vmflag) { \
 60     if (!FLAG_IS_DEFAULT(vmflag)) { \
 61       warning(warning_msg); \
 62     } \
 63     FLAG_SET_DEFAULT(vmflag, false); \
 64   }
 65 
 66 // Abstract_VM_Version provides information about the VM.
 67 
 68 class Abstract_VM_Version: AllStatic {
 69   friend class VMStructs;

 70 
 71  protected:
 72   static const char*  _s_vm_release;
 73   static const char*  _s_internal_vm_info_string;
 74 
 75   // CPU feature flags, can be affected by VM settings.
 76   static uint64_t _features;
 77 
 78   static const char* _features_string;
 79 
 80   static const char* _cpu_info_string;
 81 
 82   // Original CPU feature flags, not affected by VM settings.
 83   static uint64_t _cpu_features;
 84 
 85   // These are set by machine-dependent initializations
 86 #ifndef SUPPORTS_NATIVE_CX8
 87   static bool         _supports_cx8;
 88 #endif
 89   static bool         _supports_atomic_getset4;
< prev index next >