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