[foreign-memaccess+abi] RFR: 8275647: Enable multi-register return values for optimized upcall stubs
Jorn Vernee
jvernee at openjdk.java.net
Tue Nov 9 20:00:56 UTC 2021
On Tue, 2 Nov 2021 19:07:45 GMT, Jorn Vernee <jvernee 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/x86/foreign_globals_x86.cpp line 96:
> 94: }
> 95:
> 96: const CallRegs ForeignGlobals::parse_call_regs_impl(jobject jconv) const {
This is now also moved to shared code.
-------------
PR: https://git.openjdk.java.net/panama-foreign/pull/608
More information about the panama-dev
mailing list