8179527: Ineffective use of volatile hurts performance of Charset.atBugLevel()

Kazunori Ogata OGATAK at jp.ibm.com
Wed Jun 28 06:20:53 UTC 2017


Hi Christoph,

Thank you for your suggestions and offering to sponsor my changes.

Here is the updated webrev that removes the atBugLevel() definition in 
Charset.java and its call sites in Charset.java and 
Charset-X-Coder.java.template.  Please review this:

http://cr.openjdk.java.net/~horii/8179527/webrev.01/


Regards,
Ogata


"Langer, Christoph" <christoph.langer at sap.com> wrote on 2017/06/28 
03:32:51:

> From: "Langer, Christoph" <christoph.langer at sap.com>
> To: Alan Bateman <Alan.Bateman at oracle.com>, Kazunori Ogata 
<OGATAK at jp.ibm.com>
> Cc: "ppc-aix-port-dev at openjdk.java.net" <ppc-aix-port-
> dev at openjdk.java.net>, Claes Redestad <claes.redestad at oracle.com>, core-
> libs-dev <core-libs-dev at openjdk.java.net>, "nio-dev at openjdk.java.net" 
> <nio-dev at openjdk.java.net>
> Date: 2017/06/28 03:32
> Subject: RE: 8179527: Ineffective use of volatile hurts performance of 
> Charset.atBugLevel()
> 
> 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.Bateman at oracle.com]
> > Sent: Dienstag, 27. Juni 2017 10:13
> > To: Claes Redestad <claes.redestad at oracle.com>; Langer, Christoph
> > <christoph.langer at sap.com>; Kazunori Ogata <OGATAK at jp.ibm.com>;
> > core-libs-dev <core-libs-dev at openjdk.java.net>; 
nio-dev at openjdk.java.net
> > Cc: ppc-aix-port-dev at 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




More information about the core-libs-dev mailing list