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
