RFR: 8354996: Reduce dynamic code generation for a single downcall
Jorn Vernee
jvernee at openjdk.org
Fri Apr 18 18:17:46 UTC 2025
On Fri, 18 Apr 2025 17:56:53 GMT, Chen Liang <liach at openjdk.org> wrote:
>> 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.
>
> So just `Linker.nativeLinker().downcallHandle(MemorySegment.ofArray(new byte[0]), signature)` suffices?
Yes, that would work, but I was thinking just `Linker.nativeLinker().downcallHandle(signature)`
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24742#discussion_r2050958874
More information about the build-dev
mailing list