RFR: 8166840: Synthetic bridge constructor in ArrayList$Itr blocks inlining
Ivan Gerasimov
ivan.gerasimov at oracle.com
Wed Sep 28 16:00:15 UTC 2016
Hi Claes!
I can handle the backport.
With kind regards,
Ivan
On 28.09.2016 17:37, Claes Redestad wrote:
> I dealt with this in isolation deliberately to ease backporting, but I
> don't have the 8u committer rights to do it myself.
>
> /Claes
>
> On 2016-09-28 16:27, Vitaly Davidovich wrote:
>> Thanks Claes - this is an annoying one!
>>
>> Will it be backported to 8?
>>
>> On Wednesday, September 28, 2016, Claes Redestad
>> <claes.redestad at oracle.com <mailto:claes.redestad at oracle.com>> wrote:
>>
>> 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
>> <https://bugs.openjdk.java.net/browse/JDK-8166840>
>> Webrev:
>> http://cr.openjdk.java.net/~redestad/8166840/webrev.01/
>> <http://cr.openjdk.java.net/%7Eredestad/8166840/webrev.01/>
>>
>> Thanks!
>>
>> /Claes
>>
>> [1]
>>
>> http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/2016-September/024407.html
>> <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
>> <http://www.oracle.com/commitment>> Oracle is
>> committed to developing
>> practices and products that help protect the environment
>>
>>
>>
>>
>> --
>> Sent from my phone
>
>
More information about the core-libs-dev
mailing list