RFR: 8294729: [s390] Implement nmethod entry barriers
Lutz Schmidt
lucy at openjdk.org
Wed Oct 26 20:00:38 UTC 2022
On Fri, 7 Oct 2022 11:14:52 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:
>> One more thing:
>> What's the value range of thread_disarmed? Does it use less than 16 bits in all cases? Then you could exploit a storage-immediate variant of compare if the offset is positive:
>> `z_clfhsi(in_bytes(bs_nm->thread_disarmed_offset()), Z_thread, /* to be patched */ -1);` 4-byte
>> `z_clghsi(in_bytes(bs_nm->thread_disarmed_offset()), Z_thread, /* to be patched */ -1);` 8-byte
>> 2-byte immediate in both cases. Caution: sign extension!
>> No need for a tmp register anymore!
>
> `_nmethod_disarm_value` is 64 bit of which the high order 32 bits are only used on aarch64. Other platforms use a 4 Byte access, so `z_cfi` is correct.
How is the value stored then? Using a 8-byte store? Hopefully...
-------------
PR: https://git.openjdk.org/jdk/pull/10558
More information about the hotspot-dev
mailing list