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