On Wed, 10 May 2023 11:23:04 GMT, Martin Doerr <mdo...@openjdk.org> wrote:

>> 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?

Seems like a nice idea. The resolution here pre-dates the time where we called 
into the VM.

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

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

Reply via email to