JDK-8254263 : Remove special_runtime_exit_condition() check from ~ThreadInVMForHandshake()
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 16
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-10-08
  • Updated: 2020-10-26
  • Resolved: 2020-10-14
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 16
16 b21Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
JDK-8223572 added this check to prevent a suspended JavaThread to transition back to java without noticing it was suspended. Since JDK-8238761, a JavaThread executing HandshakeState::process_by_self() will never become safe. It comes from an unsafe state and remains unsafe, so it cannot be suspended during that time. Removing this check also removes one of the reasons SafepointMechanism::process_if_requested() is recursive (the other one remains SafepointSynchronize::block()).

Comments
Changeset: 55d760d4 Author: Patricio Chilano Mateo <pchilanomate@openjdk.org> Date: 2020-10-14 22:15:57 +0000 URL: https://git.openjdk.java.net/jdk/commit/55d760d4
14-10-2020