On Wed, 21 Oct 2026 22:32:04 GMT, Martin Doerr <[email protected]> wrote:

> I think these corner cases can be handled by the call arranger. Passing FP 
> arguments in GP regs is something that Windows/x64 does as well (see the 
> VARARG_FLOAT case). I don't think a C2 intrinsic should have support for that 
> directly. Again, out of the two, implementing in Java code is preferable.

A side note: I've looked at the Windows/x64 implementation. It also has extra 
code in the backend: 
https://github.com/openjdk/jdk/blob/90b85888e116445129b43727b07e2108ab098588/src/hotspot/cpu/x86/foreignGlobals_x86_64.cpp#L146
Similar to what we do for PPC64:
https://github.com/openjdk/jdk/blob/90b85888e116445129b43727b07e2108ab098588/src/hotspot/cpu/ppc/foreignGlobals_ppc.cpp#L142
(Main difference is that PPC64 needs to handle different sizes like aarch64.)

We may want to implement the new faster native entry point only for simpler 
cases (all arguments passed in registers without varargs). The terrible stuff 
can be handled by the existing stubs. But, that should better be discussed 
separately.

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

PR Comment: https://git.openjdk.org/jdk/pull/33417#issuecomment-6424746153

Reply via email to