Hi Ogata, I think I agree with Alan that the Charset.atBugLevel() method can completely be eliminated from java/nio/charset.
Ogata, would you respin your change to remove it and post it for review? I can then sponsor it for you. @Alan: Do we need a CSR ("Compatibility & Specification Review") request here since support for "sun.nio.cs.bugLevel" will be removed? Best regards Christoph > -----Original Message----- > From: Alan Bateman [mailto:alan.bate...@oracle.com] > Sent: Dienstag, 27. Juni 2017 10:13 > To: Claes Redestad <claes.redes...@oracle.com>; Langer, Christoph > <christoph.lan...@sap.com>; Kazunori Ogata <oga...@jp.ibm.com>; > core-libs-dev <core-libs-dev@openjdk.java.net>; nio-...@openjdk.java.net > Cc: ppc-aix-port-...@openjdk.java.net > Subject: Re: 8179527: Ineffective use of volatile hurts performance of > Charset.atBugLevel() > > On 27/06/2017 08:36, Claes Redestad wrote: > > > > The check of Charset.atBugLevel in checkName should no longer happen > > for the majority of situations, as that test is now only done if the > > charset name is "" (see > > https://bugs.openjdk.java.net/browse/JDK-8174831), > Kazunori's mail didn't mention the JDK build he is using, it may have > been JDK 8 rather than JDK 9. > > > since what differs between 1.4 and 1.5 was apparently whether or not > > the empty string was to be accepted as a valid Charset... > > > > So yes, if we can get rid of the test altogether, we'll be even better > > off! > JDK-4786884 is the original issue. If there was any code dependent on > the broken behavior in 1.4 then I would expect it should have been fixed > by now. So I think it can be removed. > > -Alan