hg: amber/amber: more api notes

Remi Forax forax at univ-mlv.fr
Thu Jan 31 06:53:17 UTC 2019


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