On Thu, 20 Apr 2023 19:29:40 GMT, ExE Boss <d...@openjdk.org> wrote:

>> Strip names from the function descriptors used in linkage requests. The 
>> names are not important for classification, and this will allow the cached 
>> MethodHandle/UpcallStubFactory to be shared across linkage request with the 
>> same structure, but with layouts that have different names.
>> 
>> I also have another implementation that avoids copying all the layouts, and 
>> instead re-implemented equals and hashCode in the LinkRequest wrapper: 
>> https://github.com/openjdk/jdk/compare/pr/13079...JornVernee:jdk:NoNameCache 
>> But, this seems too complex. Linking code is not very performance sensitive, 
>> so I instead went with a simpler approach in this patch.
>
> src/java.base/share/classes/jdk/internal/foreign/abi/AbstractLinker.java line 
> 120:
> 
>> 118:         
>> descriptor.argumentLayouts().forEach(AbstractLinker::checkHasNaturalAlignmentRecursive);
>> 119:     }
>> 120:     private static void checkHasNaturalAlignmentRecursive(MemoryLayout 
>> layout) {
> 
> **Nit:** restore deleted line between methods:
> Suggestion:
> 
>     }
> 
>     private static void checkHasNaturalAlignmentRecursive(MemoryLayout 
> layout) {

Yes, I noticed this as well. The PR is still a draft, so I'm still working on 
it.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13562#discussion_r1173034927

Reply via email to