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 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

Reply via email to