RFR: 8236850: Operations on constant List/Set.of(element) instances does not consistently constant fold
Remi Forax
forax at univ-mlv.fr
Fri Jan 10 18:47:52 UTC 2020
Seem to be a JIT bug to me,
the fields of Set12 are declared final not @Stable (even if the field storing the instanceof of Set&2 itself is marked @Stable) so there is no reason not not let the constant folding happen.
Rémi
----- Mail original -----
> De: "Claes Redestad" <claes.redestad at oracle.com>
> À: "core-libs-dev" <core-libs-dev at openjdk.java.net>
> Envoyé: Vendredi 10 Janvier 2020 18:01:40
> Objet: RFR: 8236850: Operations on constant List/Set.of(element) instances does not consistently constant fold
> Hi,
>
> this patch ensures operations on constant (static final) single-element
> lists and sets created via List.of(foo) and Set.of(bar) to constant fold
> properly.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8236850
> Webrev: http://cr.openjdk.java.net/~redestad/8236850/open.00
>
> On micros that are set up to test constant folding, e.g.
> sumSizesFinalList, we see improvements around 10-15%.
>
> I also cleaned up and consolidated the heap archiving interaction a
> notch. It was needed in an earlier prototype version of the patch, but
> no longer.. since it's a cleanup I kept the changes.
>
> Testing: tier1-3
>
> Thanks!
>
> /Claes
More information about the core-libs-dev
mailing list