120 uint8_t update = 0, uint8_t special = 0, uint8_t build = 0, 121 bool thread_park_blocker = false, bool post_vm_init_hook_enabled = false) : 122 _major(major), _minor(minor), _micro(micro), _update(update), 123 _special(special), _build(build), _partially_initialized(false), 124 _thread_park_blocker(thread_park_blocker), 125 _post_vm_init_hook_enabled(post_vm_init_hook_enabled) 126 {} 127 128 // Returns the current running JDK version 129 static JDK_Version current() { return _current; } 130 131 // Factory methods for convenience 132 static JDK_Version jdk(uint8_t m) { 133 return JDK_Version(m); 134 } 135 136 static JDK_Version jdk_update(uint8_t major, uint8_t update_number) { 137 return JDK_Version(major, 0, 0, update_number); 138 } 139 140 uint8_t major_version() const { return _major; } 141 uint8_t minor_version() const { return _minor; } 142 uint8_t micro_version() const { return _micro; } 143 uint8_t update_version() const { return _update; } 144 uint8_t special_update_version() const { return _special; } 145 uint8_t build_number() const { return _build; } 146 147 bool supports_thread_park_blocker() const { 148 return _thread_park_blocker; 149 } 150 bool post_vm_init_hook_enabled() const { 151 return _post_vm_init_hook_enabled; 152 } 153 154 // Performs a full ordering comparison using all fields (update, build, etc.) 155 int compare(const JDK_Version& other) const; 156 157 /** 158 * Performs comparison using only the major version, returning negative 159 * if the major version of 'this' is less than the parameter, 0 if it is | 120 uint8_t update = 0, uint8_t special = 0, uint8_t build = 0, 121 bool thread_park_blocker = false, bool post_vm_init_hook_enabled = false) : 122 _major(major), _minor(minor), _micro(micro), _update(update), 123 _special(special), _build(build), _partially_initialized(false), 124 _thread_park_blocker(thread_park_blocker), 125 _post_vm_init_hook_enabled(post_vm_init_hook_enabled) 126 {} 127 128 // Returns the current running JDK version 129 static JDK_Version current() { return _current; } 130 131 // Factory methods for convenience 132 static JDK_Version jdk(uint8_t m) { 133 return JDK_Version(m); 134 } 135 136 static JDK_Version jdk_update(uint8_t major, uint8_t update_number) { 137 return JDK_Version(major, 0, 0, update_number); 138 } 139 140 static JDK_Version undefined() { 141 return JDK_Version(0); 142 } 143 144 bool is_undefined() const { 145 return (_major == 0); 146 } 147 148 uint8_t major_version() const { return _major; } 149 uint8_t minor_version() const { return _minor; } 150 uint8_t micro_version() const { return _micro; } 151 uint8_t update_version() const { return _update; } 152 uint8_t special_update_version() const { return _special; } 153 uint8_t build_number() const { return _build; } 154 155 bool supports_thread_park_blocker() const { 156 return _thread_park_blocker; 157 } 158 bool post_vm_init_hook_enabled() const { 159 return _post_vm_init_hook_enabled; 160 } 161 162 // Performs a full ordering comparison using all fields (update, build, etc.) 163 int compare(const JDK_Version& other) const; 164 165 /** 166 * Performs comparison using only the major version, returning negative 167 * if the major version of 'this' is less than the parameter, 0 if it is |