RFR: 8245455: Remove alternative StringConcatFactory strategies
Remi Forax
forax at univ-mlv.fr
Fri May 22 17:59:26 UTC 2020
----- Mail original -----
> De: "Paul Sandoz" <paul.sandoz at oracle.com>
> À: "Claes Redestad" <claes.redestad at oracle.com>
> Cc: "core-libs-dev" <core-libs-dev at openjdk.java.net>
> Envoyé: Vendredi 22 Mai 2020 19:28:39
> Objet: Re: RFR: 8245455: Remove alternative StringConcatFactory strategies
> Hi,
>
> I support the removal of all the other strategies to simplify SCF and make it
> more maintainable.
>
> Having one or more strategies to fall back on (with an undocumented flag) was I
> think right thing to do when initially introducing the feature. Over time, the
> default strategy has become more and more robust where as the others have
> languished due to their lack of exposure and development focus, decreasing my
> confidence they would not introduce different issues if enabled.
>
> It’s a judgement call but I think maturation of this feature has tipped in favor
> of the simplification provided by Claes’s patch.
I agree with Claes and Paul,
an indy + its metafactory is like a new opcode in the bytecode,
the VM doesn't maintain several implementations of a bytecode.
>
> Paul.
Rémi
>
>
>> On May 22, 2020, at 2:52 AM, Claes Redestad <claes.redestad at oracle.com> wrote:
>>
>> Hi,
>>
>> this patch removes the alternative, undocumented strategies from
>> StringConcatFactory.
>>
>> The default strategy has been optimized and stabilized since inception in JDK 9,
>> while the alternative strategies have been falling behind
>> both in terms of performance and stability - while adding maintenance
>> cost.
>>
>> The removal allows some simplifications to the code that will reduce
>> per callsite bootstrap overhead, and reduce what we need to load eagerly
>> during bootstrap. I've also applied the pattern from JDK-8218173 to
>> the remaining Stringifier method handles, which further improve
>> robustness of bootstrapping under an OOME condition.
>>
>> Webrev: http://cr.openjdk.java.net/~redestad/8245455/open.00/
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8245455
>>
>> Testing: tier1-3
>>
>> Thanks!
>>
> > /Claes
More information about the core-libs-dev
mailing list