----- Mail original ----- > De: "Paul Sandoz" <paul.san...@oracle.com> > À: "Claes Redestad" <claes.redes...@oracle.com> > Cc: "core-libs-dev" <core-libs-dev@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.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