RFR: 8294729: [s390] Implement nmethod entry barriers [v13]
Martin Doerr
mdoerr at openjdk.org
Fri Oct 28 10:50:33 UTC 2022
On Thu, 27 Oct 2022 22:28:16 GMT, Tyler Steele <tsteele at openjdk.org> wrote:
>> src/hotspot/cpu/s390/gc/shared/barrierSetAssembler_s390.cpp line 178:
>>
>>> 176: // Class loader is weak. Determine whether the holder is still alive.
>>> 177: __ z_lg(Z_R1_scratch, in_bytes(ClassLoaderData::holder_offset()), Z_R0_scratch);
>>> 178: __ resolve_weak_handle(Address(Z_R1_scratch), Z_R1_scratch, Z_R0_scratch, Z_R2);
>>
>> You're killing R2 which contains the 1st argument.
>
> I also thought this might draw some attention. Is there a better register to use, or will I simply have to save & restore the value of whichever register I choose?
Using R0 and R1 implicitly is ok, because they are scratch regs. Other regs should get passed by argument. There's already a tmp reg where the barrier is inserted which you can simply pass.
-------------
PR: https://git.openjdk.org/jdk/pull/10558
More information about the hotspot-dev
mailing list