hg: amber/amber: more api notes
Jim Laskey
james.laskey at oracle.com
Thu Jan 31 10:48:38 UTC 2019
Nice observation.
Sent from my iPad
> On Jan 31, 2019, at 2:53 AM, Remi Forax <forax at univ-mlv.fr> wrote:
>
> Jim, Hannes,
> one way to avoid detecting if the Locale change or not at runtime is to use a SwitchPoint when getting/setting the Locale (the Locale will becomes a constant until the next call to setLocale) and then reuse this SwitchPoint when creating the method handle chain depending on the format.
>
> The code should also include a counter that count the number of setLocale calls because if setLocale is called too often, in term of perf it's better to avoid using a SwitchPoint in that case.
>
> Rémi
>
> ----- Mail original -----
>> De: "Jim Laskey" <james.laskey at oracle.com>
>> À: "Vicente Romero" <vicente.romero at oracle.com>, "Hannes Wallnöfer" <hannes.wallnoefer at oracle.com>
>> Cc: "amber-dev" <amber-dev at openjdk.java.net>
>> Envoyé: Jeudi 31 Janvier 2019 02:19:27
>> Objet: Re: hg: amber/amber: more api notes
>
>> In the BSM.
>>
>> There are certain basic format specifiers, such as %s, that are independent of
>> locale and can bypass checks. Other formats, such as %f, back off short cuts
>> (mh guardWithTest) and use Formatter with locale if the user changes the locale
>> or the default locale.
>>
>> Hannes can elaborate.
>>
>> Sent from my iPhone
>>
>>> On Jan 30, 2019, at 8:56 PM, Vicente Romero <vicente.romero at oracle.com> wrote:
>>>
>>> Hi Jim,
>>>
>>>> On 1/30/19 4:22 AM, James Laskey wrote:
>>>> Not quite true. We were very careful here. It depends on the runtime default
>>>> locale. And, if the default locale changes then the MethodHandle code reverts
>>>> to using the Formatter implementation.
>>>
>>> I didn't understand this quite well, when you say: `if the default locale
>>> changes`, I think that you are referring to a different locale between
>>> compilation and execution time right? Where in the code is the fall-back to
>>> Formatter's implementation?
>>>
>>> Thanks,
>>> Vicente
>>>
>>>>
>>>> The apiNote for Objects.hash might be too detailed.
>>>>
>>>> Cheers,
>>>>
>>>> — Jim
>>>>
>>>> Sent from my iPhone
>>>>
>>>>> On Jan 29, 2019, at 10:58 PM, vicente.romero at oracle.com wrote:
>>>>>
>>>>> Changeset: 7393d04a0b90
>>>>> Author: vromero
>>>>> Date: 2019-01-29 20:52 -0500
>>>>> URL: http://hg.openjdk.java.net/amber/amber/rev/7393d04a0b90
>>>>>
>>>>> more api notes
>>>>>
>>>>> ! src/java.base/share/classes/java/io/PrintStream.java
>>>>> ! src/java.base/share/classes/java/io/PrintWriter.java
>>>>> ! src/java.base/share/classes/java/lang/String.java
>>>>> ! src/java.base/share/classes/java/lang/compiler/IntrinsicCandidate.java
>>>>> ! src/java.base/share/classes/java/util/Objects.java
>>>>>
More information about the amber-dev
mailing list