The implementation for honoring the system property "sun.nio.ch.bugLevel" uses the same pattern as was used for "sun.nio.cs.bugLevel". The method sun.nio.ch.Util.atBugLevel() returns a value that is stored in a volatile field. The synchronization efforts that "volatile" implies can significantly harm performance on some platforms.
WithJDK-8182743, the handling for "sun.nio.cs.bugLevel" has been removed completely. Although "sun.nio.ch.bugLevel" is probably not queried at performance relevant places, such as the former was, the aim of this bug is to try to remove this as well or at least get rid of the volatile.
With
- csr for
-
JDK-8184742 Remove sun.nio.ch.Util.atBugLevel() either completely or at least get rid of volatile field bugLevel
-
- Closed
-
- relates to
-
JDK-8182743 Ineffective use of volatile hurts performance of Charset.atBugLevel()
-
- Resolved
-