Integrated: 8288011: StringConcatFactory: Split application of stringifiers

Claes Redestad redestad at openjdk.org
Mon Jun 20 11:59:17 UTC 2022


On Wed, 8 Jun 2022 10:20:37 GMT, Claes Redestad <redestad at openjdk.org> wrote:

> To take optimal advantage of the pre-existing optimization for repeated filters we could split the application of different types of stringifiers.
> 
> The resulting difference in order of evaluation is not observable by conventional means since all reference type share the same object stringifier, and the others are filtering primitives (floats and doubles) which have been passed by value already. 
> 
> This change neutral on many concatenation expression shapes, but for any complex expressions with interleaving float/double and reference parameters it brings a straightforward reduction in rebinds and underlying LFs generated. For example on the [MixedStringCombinations.java](https://urldefense.com/v3/__https://gist.github.com/cl4es/08fb581dece3a73e89bfa52337bc4248__;!!ACWV5N9M2RV99hQ!N8f88zl1gqIUZjyrdSYuxItI-Tx-H8jXe5t5lUWldrNkmotWJ-mSsapozJWvv7yUDLomQy451gUTYnBRpKQ-TA9WAg$ ) test there's a modest 2% reduction in total classes loaded with this change (from 16209 to 15872)

This pull request has now been integrated.

Changeset: 5cdb4b19
Author:    Claes Redestad <redestad at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/5cdb4b196047d4f2d69df0fc73102c102bf042f7
Stats:     38 lines in 1 file changed: 23 ins; 5 del; 10 mod

8288011: StringConcatFactory: Split application of stringifiers

Reviewed-by: jvernee, mchung

-------------

PR: https://git.openjdk.org/jdk/pull/9082


More information about the core-libs-dev mailing list