JDK-8212827 : GlobalCounter should support nested critical sections
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 12
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2018-10-23
  • Updated: 2019-05-28
  • Resolved: 2018-10-30
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 12
12 b18Fixed
Related Reports
Blocks :  
Relates :  
Description
GlobalCounter presently does not support nesting of critical sections.  This can limit its use or lead to contorted usage to avoid nesting.  Since supporting nesting is straight-forward and not very expensive, we should add this feature.

An example of a potential problem is JDK-8212826, which proposes to replace the use of an "access" rank lock with a lock-free algorithm that uses GlobalCounter. The lock involved is "access" rank because it can be needed in fairly arbitrary contexts, e.g. anywhere where an Access barrier is needed. Without nesting support, such a use of a GlobalCounter critical section would prevent the use of Access within another critical section.  That would be a very unpleasant restriction.