RFR: 8163370: Reduce number of classes loaded by common usage of java.lang.invoke
Claes Redestad
claes.redestad at oracle.com
Tue Aug 9 12:28:46 UTC 2016
On 2016-08-09 14:31, Ivan Gerasimov wrote:
> Hi Claes!
>
> src/java.base/share/classes/sun/invoke/util/ValueConversions.java:
>
> 43 /** EnumMap uses preconstructed array internally, which
> is constant during it's lifetime. */
> 44 @Stable
> 45 private final MethodHandle[] map = new
> MethodHandle[Wrapper.COUNT];
>
> The comment at line 43 seems outdated.
Removed and updated in-place:
http://cr.openjdk.java.net/~redestad/8163370/webrev/
Thanks!
/Claes
>
> With kind regards,
> Ivan
>
> On 09.08.2016 15:04, Claes Redestad wrote:
>> Hi,
>>
>> please review this set of small changes to reduce the number of
>> classes defined and pulled in when initializing java.lang.invoke
>>
>> Webrev: http://cr.openjdk.java.net/~redestad/8163370/webrev/
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8163370
>>
>> - Using an EnumMap<Wrapper, MethodHandle> in
>> sun.misc.invoke.ValueConversions pulls in 5 EnumMap-related classes, and
>> - Using result.addAll(Arrays.asList(buf).subList(0, bufCount)) rather
>> than a simple for-loop pulls in 5 classes
>> - A few private enum classes can profitably be replaced with
>> alternative logic, removing 4 classes
>>
>> Thanks!
>>
>> /Claes
>>
>
More information about the core-libs-dev
mailing list