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

Kazunori Ogata OGATAK at jp.ibm.com
Wed Jun 28 09:27:29 UTC 2017


Hi Christoph,

Thank you for helping me on the CSR.


Hi Peter,

Thank you for pointing out the CSR process. I've learnt.


Regards,
Ogata


"Langer, Christoph" <christoph.langer at sap.com> wrote on 2017/06/28 
17:47:41:

> From: "Langer, Christoph" <christoph.langer at sap.com>
> To: Peter Levart <peter.levart at gmail.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>, 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 17:47
> Subject: RE: 8179527: Ineffective use of volatile hurts performance of 
> Charset.atBugLevel()
> 
> Hi Petar,
> 
> thanks for pointing out the need for the CSR, I thought so too.
> 
> I’ll run through the CSR process… It’ll probably be an interesting 
> learning experience for me as well J
> 
> Best regards
> Christoph
> 
> From: Peter Levart [mailto:peter.levart at gmail.com] 
> Sent: Mittwoch, 28. Juni 2017 10:45
> To: Kazunori Ogata <OGATAK at jp.ibm.com>; Langer, Christoph 
<christoph.langer at sap.com>
> Cc: ppc-aix-port-dev at openjdk.java.net; core-libs-dev <core-libs-
> dev at openjdk.java.net>; nio-dev at openjdk.java.net
> Subject: Re: 8179527: Ineffective use of volatile hurts performance of 
> Charset.atBugLevel()
> 
> Hi Ogata,
> 
> The change looks good.
> 
> But I think this needs to go through CSR. The CSR FAQ page at:
> 
> https://wiki.openjdk.java.net/display/csr/CSR+FAQs
> 
> writes...
> 
> Q: What sort of changes require CSR review?
> A: Any change to a JDK interface meant to be used outside of the JDK 
> itself requires CSR review. In this context "interface" isn't limited to 

> the Java programing language definition of an interface, but encompasses 

> the broader concept of a protocol between the JDK and users of the JDK. 
> Examples of interfaces by this definition include:
> 
>     ...
>     Changing or defining a new system or security property
> 
> 
> The FAQ also writes:
> 
> Q: How do I create a CSR ?
> A: Do not directly create a CSR from the Create Menu. JIRA will let you 
do
> this right up until the moment you try to save it and find your typing 
was in vain.
> Instead you should go to the target bug, select "More", and from the 
drop 
> down menu select "Create CSR". This is required to properly associate 
the 
> CSR with the main bug, just as is done for backports.
> 
> Since Christoph has already volunteered to be your sponsor, you could 
ask 
> him to file the CSR for you. Or I can volunteer to file it (and learn 
how 
> this goes) if Christoph doesn't have the time. It's Christophs call...
> 
> Regards, Peter
> On 06/28/2017 08:20 AM, Kazunori Ogata wrote:
> 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