Jim, Paul, Rémi, Mandy,
thank you all for your reviewing and supporting the suggested approach.
/Claes
On 2020-05-22 20:35, Mandy Chung wrote:
Hi Claes,
The change looks good.
I also support the removal of all non-default strategies. The default
strategy has been baked for long enough time and shown solid (the issues
in j.l.invoke quoted already were 2 years old).
Mandy
On 5/22/20 10:28 AM, Paul Sandoz wrote:
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.
Paul.
On May 22, 2020, at 2:52 AM, Claes Redestad<claes.redes...@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