RFR: 8354996: Reduce dynamic code generation for a single downcall
Jorn Vernee
jvernee at openjdk.org
Fri Apr 18 17:52:45 UTC 2025
On Thu, 17 Apr 2025 19:44:07 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.
make/jdk/src/classes/build/tools/classlist/HelloClasslist.java line 190:
> 188: JAVA_BOOLEAN, ADDRESS, ADDRESS);
> 189: Optional<MemorySegment> symbol = lookup.find("Java_java_lang_Class_forName0");
> 190: var _ = linker.downcallHandle(symbol.orElseThrow(), signature);
FWIW, passing just the signature should result in mostly the same code being generated. The address is just attached using MethodHandles::insertArguments.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24742#discussion_r2050929830
More information about the build-dev
mailing list