72 uint8_t _minor; |
72 uint8_t _minor; |
73 uint8_t _security; |
73 uint8_t _security; |
74 uint8_t _patch; |
74 uint8_t _patch; |
75 uint8_t _build; |
75 uint8_t _build; |
76 |
76 |
77 bool _thread_park_blocker; |
|
78 bool _post_vm_init_hook_enabled; |
|
79 |
|
80 bool is_valid() const { |
77 bool is_valid() const { |
81 return (_major != 0); |
78 return (_major != 0); |
82 } |
79 } |
83 |
80 |
84 // initializes or partially initializes the _current static field |
81 // initializes or partially initializes the _current static field |
85 static void initialize(); |
82 static void initialize(); |
86 |
83 |
87 public: |
84 public: |
88 |
85 |
89 JDK_Version() : _major(0), _minor(0), _security(0), _patch(0), _build(0), |
86 JDK_Version() : |
90 _thread_park_blocker(false), _post_vm_init_hook_enabled(false) |
87 _major(0), _minor(0), _security(0), _patch(0), _build(0) |
91 {} |
88 {} |
92 |
89 |
93 JDK_Version(uint8_t major, uint8_t minor = 0, uint8_t security = 0, |
90 JDK_Version(uint8_t major, uint8_t minor = 0, uint8_t security = 0, |
94 uint8_t patch = 0, uint8_t build = 0, |
91 uint8_t patch = 0, uint8_t build = 0) : |
95 bool thread_park_blocker = false, bool post_vm_init_hook_enabled = false) : |
92 _major(major), _minor(minor), _security(security), _patch(patch), _build(build) |
96 _major(major), _minor(minor), _security(security), _patch(patch), _build(build), |
|
97 _thread_park_blocker(thread_park_blocker), |
|
98 _post_vm_init_hook_enabled(post_vm_init_hook_enabled) |
|
99 {} |
93 {} |
100 |
94 |
101 // Returns the current running JDK version |
95 // Returns the current running JDK version |
102 static JDK_Version current() { return _current; } |
96 static JDK_Version current() { return _current; } |
103 |
97 |
117 uint8_t major_version() const { return _major; } |
111 uint8_t major_version() const { return _major; } |
118 uint8_t minor_version() const { return _minor; } |
112 uint8_t minor_version() const { return _minor; } |
119 uint8_t security_version() const { return _security; } |
113 uint8_t security_version() const { return _security; } |
120 uint8_t patch_version() const { return _patch; } |
114 uint8_t patch_version() const { return _patch; } |
121 uint8_t build_number() const { return _build; } |
115 uint8_t build_number() const { return _build; } |
122 |
|
123 bool supports_thread_park_blocker() const { |
|
124 return _thread_park_blocker; |
|
125 } |
|
126 bool post_vm_init_hook_enabled() const { |
|
127 return _post_vm_init_hook_enabled; |
|
128 } |
|
129 |
116 |
130 // Performs a full ordering comparison using all fields (patch, build, etc.) |
117 // Performs a full ordering comparison using all fields (patch, build, etc.) |
131 int compare(const JDK_Version& other) const; |
118 int compare(const JDK_Version& other) const; |
132 |
119 |
133 /** |
120 /** |