RFR: 8222852: Reduce String concat combinator tree shapes by folding constants into prependers
Claes Redestad
claes.redestad at oracle.com
Tue Apr 23 11:05:30 UTC 2019
Hi,
by folding a constant prepend followed by an argument prepend into a
single prepender with the constant bound in, we significantly reduce
the amount of possible MH shapes that the String concat bootstrap
method can generate by sharing the stem of the combinator tree
between similar concatenations like '"foo" + obj + obj' and
'obj + "foo" + obj'.
See bug for details and the outline of a proof that this turns an
exponential growth factor into a constant one.
Bug: https://bugs.openjdk.java.net/browse/JDK-8222852
Webrev: http://cr.openjdk.java.net/~redestad/8222852/open.00/
Testing: tier1-3, verified retained throughput performance in
microbenchmarks, verified significant startup and footprint improvements
for both realistic and synthetically complex combinations of argument
shapes.
Thanks!
/Claes
More information about the core-libs-dev
mailing list