RFR: 8354996: Reduce dynamic code generation for a single downcall [v2]
Maurizio Cimadamore
mcimadamore at openjdk.org
Mon Apr 28 11:53:47 UTC 2025
On Fri, 18 Apr 2025 18:25:54 GMT, Chen Liang <liach at openjdk.org> wrote:
>> Perf numbers for simple main:
>> Linking of `Class::forName0` down from ~152 to ~83
>>
>> For calling little color management system https://bugs.openjdk.org/browse/JDK-8313344:
>> JNI: ~45
>> baseline panama: ~164
>> patch: ~103
>>
>> Also see #24705.
>
> 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/NativeEntryPoint.java line 57:
> 55: if (!(o instanceof CacheKey other)) return false;
> 56:
> 57: return methodType == other.methodType && abi == other.abi && capturedStateMask == other.capturedStateMask
Is this correct? The old code was using `MethodType::equals`, but now we seem to use `==` instead. I suppose the idea is that method types are interned, and their `equals` method is only really meaningful when checking whether a method type with same shape has already been interned?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24742#discussion_r2063500588
More information about the core-libs-dev
mailing list