RFR: 8354996: Reduce dynamic code generation for a single downcall [v2]
Chen Liang
liach at openjdk.org
Tue Apr 22 14:57:48 UTC 2025
On Tue, 22 Apr 2025 08:03:19 GMT, Viktor Klang <vklang at openjdk.org> wrote:
>> Chen Liang has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Simplify FFM linker warmup
>
> src/java.base/share/classes/jdk/internal/foreign/abi/AbstractLinker.java line 78:
>
>> 76: @Override
>> 77: public boolean equals(Object obj) {
>> 78: return obj instanceof LinkRequest other &&
>
> Might be worth checking `obj == this || obj instanceof ...`
No. We are always using `new LinkRequest` so this "fast path" will 100% miss.
> src/java.base/share/classes/jdk/internal/foreign/abi/NativeEntryPoint.java line 56:
>
>> 54: public boolean equals(Object o) {
>> 55: if (!(o instanceof CacheKey other)) return false;
>> 56:
>
> Might be worth checking `o == this`
Always used with `new CacheKey` in `NativeEntryPoint.make`, no benefit too.
> src/java.base/share/classes/jdk/internal/foreign/abi/VMStorage.java line 55:
>
>> 53: @Override
>> 54: public boolean equals(Object obj) {
>> 55: return obj instanceof VMStorage that &&
>
> Might be worth checking `obj == this || obj instanceof ...`
This one seems created each time when a particular downcall function shape is requested too; so no point of identity checks either.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24742#discussion_r2054294141
PR Review Comment: https://git.openjdk.org/jdk/pull/24742#discussion_r2054300716
PR Review Comment: https://git.openjdk.org/jdk/pull/24742#discussion_r2054299075
More information about the core-libs-dev
mailing list