RFR: 8340241: RISC-V: Returns mispredicted [v10]

Robbin Ehn rehn at openjdk.org
Tue Oct 15 07:09:11 UTC 2024


On Tue, 15 Oct 2024 06:20:40 GMT, Fei Yang <fyang at openjdk.org> wrote:

>> Robbin Ehn has updated the pull request incrementally with two additional commits since the last revision:
>> 
>>  - Fixed no explicit use of default t1
>>  - Revert clinit_barrier t1
>
> src/hotspot/cpu/riscv/vtableStubs_riscv.cpp line 184:
> 
>> 182:   const Register temp_reg           = x28;
>> 183:   const Register temp_reg2          = x29;
>> 184:   const Register icdata_reg         = t0;
> 
> It seems to me quite risky to let `t0` hold CompiledICData. Here for this case, the `__ increment(Address(x18));` at L166 would clobber `t0` implicitly. I am wondering if we have another choice.
> 
> (Or maybe we can move `t0` which holds CompiledICData to `t1` on entry and use `t1` afterwards like before?)

Yes, I think I like that, thanks.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/21406#discussion_r1800574247


More information about the hotspot-dev mailing list