On Thu, 12 Sep 2024 07:13:08 GMT, ExE Boss <d...@openjdk.org> wrote:

>> Some type descriptors are validated against generic utf8 entries, such as 
>> field or method types; we can cache a type descriptor wrapping the content 
>> of the utf8 entry if this entry is ever used as a type descriptor.
>> 
>> This patch is more of a code cleanup; it is performance neutral.
>
> src/java.base/share/classes/jdk/internal/classfile/impl/SplitConstantPool.java
>  line 507:
> 
>> 505:     public MethodTypeEntry methodTypeEntry(MethodTypeDesc descriptor) {
>> 506:         return methodTypeEntry(utf8Entry(descriptor));
>> 507:     }
> 
> This method body can be moved to 
> [`ConstantPoolBuilder​::methodTypeEntry​(MethodTypeDesc)`] and that method be 
> made `default` like [`ConstantPoolBuilder​::classEntry​(ClassDesc)`], 
> [`ConstantPoolBuilder​::packageEntry​(PackageDesc)`], and 
> [`ConstantPoolBuilder​::moduleEntry​(ModuleDesc)`].
> 
> [`ConstantPoolBuilder​::methodTypeEntry​(MethodTypeDesc)`]: 
> https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/classfile/constantpool/ConstantPoolBuilder.html#methodTypeEntry(java.lang.constant.MethodTypeDesc)
> [`ConstantPoolBuilder​::classEntry​(ClassDesc)`]: 
> https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/classfile/constantpool/ConstantPoolBuilder.html#classEntry(java.lang.constant.ClassDesc)
> [`ConstantPoolBuilder​::packageEntry​(PackageDesc)`]: 
> https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/classfile/constantpool/ConstantPoolBuilder.html#packageEntry(java.lang.constant.PackageDesc)
> [`ConstantPoolBuilder​::moduleEntry​(ModuleDesc)`]: 
> https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/classfile/constantpool/ConstantPoolBuilder.html#moduleEntry(java.lang.constant.ModuleDesc)

too lazy to file a csr...

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/20957#discussion_r1756749044

Reply via email to