37 static const char* _s_internal_vm_info_string; 38 // These are set by machine-dependent initializations 39 static bool _supports_cx8; 40 static bool _supports_atomic_getset4; 41 static bool _supports_atomic_getset8; 42 static bool _supports_atomic_getadd4; 43 static bool _supports_atomic_getadd8; 44 static unsigned int _logical_processors_per_package; 45 static int _vm_major_version; 46 static int _vm_minor_version; 47 static int _vm_build_number; 48 static bool _initialized; 49 static int _parallel_worker_threads; 50 static bool _parallel_worker_threads_initialized; 51 static int _reserve_for_allocation_prefetch; 52 53 static unsigned int nof_parallel_worker_threads(unsigned int num, 54 unsigned int dem, 55 unsigned int switch_pt); 56 public: 57 static void initialize(); 58 59 // This allows for early initialization of VM_Version information 60 // that may be needed later in the initialization sequence but before 61 // full VM_Version initialization is possible. It can not depend on any 62 // other part of the VM being initialized when called. Platforms that 63 // need to specialize this define VM_Version::early_initialize(). 64 static void early_initialize() { } 65 66 // Name 67 static const char* vm_name(); 68 // Vendor 69 static const char* vm_vendor(); 70 // VM version information string printed by launcher (java -version) 71 static const char* vm_info_string(); 72 static const char* vm_release(); 73 static const char* vm_platform_string(); 74 static const char* vm_build_user(); 75 76 static int vm_major_version() { assert(_initialized, "not initialized"); return _vm_major_version; } 77 static int vm_minor_version() { assert(_initialized, "not initialized"); return _vm_minor_version; } 78 static int vm_build_number() { assert(_initialized, "not initialized"); return _vm_build_number; } 79 80 // Gets the jvm_version_info.jvm_version defined in jvm.h 81 static unsigned int jvm_version(); 82 83 // Internal version providing additional build information 84 static const char* internal_vm_info_string(); 85 static const char* jre_release_version(); | 37 static const char* _s_internal_vm_info_string; 38 // These are set by machine-dependent initializations 39 static bool _supports_cx8; 40 static bool _supports_atomic_getset4; 41 static bool _supports_atomic_getset8; 42 static bool _supports_atomic_getadd4; 43 static bool _supports_atomic_getadd8; 44 static unsigned int _logical_processors_per_package; 45 static int _vm_major_version; 46 static int _vm_minor_version; 47 static int _vm_build_number; 48 static bool _initialized; 49 static int _parallel_worker_threads; 50 static bool _parallel_worker_threads_initialized; 51 static int _reserve_for_allocation_prefetch; 52 53 static unsigned int nof_parallel_worker_threads(unsigned int num, 54 unsigned int dem, 55 unsigned int switch_pt); 56 public: 57 // Called as part of the runtime services initialization which is 58 // called from the management module initialization (via init_globals()) 59 // after argument parsing and attaching of the main thread has 60 // occurred. Examines a variety of the hardware capabilities of 61 // the platform to determine which features can be used to execute the 62 // program. 63 static void initialize(); 64 65 // This allows for early initialization of VM_Version information 66 // that may be needed later in the initialization sequence but before 67 // full VM_Version initialization is possible. It can not depend on any 68 // other part of the VM being initialized when called. Platforms that 69 // need to specialize this define VM_Version::early_initialize(). 70 static void early_initialize() { } 71 72 // Called to initialize VM variables needing initialization 73 // after command line parsing. Platforms that need to specialize 74 // this should define VM_Version::init_before_ergo(). 75 static void init_before_ergo() {} 76 77 // Name 78 static const char* vm_name(); 79 // Vendor 80 static const char* vm_vendor(); 81 // VM version information string printed by launcher (java -version) 82 static const char* vm_info_string(); 83 static const char* vm_release(); 84 static const char* vm_platform_string(); 85 static const char* vm_build_user(); 86 87 static int vm_major_version() { assert(_initialized, "not initialized"); return _vm_major_version; } 88 static int vm_minor_version() { assert(_initialized, "not initialized"); return _vm_minor_version; } 89 static int vm_build_number() { assert(_initialized, "not initialized"); return _vm_build_number; } 90 91 // Gets the jvm_version_info.jvm_version defined in jvm.h 92 static unsigned int jvm_version(); 93 94 // Internal version providing additional build information 95 static const char* internal_vm_info_string(); 96 static const char* jre_release_version(); |