Re: RFR: 8166840: Synthetic bridge constructor in ArrayList$Itr blocks inlining

2016-09-30 Thread Stuart Marks
On 9/28/16 4:48 AM, Claes Redestad wrote: 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

Re: RFR: 8166840: Synthetic bridge constructor in ArrayList$Itr blocks inlining

2016-09-28 Thread John Rose
On Sep 28, 2016, at 7:40 AM, Krystal Mok wrote: > > Let me post out the HotSpot version of the change and let you guys decide > whether or not you guys want to take that version (which will take care of > the ArrayList$1 case without the JDK-side change). My advice is: Both/and. IMO the presen

Re: RFR: 8166840: Synthetic bridge constructor in ArrayList$Itr blocks inlining

2016-09-28 Thread Ivan Gerasimov
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 Cl

Re: RFR: 8166840: Synthetic bridge constructor in ArrayList$Itr blocks inlining

2016-09-28 Thread Claes Redestad
Hi Kris, right, I don't intend to meander away on a micro-optimization spree and chase down every case where we're hurt by this corner case in the JDK and elsewhere (I did check that other core collection classes aren't affected, though ;-)), but to get this simple and possibly high-impact qu

Re: RFR: 8166840: Synthetic bridge constructor in ArrayList$Itr blocks inlining

2016-09-28 Thread Vitaly Davidovich
On Wed, Sep 28, 2016 at 10:37 AM, 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. > Right. The change seems trivial enough that backporting would be easy. Who could make the decision on that? >

Re: RFR: 8166840: Synthetic bridge constructor in ArrayList$Itr blocks inlining

2016-09-28 Thread Vladimir Ivanov
Looks good. Best regards, Vladimir Ivanov On 9/28/16 2:48 PM, Claes Redestad wrote: 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 un

Re: RFR: 8166840: Synthetic bridge constructor in ArrayList$Itr blocks inlining

2016-09-28 Thread Claes Redestad
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

Re: RFR: 8166840: Synthetic bridge constructor in ArrayList$Itr blocks inlining

2016-09-28 Thread Krystal Mok
Hi Claes, For this particular case, this JDK-side change looks good to me. Let me post out the HotSpot version of the change and let you guys decide whether or not you guys want to take that version (which will take care of the ArrayList$1 case without the JDK-side change). Thanks, Kris On Wed,

Re: RFR: 8166840: Synthetic bridge constructor in ArrayList$Itr blocks inlining

2016-09-28 Thread Vitaly Davidovich
Thanks Claes - this is an annoying one! Will it be backported to 8? On Wednesday, September 28, 2016, Claes Redestad 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

Re: RFR: 8166840: Synthetic bridge constructor in ArrayList$Itr blocks inlining

2016-09-28 Thread Claes Redestad
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 wrote: Hi Claes, yes please. Thumbs up. :-) Best, Michael Am 28.09.2016 um 13:48 schrieb Claes Redestad : Hi, as discussed rece

Re: RFR: 8166840: Synthetic bridge constructor in ArrayList$Itr blocks inlining

2016-09-28 Thread Remi Forax
yes, thumb up. Rémi On September 28, 2016 1:51:18 PM GMT+02:00, Michael Haupt wrote: >Hi Claes, > >yes please. Thumbs up. :-) > >Best, > >Michael > >> Am 28.09.2016 um 13:48 schrieb Claes Redestad >: >> >> Hi, >> >> as discussed recently on hotspot-compiler-dev[1], having a private >class wi

Re: RFR: 8166840: Synthetic bridge constructor in ArrayList$Itr blocks inlining

2016-09-28 Thread Michael Haupt
Hi Claes, yes please. Thumbs up. :-) Best, Michael > Am 28.09.2016 um 13:48 schrieb Claes Redestad : > > 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

RFR: 8166840: Synthetic bridge constructor in ArrayList$Itr blocks inlining

2016-09-28 Thread Claes Redestad
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