RFR: 8295302: Do not use ArrayList when LambdaForm has a single ClassData [v2]
Ioi Lam
iklam at openjdk.org
Mon Oct 17 22:07:05 UTC 2022
On Fri, 14 Oct 2022 17:12:51 GMT, Mandy Chung <mchung at openjdk.org> wrote:
>> src/java.base/share/classes/java/lang/invoke/InvokerBytecodeGenerator.java line 291:
>>
>>> 289: final List<ClassData> cd = classData;
>>> 290: return switch(cd.size()) {
>>> 291: case 0 -> null;
>>
>> `List.of()` always returns the same singleton instance and does not cause any object allocation. I prefer to keep the `classDataValues()` to return `List<Object>`
>
> Ah, I now see why you have to change the signature because of the single element case. I made my comment too quickly.
>
> A couple of suggestions:
> Please add a javadoc for this method to describe what this method returns for different cases. It's better to move this method close to `clinit` as they are tightly coupled.
I moved the method and added in javadoc. Could you check if the wording is OK?
-------------
PR: https://git.openjdk.org/jdk/pull/10706
More information about the core-libs-dev
mailing list