RFR: 8286301: Port JEP 425 to RISC-V [v2]

Fei Yang fyang at openjdk.org
Thu Nov 3 02:01:48 UTC 2022


On Tue, 1 Nov 2022 14:00:36 GMT, Feilong Jiang <fjiang at openjdk.org> wrote:

>> Fei Yang has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Fix
>
> src/hotspot/cpu/riscv/frame_riscv.inline.hpp line 388:
> 
>> 386:   }
>> 387:   if (is_upcall_stub_frame()) {
>> 388:     return sender_for_upcall_stub_frame(map);
> 
> looks like it's Foreign API related, do we need to introduce it in this pr?

Let's keep it there as Foreign-API RISC-V port is almost ready there.

> src/hotspot/cpu/riscv/nativeInst_riscv.hpp line 558:
> 
>> 556: 
>> 557: class NativePostCallNop: public NativeInstruction {
>> 558: public:
> 
> could you add some comments for NativePostCallNop just like aarch64 did?

As I mentioned in PR description, implementation for Post-call NOPs optimization is not incorporated in this PR. We will add necessary comments when we add Post-call NOPs optimization in another separate PR.

> src/hotspot/cpu/riscv/riscv.ad line 2461:
> 
>> 2459:     __ bnez(flag, no_count);
>> 2460: 
>> 2461:     __ ld(tmp, Address(xthread, JavaThread::held_monitor_count_offset()));
> 
> can we just use `incremnet(Address(xthread, JavaThread::held_monitor_count_offset()))` here?

Note that increment/decrement may clobber 't1' register in certain cases which will conflict with the "flag" which aliases 't1' here. It will be safer to use the 'tmp' register here in this context.

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

PR: https://git.openjdk.org/jdk/pull/10917


More information about the hotspot-dev mailing list