RFR: 8166840: Synthetic bridge constructor in ArrayList$Itr blocks inlining
Claes Redestad
claes.redestad at oracle.com
Wed Sep 28 12:20:44 UTC 2016
Thanks for the quick reviews!
/Claes
On 2016-09-28 14:14, Remi Forax wrote:
> yes,
> thumb up.
>
> Rémi
>
>
> On September 28, 2016 1:51:18 PM GMT+02:00, Michael Haupt <michael.haupt at oracle.com> wrote:
>> Hi Claes,
>>
>> yes please. Thumbs up. :-)
>>
>> Best,
>>
>> Michael
>>
>>> Am 28.09.2016 um 13:48 schrieb Claes Redestad
>> <claes.redestad at oracle.com>:
>>> Hi,
>>>
>>> as discussed recently on hotspot-compiler-dev[1], having a private
>> class with no default constructor can lead to C2 failing to inline, due
>> to the synthetic bridge constructor using a dummy argument of an
>> uninitialized class. This is really a problem in C2, as well as
>> something which could ultimately be resolved by nestmates...
>>> However, there is an easy workaround in adding an empty
>> package-private constructor. In the most recently found case - a
>> microbenchmark stressing MethodHandles.iteratedLoop - adding this to
>> ArrayList$Itr lead to a 2.5-3x speedup.
>>> This is me asking nicely to do a quick-fix for this in
>> java.util.ArrayList$Itr now:
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8166840
>>> Webrev: http://cr.openjdk.java.net/~redestad/8166840/webrev.01/
>>>
>>> Thanks!
>>>
>>> /Claes
>>>
>>> [1]
>> http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2016-September/024407.html
>>
>> --
>>
>> <http://www.oracle.com/>
>> Dr. Michael Haupt | Principal Member of Technical Staff
>> Phone: +49 331 200 7277 | Fax: +49 331 200 7561
>> Oracle Java Platform Group | LangTools Team | Nashorn
>> Oracle Deutschland B.V. & Co. KG | Schiffbauergasse 14 | 14467 Potsdam,
>> Germany
>>
>> ORACLE Deutschland B.V. & Co. KG | Hauptverwaltung: Riesstraße 25,
>> D-80992 München
>> Registergericht: Amtsgericht München, HRA 95603
>>
>> Komplementärin: ORACLE Deutschland Verwaltung B.V. | Hertogswetering
>> 163/167, 3543 AS Utrecht, Niederlande
>> Handelsregister der Handelskammer Midden-Nederland, Nr. 30143697
>> Geschäftsführer: Alexander van der Ven, Jan Schultheiss, Val Maher
>> <http://www.oracle.com/commitment> Oracle is committed to developing
>> practices and products that help protect the environment
More information about the core-libs-dev
mailing list