RFR: 8166840: Synthetic bridge constructor in ArrayList$Itr blocks inlining
claes.redestad at oracle.com
Wed Sep 28 11:48:37 UTC 2016
as discussed recently on hotspot-compiler-dev, 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
More information about the core-libs-dev