RFR: 8303040: linux PPC64le: Implementation of Foreign Function & Memory API (Preview) [v24]

Martin Doerr mdoerr at openjdk.org
Wed May 10 11:26:37 UTC 2023


On Fri, 28 Apr 2023 13:18:27 GMT, Richard Reingruber <rrich at openjdk.org> wrote:

>> Martin Doerr has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Revert unintended formatting changes. Fix comment.
>
> src/hotspot/cpu/ppc/upcallLinker_ppc.cpp line 236:
> 
>> 234:   __ block_comment("{ receiver ");
>> 235:   __ load_const_optimized(R3_ARG1, (intptr_t)receiver, R0);
>> 236:   __ resolve_jobject(R3_ARG1, tmp, R31, MacroAssembler::PRESERVATION_FRAME_LR_GP_FP_REGS); // kills R31
> 
> As a simplification the receiver could be resolved in `UpcallLinker::on_entry` and returned in `JavaThread::_vm_result`.

This sounds like a nice enhancement proposal for all platforms. The register spilling code in `resolve_jobject` can get lengthy dependent on the selected GC. Doing it in the C code (which we call anyway above) would make the upcall stubs smaller.
@JornVernee: What do you think about this idea?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/12708#discussion_r1189763910


More information about the core-libs-dev mailing list