RFR: 8293769: RISC-V: Add a second temporary register for BarrierSetAssembler::load_at
Fei Yang
fyang at openjdk.org
Wed Sep 14 09:04:28 UTC 2022
On Wed, 14 Sep 2022 08:03:12 GMT, Fei Yang <fyang at openjdk.org> wrote:
>> src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp line 318:
>>
>>> 316: __ push_call_clobbered_registers();
>>> 317:
>>> 318: satb_write_barrier_pre(masm, noreg, dst, xthread, tmp, t0, true, false);
>>
>> Is `tmp` not `t0` here? I expected to see `t1` in this diff. Maybe I am missing something.
>
> I don't think 'tmp' is 't0' here since we are asserting they are different registers in ShenandoahBarrierSetAssembler::satb_write_barrier_pre [1]. And I also run non-trivial benchmark work loads like Dacapo, Specjvm and Specjbb using ShenandoahGC with fastdebug build for these changes.
>
> [1] https://github.com/openjdk/jdk/blob/master/src/hotspot/cpu/riscv/gc/shenandoah/shenandoahBarrierSetAssembler_riscv.cpp#L111
PS: Also eyeballed all possible callers of ShenandoahBarrierSetAssembler::satb_write_barrier_pre and I think we are safe here :-)
-------------
PR: https://git.openjdk.org/jdk/pull/10261
More information about the shenandoah-dev
mailing list