[foreign-memaccess+abi] RFR: 8275647: Enable multi-register return values for optimized upcall stubs

Jorn Vernee jvernee at openjdk.java.net
Tue Nov 16 20:29:58 UTC 2021


On Tue, 16 Nov 2021 19:06:54 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:

>> Hi,
>> 
>> After we've added multi-register return support to native invokers, this patch does the same for optimized upcall stubs. The strategy is very similar: the caller (in this case the upcall stub) allocates a return buffer in which the return values are stored, and then after the upcall shuffles the return values from the buffer into the right registers.
>> 
>> This patch also removes the buffered invocation strategy for upcalls, and all related code, such as BufferLayout.
>> 
>> ~Note, in it's current state this patch will disable regress AArch64 since optimized upcalls are not implemented there yet. i.e. this PR is blocked by: https://bugs.openjdk.java.net/browse/JDK-8275646~
>> 
>> Jorn
>
> src/hotspot/cpu/arm/universalUpcallHandle_arm.cpp line 28:
> 
>> 26: #include "utilities/debug.hpp"
>> 27: 
>> 28: address ProgrammableUpcallHandler::generate_optimized_upcall_stub(jobject receiver, Method* entry,
> 
> is the name "optimized" still carrying meaning in the new VM code?

Not really, but I thought I'd save the renaming for: https://bugs.openjdk.java.net/browse/JDK-8275648

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

PR: https://git.openjdk.java.net/panama-foreign/pull/608


More information about the panama-dev mailing list