8179527: Ineffective use of volatile hurts performance of Charset.atBugLevel()
Claes Redestad
claes.redestad at oracle.com
Wed Jun 28 08:57:57 UTC 2017
Looks good to me, pending CSR approval.
Additionally, maybe this is a good opportunity to re-examine the very
similarly implemented sun.nio.ch.bugLevel used in sun.nio.ch.Util and
sun.nio.ch.SelectorImpl?
As a separate bug, of course.
/Claes
On 2017-06-28 08:45, Langer, Christoph wrote:
> Hi Ogata,
>
> this looks fine.
>
> The copyright year in Charset-X-Coder.java.template needs to be updated, but I can do that when I push it.
>
> Waiting for another review...
>
> Best regards
> Christoph
>
>> -----Original Message-----
>> From: Kazunori Ogata [mailto:OGATAK at jp.ibm.com]
>> Sent: Mittwoch, 28. Juni 2017 08:21
>> To: Langer, Christoph <christoph.langer at sap.com>
>> Cc: Alan Bateman <Alan.Bateman at oracle.com>; Claes Redestad
>> <claes.redestad at oracle.com>; core-libs-dev <core-libs-
>> dev at openjdk.java.net>; nio-dev at openjdk.java.net; ppc-aix-port-
>> dev at openjdk.java.net
>> Subject: RE: 8179527: Ineffective use of volatile hurts performance of
>> Charset.atBugLevel()
>>
>> 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 nio-dev
mailing list