JDK-8272788 : Nonleaf ranked locks should not be safepoint_check_never
  • Type: Sub-task
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 18
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2021-08-20
  • Updated: 2021-09-01
  • Resolved: 2021-09-01
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 18
18 masterFixed
Description
The safepoint_check_never locks should be lower in the lock rank hierarchy and shouldn't be nonleaf.  Making them nonleaf implies that other safepoint checking locks can be taken out while they are held, which sort of invites the question of why these locks are safepoint_check_never.  If they can't safepoint, why can we safepoint while they're being held?
I think the ranks were chosen for these locks out of convenience, ie, was just a guess and it worked because other locks taken after these locks were also safepoint_check_never locks.
Comments
Changeset: 9689f615 Author: Coleen Phillimore <coleenp@openjdk.org> Date: 2021-09-01 18:39:10 +0000 URL: https://git.openjdk.java.net/jdk/commit/9689f615206e96f17ffc1fe7a8efeee0a90c904b
01-09-2021